Currently I am using jQuery for my application. But I want to go to next level. So I started learning AngularJS. But when I am searching on web most of the people say angular is focused on Single Page Applications. My next web application mostly includes client side validation and ajax requests only. Should I stay with jQuery or should I go with AngularJS/Backbone.js/Ember.js?
Please suggest me the right path.
Use the framework you feel comfortable with. If you think it's good enough use jQuery, don't stop doing it. I try to use a different technology in every project, this help you to test different environments and stay in which you feel familiar or is easier to use. I found angular one summer night and it was love at first sight so, I always try to use angular in all my projects even in the little things, and it makes everything much easier. Don't be afraid to taste diferent flavors and frameworks until you find "the one"
I usually use vanilla.js, flavoured with some jquery and backbone.js. For me, the combination of the 3 provides the most liberty to do what i want.
Frameworks are coming and going, so I try to stay as vanilla as possible.
You should note that Angular doesn't need full commitment. Many people think that they should use Angular only if they are building Single Page Apps. But it's not true. You can use as little or as many features as you need from Angular.
For example, in your case you will deal with client side validation, DOM manipulation and AJAX requests. All these can be hugely simplified with the help of Angular. If you use Angular correctly, you won't probably need jQuery to do complex DOM manipulations. It will also be easier for you to do form validations with the help of Angular's form validation APIs. And you can nicely package your API calls inside services/factories (or use ngResource?).
So, if you are learning Angular and enjoying it, feel free to use it in your next project.
I work much with AngularJS. So I recommend AngularJS. Angular is Single Page but with plugins like UI Router, you can make multiple pages.
This pretty much should guide you in your travels:
Afshin Mokhtari
Software Engineer
So hard to answer this question. It completely depends on the specifics of your project - how big is the app and how are you supporting it on the backside? how long its going to be maintained/modified and who is doing that maintaining and/or modifying; what browsers does the app support? What is(are) the bottle-neck of the app? Are you doing a lot of DOM manipulation?
I would list all the specifics of the app-to-be-developed and match them libraries and frameworks that serve the need.
And if learning new technologies is not easy or if you dont have time, just use what you know. Using best-practices in any 'framework' should take you far. It all boils to vanilla JS to the browser. In other words, dont hang up on the framework.