From the beginning of the Web, when websites were still static and not very interactive, technologies have evolved exponentially, and the care for the user interface has taken on an increasingly important role. In a context where the user is over stimulated by a huge amount of content, creating an interface that is able to capture and keep the user’s attention is essential.
All libraries have, with their particular nuances, certain characteristics, which define their objective and therefore the proposed solution to a possible existing problem: speed, robustness, simplicity, modularity, weight, specificity, flexibility. However, some of these necessarily determine the shortage of others, and it is therefore important to carefully define the strengths and have a clear objective to achieve. Nevertheless, some properties should always be taken into consideration. According to the Mayers, Hudson and Pausch paper (Past, Present, and Future of User Interface Software Tools), there must be some criteria necessary to determine the goodness of a tool. Good tools:
- help only where they are needed,
- maximize its essential functionality while keeping their use simple,
- make the use intuitive without using automatic techniques which are sometimes unpredictable,
- guide users to do the right things and discourage the wrong things,
- must be adaptable to new technological needs.
A very common mistake of the majority of current libraries is the temptation to solve as many problems as possible, creating a monolithic solution whose parts are highly dependent and indistinguishable, and ensuring all the most beautiful features in an unrealistic way. Furthermore, very often there is no solid awareness of the new EcmaScript features and a careful analysis of the library syntax is not carried out.