What makes Angular and Backbone different from jQuery?
angularjs, backbone.js, javascript, jquery
Solution
Structure.
In an ongoing project that started about 4 years ago we built the front end with jQuery. We were able to do just about everything that we needed creating several single page applications that were quite functional.
As the project progressed and the code base grew we started experiencing some major problems with maintainability of the code. We ended up with hundreds or thousands of lines of JavaScript code per page in a tangle that was almost impossible to navigate. This could have been avoided if we were more careful of course but at the time we focused on making sure the back end architecture was robust.
Many years ago the community learned that code needs structure to be maintainable. We developed MVC patterns, multi-tiered applications etc. But JavaScript was never a big player in the field and we largely ignored it.
Over the last 6 months or so we introduced Angular into the project and started sorting out some of the mess in the project. The results are remarkable. Not only is the code simpler and easier to create, the structure makes it easier to implement tests, easier to maintain and generally a huge improvement over what we had before. We still use jQuery but now we have been burnt by the lack of structure and know a thing or two about the architecture of a JavaScript application. Angular and its like provide you with the tools to architect a good application.
Problem
I have been using JavaScript and jQuery for quite a while now and want to extend my skill set further, during my search I came across two popular names `Angular` and `Backbone` and while reading about them I found one line common in both them which somehow also seems to be their USP i.e. `It is designed for developing single-page web applications` This makes my confused. What is that I cannot do with JS or jQuery and I would require these? I have created web application on single page, where users can perform CRUD operations on single page through asynchronous calls so why so much importance of for these others libraries? And as a middle level web developer who has have good hands on JS is it right path to move to these two or here is something else I should look into before these? Please help?