Web Application

Mobile Web Applications

A several ways of targeting mobile devices when making a app:
Responsive web design can be used to make a web application, whether a conventional web site or a single-page application viewable on small screens and work well with touchscreens.
Progressive Web Apps are a hybrid of regular web pages (or websites) and a mobile application.
Native apps or "mobile apps" run directly on a mobile device, just as a conventional software application runs directly on a desktop computer, without a web browser (and potentially without the need for Internet connectivity); these are typically written in Java (for Android devices) or Objective C or Swift (for iOS devices).
Recently, frameworks like React Native, Flutter and Xamarin allow the development of native apps for all platforms using languages other than each standard native language.
< b>React Native, Flutter and Xamarin allow the development of native apps for all platforms using languages other than each standard native language.

Structure

Applications are usually broken into logical chunks called "tiers", where every tier is assigned a role.
Traditional applications consist only of 1 tier, which resides on the client machine, but web applications lend themselves to an n-tiered approach by nature.
Though many variations are possible, the most common structure is the three-tiered application.
In its most common form, the three tiers are called presentation, application and storage, in this order.
A web browser is the first tier (presentation), an engine using some dynamic Web content technology (such as ASP, CGI, ColdFusion, Dart, JSP/Java, Node.js, PHP, Python or Ruby on Rails) is the middle tier (application logic), and a database is the third tier (storage).
The web browser sends requests to the middle tier, which services them by making queries and updates against the database and generates a user interface.