The modern IT world generally has two styles of building web apps. One style leads to building single-page applications while the other leads to the development of traditional web applications. The former performs the UI (user interface) logic in a web browser while the latter performs the application logic on the server.
There is a possibility of a third approach which is the hybrid approach. In this approach, a larger traditional web app hosts one or more sub-apps that are similar to single-page web applications.
WHEN TO GO WITH SPA MODEL?
Here are three different web app development scenarios where you should consider going with SPAs.
a. When your Web App Needs to Have State-of-the-Art UI Loaded with Features
Client-side functionality is the key area where singe page application dominate. It inhibits the reloading of web pages whenever your user wants to navigate between the pages or doing some actions in it. To deliver a seamless experience, SPAs fetch data in the background and individual user actions are more responsive. Also, the complete loading of a page in SPAs are very rare.
As said earlier, SPAs deliver seamless client-side UI features such as drag-and-drop when compared to traditional web apps. Moreover, singe page application work without any glitches even when there is a network issue. It is possible because the changes made by the user at the client-side get synced to the server after the connection gets re-established. Thus, SPAs exceeds the functionalities offered by typical HTML codes.
It is important to focus on implementing the traditional web features such as the display of precise URL in the address bar. The URL should clearly emphasize the activity and the SPA should enable bookmarking it, and return to it whenever the bookmark is clicked. It should display the correct results whenever the user uses the browser’s back and forward buttons.
c. Your application must already expose an API for other (internal or public) clients
APIs lift some burden off your shoulders and do the work for you in most cases. Whenever a user interacts with your SPA, it makes effective use of the web APIs to perform the task. When you have an existing web API used by your clients, the single page application implementation is significantly made easy. It is because the logic performed in the server-side is taken care of by APIs.
WHEN TO GO WITH TRADITIONAL WEB APP MODEL?
Here are three web app development scenarios where you should consider going with traditional web applications.
a. Your web app’s client-side requirements are either read-only or simple
Majority of the users prefer to use web apps in the read-only/read-mostly format. The read-only web apps are simple than the apps that handle more functionalities. Let’s consider a search engine for instance. A search engine displays a textbox on its first page to perform a search and display the search results in the second page.
Similarly, the CMS used by the users generally consist mainly of content and little client-side behavior. Traditional web app model is suitable for developing such applications that execute the logic on the server-side and render the HTML to users’ browser.
When to go with a traditional web app model:
i) Your web app’s client-side requirements are either read-only or simple.
When to go with the SPA model?
i) There is a need to have a rich UI and obsessed with features.
iii) There is an existing API already in use for internal and external clients.
You must remember that single page application framework such as AngularJS demand extensive security and architectural expertise. With every new update and the arrival of new frameworks, they experience greater churns. When it comes to single-page apps, automating the development and deployment processes and the use of containers for deployment is comparatively difficult.
Though there are certain limitations packed with single-page applications, the UI/UX enrichment brought in by them outweighs their limitations.