When starting a career in business software development, everyone should understand that they will certainly face the problem of choosing their first language, set of tools and framework. The question of what needs to be learned first is difficult enough. The main pitfall is the existence of an incredible number of languages and auxiliary tools in the programming industry.
What are the specifics of business applications?
By generic feature, they can be defined as a very large class of software solutions. Its coverage does not exclude any of the possible branches of modern industry. It should be borne in mind that despite all the variety of solutions, the business functionality of such applications is very limited. It has been practically proven that any business application is implemented on average using several dozen modules. Even taking into account all the variety of solutions (trading, banking, manufacturing, medicine, education, etc.), all the variety of business functions will easily fit into a line of hundreds of widgets and business modules. And this can quite be called excellent initial data, allowing you to unify the development process.
At the same time, the requirements of customers of business applications, as a rule, are very similar and boil down to "three pillars": time-cost-quality. This factor is another voice in the direction of unifying and simplifying the market launch of an impressive number of user interface libraries.
Now let's define the requirements for an optimal application
in the near future.
Let's take a look at the most popular JS tools.
Each of them has its own advantages and disadvantages. The user's task is to choose those that best suit it personally.
This is the framework with which many start their work in the world of software development. Compared to other tools that are discussed in this article, it is one of the most popular in the modern world.
First of all, its advantage lays in a larger community. The reason for this is its maturity. Of course, most of the audience does not want to change the already loved and familiar framework for something new, relatively unfamiliar, even if it is even more convenient and faster. In the case of Angular, the reason for the loss of a part of its own audience is that this framework is quite "heavy". It does not fit in the expectations of experienced programmers on a number of indicators, including limited SEO support, difficulty of learning and specific features of the release of new versions. That’s why the choice falls on other programs, for example, React or Vue. Nevertheless, exactly Angular is used in many popular projects, including Guardian, PayPal, Sony, Upwork and many others. Like many "heavy" systems in other areas, Angular is used exactly where a reliable and powerful framework is needed - on large, serious sites. It is for this reason that there are four areas for which Angular should be chosen: development of large-scale projects, interest in using TypeScript, creation of real-time applications, the need for a scalable architecture.
It is most advisable to use this framework if you are creating a SPA, a cross-platform application, an application for a small enterprise.
Overall, React is a great framework for building almost any business application. Unfortunately, its library suffers from a Swiss knife problem: with the same specifics as specialized libraries, for example, Webix or Ext JS, its built-in library has a very limited set of business functions, which is why this framework can be used only as a basic one in order to integrate it with one of the specialized libraries, which in turn saves a lot of time needed to develop the required business functions.
This framework, without exaggeration, can be called a discovery of recent years. Quite suddenly, from a completely basic development, it turned into a favorite framework among professionals.
The tiny size of the framework, reactivity, detailed documentation, TypeScript support, reusability, and ease of learning have led to the very rapid growth of Vue. The number of its features is so great that many of them balance on the verge between advantages and disadvantages. For example, the amazing flexibility of this framework may be overkill for teams with a large number of developers.
Initially focused on the Asian market, Vue has gained huge demand there. At the same time, the framework is not without drawbacks, such as a small community and lack of support for large-scale projects. The best Vue solution will be if you create a small and light, or smart and high-performance application, as well as for early release of the application to the market.
A couple of years ago, this product broke all records of popularity among experienced developers, and deservedly won their respect. There was even a period when Sencha Ext JS was the undisputed master of the UI library market. At the moment, its position is not strong enough, because, according to user reviews, this library is considered unnecessarily complex and has noticeable performance problems. Nevertheless, if the team has experienced Ext JS developers, then a project can be safely started, excellent documentation, a large number of examples and a functional user interface library will help with this. Specialized integration packages for Angular and React frameworks have also become a huge competitive advantage of Ext JS.
Webix UI Library
At the moment, as at the time of its appearance, this library is one of the most functional and high-performance libraries. The advantage of Webix is that this library specializes only in business applications. And if the above comparison with the Swiss knife was used in a negative way, then here it is appropriate to use it as a synonym for multifunctionality, and Webix can really do almost everything. It contains over a hundred UI widgets that will help you build absolutely any business application. The most used are 10 high-level widgets - SAP applications: File Manager, Document Manager, User Manager, Chat-Messenger, Task Manager (Kanban), Pivot, Spreadsheet, SQL Query, Scheduler and Report Builder.
If you believe the reviews, then about Webix we can say that it is a fairly simple and very elegant framework that makes it as easy as possible for the developer to prototype and develop the UI of the application layer. Users call the disadvantage the lack of compatibility of complex widgets with devices with a small screen size.
The pace of development of DHTMLX of its products arouses involuntary admiration, but at the same time, because of this, the team does not always have time to post all examples of using components in the documentation.
The indisputable advantage of the DHTMLX library is the ability to process large amounts of data. All components are easily customizable for the needs of specific business applications.
Today, the user interface code of this library seems awkward when compared to more modern and elegant frameworks and libraries. The problem is that many of the jQuery UI features have become unnecessary since the HTML5 standard, since they are now supported out of the box by modern browsers. Nevertheless, the well-deserved recognition plays a role, and the library itself remains a good tool for practice and rapid prototyping. Some of the unique elements of the library are still in demand among developers.