These days, an increasing number of companies choose the modern single page application (SPA) architecture for their websites or web applications. In this article, Gabi, engineer and advanced software developer, explains why companies should use SPA for their web applications.Single page web applications rely on Javascript as the main technology and allow any independent region in the UI to render / re-render without requiring any additional effort from the server. This means that the web server is no longer involved anymore in the HTML rendering process but rather just focuses on providing data (usually via JSON REST services) for the web interfaces.We choose Backbone.js, Marionette.js, LESS, Grunt.js …and anything else that ends with “.js”As an example, Pentalog is using the following technology stack for the development of a large-scale single page web application:
- Backbone.js (see more at http://backbonejs.org/)
- Marionette.js (see more at http://marionettejs.com/)
- Require.js (see more at https://requirejs.org/)
- jQuery (implicit dependency for Backbone.js) (see more at http://jquery.com/)
- Bootstrap (see more at https://getbootstrap.com/)
- LESS (see more at https://lesscss.org/)
- JADE (see more at https://jade-lang.com/)
- Grunt (see more at https://gruntjs.com/??)
In a nutshell, the whole UI architecture is wrapped under Require.js AMD layer, which ensures the encapsulation of independent modules and the injection of dependencies across the application. This approach allows components to only request the items they need within the current context and to expose themselves to the sole modules / components that needs them.From using SPA in that project, the application is able to display dynamic charts and tables in one page under a very small response time albeit the data managed behind the scene represent many GB/Attributes/Components.Pentalog usually recommends SPA to its clients who deal with Big Data their users want to access via the web with the best user experience. As a result, SPA-based web sites benefit from an increased level of interactivity and a better response time.In terms of performance, ones might think big-volume javascript websites can run slower and slower as the complexity and the amount of data are constantly increasing – that can be true – however a very good UI architecture operating behind the scene will circumvent that situation and will improve the site scalability. As a result, the applications developed for the Pentalog clients are meant to work on low performance devices and older versions of Internet Explorer like IE 8.Nowadays, when multiple interfaces are needed for an application, it remains critical to use REST for the services exposed and to manage the UI and the back-end in a totally independent manner. As a result, products delivered for mobile platforms like Android and iOS in Google Play or App Store, correspond to responsive websites when based upon SPA architecture. No need then to develop new platforms / layers or interfaces to benefit from the same services.As a conclusion, we strongly recommend developing SPA web platforms.Contact us for more details about our experience in this field and to know how we may assist you.