Mobile application architectures can be modeled conveniently in terms of client-server architectures. Clients can be always connected, partially connected, or never connected to a server. The code on a client or server can be layered. A client can have zero to three layers while a server has one to three layers.
Mobile client devices typically can contain thin clients or fat clients, or they can be developed so that they can host web pages. The server architecture can have one to three tiers. There are pros and cons associated with developing architectures with different tiers.
If the client is always connected to the server, it is possible to build a thin client and server architecture with no code on the client. If the client is partially connected, a fat client may be needed. Alternatively, a hosted set of web pages may be employed. In any case, good architectural design tenets, such as availability and scalability, should be followed.