Sometimes large applications are written in jQuery, but they are difficult and expensive to maintain. You need to immerse yourself in the code and always be in the context of this library, otherwise, after a month it will be difficult to understand.
In full-fledged frameworks (for example, Vue.js or Angular.js), the possibilities for normal operation are already out of the box. This is, first of all, a component-based approach to building interfaces and abstraction from the DOM. And anyone who comes to the team with knowledge of the framework will be able to understand the code – at least because there are common project structures, documentation, community, and StackOverflow.
jQuery allowed programmers didn’t go crazy during the browser wartime IE vs Netscape’s Navigator when browsers can’t agree on things and developers had to deal with specificities of them both. Today Google is full of articles like “you don’t need jQuery at all” – just try to google it. The most persistent readers might discover articles dating back to 2015 year. They all are roughly the same and have identical reasons we fully agree with, so we are not going to waste time looking into all the details.
Cross-browser compatibility is not a sore spot now
Good Code is the Code That‘s Easy ta Manage
That was the vital point why we decided to get rid of jQuery in our products. First of all, we make admin dashboard templates for you, we seek ways to improve the quality of our code to make it more friendly and easily understandable. We maintain up-to-date documentation, provide support, and constantly searching for ways to make our products better and easier to use. So we need to build maintainable code, while with jQuery sometimes it’s less painful to rebuild code than change it. jQuery is not the best option to use if you want others to reuse your code.
jQuery uses its way to avoid extending native objects. In the past extending native objects was considered a huge minus, and this has played a significant role in jQuery development. Calling $ (div) returns us not a link to a DOM element or the list of nodes, but some jQuery object. Nevertheless, jQuery can’t entirely avoid links to native DOM elements. This brings an unexpected consequence: we get a mix of native DOM elements, lists of nodes, and jQuery objects at the end.
And even if you stick to the jQuery naming convention for jQuery objects (adding $ before a variable name) and simple variables that contain links to native elements, you face a bunch of mistakes when you forgot to use $() for non-jQuery objects. To avoid embarrassment it often ends with the use of $() for almost everything (just in case). And this “just in case” situation can be implemented several times for the same variable. Looks weird? But there was more.
Even if you strictly abide by the variable naming convention, sometimes you need to call a native method for a DOM element or run a function from code that is not dependent on jQuery, so your code gets a lot of transfers of objects from jQuery to native and vice versa.
It leads us to the problem of complicated code refactoring to make it jQuery-free, adding new features, and at least figuring out what the hell is going on in another progremmer’s code.
We are sure that you might have heard about Angular, Vue, and React. We touched them all in our products (Angular, Vue, React) and can say that we like them, especially one of them (don’t throw stones at us for bias, we were impartial judges and we ensure you that it was a fair competition). The number one is React for its ability to create a dynamic, responsive, and friendly user interface.
React JS library is very lightweight, fast, and modern. And it brings us a very powerful platform for creating mobile apps – React Native. React brought in our world’s such apps like Facebook, Instagram, Netflix, Khan Academy, and much more. We used React Native to develop an innovative product React Native Starter. This awesome mobile starter kit allows you to make your mobile app for both iOS and Android at once. It provides you with any UI components you possibly need, and saves up to 20 000$ in development.
Does jQuery have some future?
Developers upgrade it constantly and furthermore, jQuery can offer you tons of plugins for all tasted and any needs. Are you looking for a carousel? jQuery has a special plugin for you! Do you want responsive and draggable grid layouts? Get one! Does your app need photos recognition and a face detector? No problems, jQuery can pick up a solution! For every requirement, jQuery presents a dozen of plugins to solve the problem.
Almost every JS programmer made a jQuery plugin at least once in his life. And that is nice, but doesn’t solve the issue: jQuery needs a rebuild. jQuery made a unique offer to programmers once and we were happy to accept it. But that time has passed and the web has changed, whereas jQuery has not. No update helps jQuery. It keeps losing to the younger, better-looking cousins (React, Vue, Angular) that have already got recognition and a significant portion of developers who call the web community to abandon jQuery. And this trend is driving…
We believe that jQuery needs to develop a new product. jQuery version new or jQuery – with all the respect from dev community to this library we sure everyone will give new jQuery a chance, but in the current version, we don’t think that jQuery will survive.