Balance between simplicity and functionality
The point of using UI libraries is to save working time by reusing the source code. But saving time that way, we lose it on studying the structure of the library, its logic and syntax. This is why the library developers strive to make their code as simple and logical as possible. But isn’t it to the detriment of functionality?
Let’s consider two diametrically opposite libraries:
It is a very simple and elegant library. Perfect for those who are taking their first steps in JS and front-end. In addition, it is free and has a large community. The library’s semantic source code makes working with it look like a conversation written in natural language.
But as soon as we finish the training and start developing a real business application, we start to lack ready-made components, provided customization capabilities and the documentation itself (the project is promoted by the community of enthusiasts, and the documentation is quite fragmented). The simplicity of this library begins to work against us, limits our capabilities.
- Ext JS.
This one is a professional framework with a well-deserved reputation. Perfect documentation, very beautiful examples and demos. However, when you try to create something specific, performance problems as well as difficulties with configuring and disabling unnecessary features occur. The Sencha Inspector tool becomes your “best friend”, as it is a “debugging tool for troubleshooting and improving performance of Ext JS and Sencha Touch applications”. This product does not allow any excuses and it requires high skills, forcing you to fight your way through the thorns of complex source code.
These were two diametrically opposite products. But both of them will take up extra time for the project realization: the first one due to its simplicity and limitations, and the second because of its obvious redundancy and complexity. As a result, all the promised benefits may vanish. The necessity of the “Golden mean” appears.
Webix was created to become the one
Webix creators feel a great balance between simplicity and functionality. They have developed the product designed to quickly and easily create complex interfaces with a little number of settings.
If you are not yet familiar with the Webix concept, this article will help you: Creating a Webix-based Business Web Application for Data Storage with Only 12 Lines of Code
Do not be deceived by the external simplicity of Webix. These “12 lines of code” hide a rich functionality with numerous features that are supported “out of the box”. But unlike Sencha products, you will not encounter performance issues or high CPU load. Webix puts performance and optimization at the forefront.
There is a price to pay for such simplicity and time saving practices though. If you are facing a task of deep customization, you will need additional time to study the documentation and make changes to the settings and appearance.
Most popular JS UI libraries are distributed under the MIT license, which imposes some restrictions. For example, it does not ensure the completeness of intellectual property rights. In addition, opensource licenses may require developers to release the final product under an opensource license and publish the source code in the public domain, which may be unacceptable for many reasons.
The correct strategy is to choose a solution that has both an opensource and a commercial license. In this case, you can develop your application based on opensource for as long as you wish and, if necessary, switch to a commercial license.
Reasons for switching from opensource to a commercial license:
- Purchase/sale of intellectual property rights. Only a commercial license guarantees the transfer of all intellectual property rights to a new buyer.
- Certification of IT solutions. If you are developing solutions for the financial and banking sectors that require mandatory certification, you should not use opensource components. Gambling solutions and healthcare systems are also subject to special audits. Each country has its own rules of control and regulation.
- Technical support. Full technical support is usually provided only to commercial license holders.
- Advanced features. Commercial versions of libraries offer advanced functionality and additional opportunities. Examples can be found in this article.
This is a critical aspect when choosing a development tool. Technical support is a guarantee that your ideas and projects will be implemented.
You should make sure that you have selected the correct tools that match the system architecture. Consult technical support as to whether you can implement the intended UX cases using the selected library.
For example, Webix specialists provide technical support and help at an early stage of studying the library. Any developer can ask for help or advice during the trial period of exploring the library.
Ability to implement all UX cases using a single library
Obviously, this is not a mandatory requirement. Developers often have to use third-party components that are well-established in the developers’ community.
For example, complex Webix widgets: File Manager and Kanban are among the most popular and in-demand solutions on the IT market. Surveys show that some developers use them as third-party components without the main library.
However, every developer agrees that it is desirable to minimize the number of third-party components and remain within the chosen IT infrastructure. Therefore, choose a UI library that will allow you to develop all the necessary UX cases.
- Sufficient number of UI widgets.
Practice shows that about 100 UI widgets are enough to create any modern interface.
Study the library of examples and templates to understand which UI controls are available for you.
2. Feature reach components
In addition to the number of widgets, it is important that each of them has a sufficient number of features, such as:
- Clipboard support
- Keyboard shortcuts
- Context menu
- Data validation
3. Widgets compatibility
In the chosen library all widgets should fit together perfectly, allowing you to create a complex UI without any customization or additional settings.
4. Modern material design
The library has to offer contemporary practices of material design. Each element and control must be based on these practices.
5. Maximum performance and optimization
The UI library should not take up extra resources and be a bottleneck of the business application being created.
- Webix provides a large set of widgets (more than 100): from complex and features reach Datagrid to simple buttons, toolbars and hints.
- The set of necessary widgets is formed based on the daily practice of XBSoftware developers (a subsidiary of Webix).
- Webix provides a simple and easy mechanism to combine different widgets. Effectively combine them into complex layouts.
- All elements of the Webix library fit together perfectly and are carefully checked for compatibility. This provides a “seamless” design, which simplifies development and reduces working hours.
- Webix offers the best UI rendering speed on the market.
- Webix users can access both the opensource version and the commercial license with technical support and full documentation.
- The template library is available for developers, which greatly speeds up the UI-layer development process.