1. A computer-implemented method for providing a user interface of a software application, the method comprising: receiving, by a server and from a client device, a request to enable a user to perceive the user interface of the software application; in response to receiving the request, selecting, by the server, a user interface expression for the user interface of the software application from among multiple user interface expressions corresponding to different user interfaces, wherein each of the user interface expressions is written purely in a declarative programming code and, in relation to variables included in the respective user interface expression, specifies (i) an appearance of a respective user interface and (ii) a behavior of a respective user interface; identifying the variables included in the selected user interface expression; determining, by the server, a context that specifies values for the identified variables included in the selected user interface expression; generating, by the server, a user interface definition, that is a declarative representation of (i) the appearance of the user interface and (ii) the behavior of the user interface, by resolving the selected user interface expression based on the values for the identified variables specified by the context; and providing, by the server to a user interface renderer on the client device, the user interface definition that is a declarative representation of (i) the appearance of the user interface and (ii) the behavior of the user interface, the user interface renderer being configured to process the user interface definition to enable the user to perceive the user interface in accordance with the user interface definition regarding appearance and behavior of the user interface.