If we lived in an ideal world …
Any professional developer will say that you need to start a new project with a carefully developed system architecture. One of its permanent components will be the popular JS frameworks. As a rule, the choice falls on Angular or React.
The reason for the popularity of these frameworks lies in large companies that develop them. React.js is known to be developed by Facebook. Angular.js is the brainchild of Google. Such powerful support provides well-deserved popularity, because developers can always count on technical support, extensive documentation and a large community.
Of course, we must not forget about other well-known frameworks such as Meteor.js, Polymer, Ember.js, Backbone, and others. Each of them has their own pros and cons. Choosing a particular framework as a basis for developing a future solution has already become a meme among developers.
So which framework to use?
Ask your system architect about this. Yes, that’s it. In this article we want to analyze cases when developers have to go beyond the main framework and to look for alternatives.
Alternative 1: when you need more speed.
Modern frameworks shift many calculations to the browser, which can’t help but affect the rendering speed. This is why Data rich applications constantly encounter performance issues. Sooner or later there will come a time when users will no longer be satisfied with smooth scrolling or long delays in rendering a large amount of data.
Solution: use third-party components optimized for data rendering speed.
If you look at this benchmark, conducted by the developers of Bryntum, you will see a large spread of data on the rendering speed.
This study tests the DataGrid component, which is logical, since this widget is the basis for most other Data widgets and its performance sets the baseline for the entire framework.
The last line shows the speed measurement from the Webix UI, and its data significantly differs for the better. The reason for such high performance is also revealed by the Bryntum experts:
This is a very rational trick that not only allows you to optimize the rendering speed, but also opens up new possibilities for UX. For example, creating a data rich UI without using pagination.
A clear illustration of this approach is provided by custom Salesforce solutions. For example, we found a use case that used Webix DataGrid specifically to create a Salesforce application for working with 30,000 + rows of tables without pagination.
Alternative 2: when you can’t change the architecture
A rare project is developed without changes, strictly according to the plan. As a rule, all solutions follow their own evolutionary path of development. This is due to a well-known phenomenon, which is user training. Even if your project has an ideal business analyst, they can’t fully anticipate the changes in users requirements that inevitably begin to occur after you get acquainted with the first version of the software product. You may have a task that requires new features that are not available in the current framework or require too many development and integration resources.
Solution: additional libraries. Pay attention to products that emphasize the development of complex SPA applications. They can be easily integrated into any Web platform.
First of all, let’s pay attention to multi-component libraries that offer a variety of widgets: Ext JS, DHTMLX, Bryntum, Webix …. Just select the required component or application.
Here are some typical examples:
Alternative 3: when serious calculations are needed
Modern browsers allow you to fully utilize the entire computing potential of user devices, which opens up interesting opportunities for creating loaded applications. Excel-like spreadsheet solutions or Pivot table tools are infinitely extending the functionality of any computing application.
Solution: components for custom calculations.
Note. Shifting calculations to the browser side can cause problems for weak computing devices. You should pay attention to those solutions that offer optional calculations on both the client and the server sides.
Alternative 4: UI WYSIWYG editor
Business analysts and UX designers have long used various mockup interface editors. But not all of them can create source code for instant integration into the project. Imagine that your business analysis team is gathering user requirements, developing a UX, and creating a UI prototype for the application at the same time.
Solution: UI libraries with built-in WYSIWYG editors
The choice to make is based on your system requirements. Even if you like the interface editor, it doesn’t mean that you can use the source code created with it.
Alternative 5: limited resources
This strategy is true for young startups. It is important for them to get the product MVP as soon as possible in order to enter the market or attract new investors. This is just the case when it makes sense to move away from the mainstream web.dev (using Angular or React) and to try to achieve maximum savings due to the advantages of multi-component UI libraries.
The main advantage of this approach is direct savings due to:
- use of ready-made designs;
- use of ready-made components with a large number of features;
- use of complex components and complex SPA applications;
- access to the technical support service;
- availability of extensive documentation and code examples.
We have tried to consider real cases studies that reflect the variability of web.dev processes under the influence of external factors. Indirect confirmation of the correctness of our conclusions is a large variety of third-party frameworks and UI libraries, which are always in demand in the growing army of web developers.