Dynamic Web: Web Apps for business, from plugins to frameworks [evolution & benefits]
The evolution of Web Apps for business and the related features are influenced by the technical improvement of the frameworks they are built on. Angular, React, and Vue are three modern libraries currently available to development teams, providing specific solutions and benefits according to the type of project carried out.
The HTML5 standard and its importance in the last decade
Web Apps developed for business have significantly evolved: texts, images, and multimedia elements (and how users interact with them) have undergone radical changes over the years, as well as constant adaptation aimed at improving user experience, also when using mobile devices. The markup language of the last millennium and, consequently, the Web Applications and Websites built on it, had to rely on several proprietary plugins to meet the requirements of developers, publishers, and users. From passive recipients of information, users have placed higher expectations on interaction with the features, increasingly similar to those provided by desktop Apps.
Hence, markup language was boosted and resulted in HTML5, the newest standard language for building Web pages, used by browsers to view and interact with them. Defined as “Recommendation” by W3C (the international organization for the development of standards for the World Wide Web) in October 2014, it was designed to provide improved and faster user experience within Web Apps, thanks to the introduction of key innovations such as:
- Simpler element structure
- Standard elements for multimedia objects, previously requiring dedicated plugins
- “Single” development to make a Web App available regardless of the operating system and device used, with no need for local installations, thus cutting development costs
- Support to the local storage of large amounts of data to work even when a connection is unavailable
- Integration of localization features
- Graphic features
The end of Microsoft Silverlight and Adobe Flash
As the Web and its technologies evolve, some of the less recent ones have become obsolete. Browsers like Internet Explorer used ActiveX for a long time to extend an application’s capabilities, and plugins such as Silverlight or Flash to fill in the gaps in multimedia features.
These frameworks were used to incorporate advanced graphic content, sophisticated effects, and multimedia elements into Web Apps and extend video streaming features, thus enhancing user experience.
At the time of their introduction, such frameworks were met with remarkable success. Within a few years, however, it became apparent that they could not keep up with the rapid evolution of software on the market. They started to show the first issues such as bugs, security vulnerability, or incompatibility with market needs.
As the end of the guaranteed support period provided by suppliers approached, developers of more recent browsers started to exclude such technologies, replacing them with more modern and secure ones. The lack of support means the end of security updates, exposing Web Apps to significant risks and vulnerability. Google Chrome was the first browser to stop supporting such technologies, followed by Mozilla Firefox, while Microsoft Edge has never supported them from its very first release.
In recent years, Web App developers have been encouraged to migrate content built on Silverlight and Flash to new open-source formats.
Recently, the complexity of Web Apps for business has grown exponentially, as has their number, thus driving the demand of developers for the right tools to build such applications with increasingly innovative approaches.
Angular uses basic HTML to efficiently build Web Apps and can be considered an excellent option for creating responsive and dynamic applications.
React, the library developed in 2013 by Facebook and extensively applied to all the products of the American company (Facebook, WhatsApp, Instagram), has achieved widespread distribution, also thanks to its popularity gained within the communities of developers.
React is fast, secure, flexible, scalable, and allows users to build incredibly dynamic and responsive Web App pages, providing extraordinary user experience and great freedom to developers.
Vue is the latest framework, implemented in 2014. Although no software giant is behind it, its popularity is rising, thanks to the communities of developers promoting its use.
It can be considered as a “progressive” framework since, unlike the others, it was created to be used incrementally from the start. This means that it does not provide all the features of other libraries, but allows easy integration with components of other libraries or with other projects.
Each of these frameworks is “component-based”, with Angular being considered as complete, and React/Vue as highly flexible collections of libraries.
The benefits of modern development standards
All three frameworks have the free distribution under MIT license in common, the free software license created by the Massachusetts Institute of Technology.
Angular is the most complete and mature of the three frameworks, it is strongly supported by communities and can be considered a “full package”. Nevertheless, learning the concepts needed to develop is quite difficult, which makes it the ideal choice mainly for major companies with large development teams that are already familiar with Microsoft’s TypeScript programming language.
Vue is the newest of the three, it does not have the backing of a major company and has only recently started to gain market share, especially in China. It can be considered the right compromise between simplicity and flexibility and, despite its exponential growth, its future is yet to be interpreted.
Angular and React have a defined Long Term Support (LTS) plan and they provide all the necessary documents to migrate from one version to another. Unlike Angular, which is a complete framework, React uses several independent libraries, resulting in higher complexity, as several upgrades must be performed for every single library.
Vue, on the other hand, does not provide an LTS at the moment, but it stands out for the very simple framework upgrade.
In general, the performance of the three frameworks is very close.
Thanks to its MVC (Model-View-Controller) structure, allowing to separate the data presentation logic from the business logic, Angular can divide activities into logical blocks, thus reducing the initial loading time of a Web App page. This model also allows separating the issues, thanks to the view component directly located on the client, thus reducing the queries in the background. Finally, asynchronous communication implies fewer calls to the server.
With a compressed file of just over 40 KB, React has quickly gained special attention for its speed and feature range, such as the use of a virtual DOM (which re-renders only the necessary nodes) and SSR (server-side rendering), minimizing user-side resource loading.
Vue is also incredibly fast, thanks to a compressed file size of less than 20 KB. In addition, it is simple to learn, therefore appealing to both beginners and more experienced developers, it can be easily integrated, allowing them to start working on projects quickly, and provides thorough documentation to users.
Angular has a six-month upgrade schedule, while an equivalent period is left to the core APIs before they are deprecated so that users can make any changes to their projects within a time range of two release cycles.
As for React, Facebook has stated that stability is one of the key factors of the framework, as it is used in the Web Apps of several multinational IT companies. Version upgrades are usually simple and facilitated by dedicated scripts that ease migration.
For Vue, APIs remain almost entirely the same from one version to another. The framework also provides a tool that allows checking if any Web App upgrades are required.
While Angular has been tested for bigger Apps and companies that require high-performance levels, React has proved to be a great competitor in terms of versatility, user experience, and scalability. On the other hand, Vue offers fewer options than the other two, yet provides unique capabilities, such as an extremely lightweight build and low development impact.
Choosing one of the three, then, strongly depends on the type of project to implement.