We help IT Professionals succeed at work.

javascript libraries

Hi All,

I have been going through different java script libraries like knockout, bootstrap, backbone,angular js,extension js at high level for me to decide which one to use.

I see that each has its own advantages and it depends on what you need.
My question is can all the client libraries be used simultaneously since we only need to add reference to the scripts? i.e for 1 feature i use knockout and for another extension js.

I may not go  this route however i would like to know if this is technically feasible.
I am planning use the above along with asp.net MVC 5.

Thanks for your time.
Watch Question

Maybe this article will help. He does a comparison of several libraries.
Big MontyWeb Ninja at large

you shouldn't run into too many problems, they normally play nice with one another.

one potential issue you may run into is using jquery, as it uses the $ symbol by default, so if one of your other frameworks use that, there would be a conflict.

for more info - http://learn.jquery.com/using-jquery-core/avoid-conflicts-other-libraries/
Most Valuable Expert 2012
Top Expert 2008

You should be able to link to those Javascript libraries, and use them whenever you need.  I have an MVC application, with HTML helper methods to generate Bootstrap UI elements, Underscore and JQuery for utility Javascript functions.  You would just add the script elements to the layout page for common functions, and specific views for a particular requirement.
This is a pretty good philosophy.

a framework should only be used if it's absolutly necessary. E.g if you do lots of DOM work, jQuery is the right one. But, if you need a mvn framework, go for angular/backbone or something like this.

Tio many people today think that for each and every single problem, a framework is the best solution.

Sometimes, it could be the best solution to use 2 frameworks. E.g. jQuery + lodash.
greetings   Jyozeal, , You ask about what many web developers are puzzled about, especially the ones that know little about javascript, BUT want to add several many striking visual animations, sliders, galleries, and widgets. So the question, as - "can all the client libraries be used simultaneously, and work?", may need some considerations. The main consideration, that I see are web developers that have little or no idea what they are doing, as example they load in 4 different Jquery "add-ons" widgets, and they do an uninformed "copy and paste" for all for add-ons, so they have 4 Different Jquery versions of the Jquery framework loaded-
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>

when all they need is ONE jquery library loaded. And should not even consider OLD Jquery add-ons that use Jquery versions that are so out of date.

Many of these different JS frameworks can and do work with out noticeable conflict on the same web page, but there can be a glitch (user view noticeable and not noticeable) on occasion.

But for me, having done many troubles with JS frameworks, I have to consider the browser increased work load by adding 200 to 400 kilobytes of JS and CSS for each Library, if your web page has just 30 kbs to 200 kbs of content, then having over 2 megabytes of frameworks code, may seem to be an "Over Load" for your purpose of having an efficient, easy to use, web site.
So for me I always try and stick to one just One widget framework, like Jquery, and  then find and adapt add-on widgets to my design specifications,  that just use the framework I load ONCE .

You may can use effectively the responsive frameworks like response.js or bootstrap.js,  , but using these may limit or confuse you on how to get the visual design that you need for your site, as you will have to take the time to learn to use these.

I will tell you that you need to Beware of the current rage for MCV javascript frameworks like Knockout, Backbone and Angular, that use "data binding" for web site pages to render variable per page content. Using "data binding" is not easy to learn, and even more difficult to use and get a page with visual acceptable of your design. As far as my opinion for these JS MCV, do not use them, use SERVER SIDE coding to coordinate and guide the logic code and deliver presentation code.

Please take some time to learn how to use whatever JS you add to our site
You forgot jQuery and KendoUI.

The easiest decision to make is that Knockout and Angular makes almost no sense to have both since they address very much the same concepts. Angular is more MVC, but Knockout is pretty easy.

Ext Js is by far the most comprehensive of the libs mentioned with built-in widgets

Bootstrap does not have MVC elements, data bindings etc. but it has audio/video, visuals, widgets - basically complements Angular/Knockout with features that dont exist there.

The use of jQuery is almost exclusively limited to animations/UI Effects, though coupled with jQ UI you get widgets etc. It isnt advisable to use jQuery for DOM manipulations and so on.


I think you should try to select a lib that covers most of the features that you need, and if you are unable to make a decision then go for ExtJs since it has almost everything. It makes no sense to use data-bindings from Angular in some pages and from Knockout in other, pick one - possibly the one that provides you other things that you need.


Thank you all for your comments. I went through all links and they helped me a lot. I felt like i should now give more info. Ok, now it all boils down to "What i need  in my application".

I am planning to develop a web application for specific purpose which means my target audience is specific set of people and not the whole web. however it will still be web application and mobile application. Now i do not have any established business/clients as of now. However i would like to put my ideas into a prototype,show them and then make requirements solid if i acquire the client. So for now i am only going with basic minimum requirements. So i dont even know(very precisely) what my requirements will be. Even if its just prototyping i would like to go with something that i will use later on too(if possible) so i can reduce my learning time. If that doesn't work below are my options i guess to try just one requirement using below and decide which way to go:

asp.mvc being common on server side

1.jquery alone
2.knockout and bootstrap
3.angular and bootsrap
4. Ext js
So instead of prototyping in all , i thought i will find out best combo from you experts without spending time on all available options myself.

Let me know what you think. I will wait for few days and if i dont get any answers i will award points then.
it depends, as always, on what you need to do, and how your page visual design is structured, there is usually not a way to give a one size fits all suggestion. Use the server-side ASP to set up the functioning of the Data sources and page display options, then it depends on how much variation you need in the different pages you display.
As far as javascript goes, try and start with a small choice , like just use jquery alone, , however if you feel that your display template structure, can effectively go into a grid system , try and use the bootstrap also. But adding knockout.js will take time to learn and adjust to using, because in my view, the template concept in JS, is much different in OPERATION than the server-side idea of template.
Out of these

1.jquery alone
2.knockout and bootstrap
3.angular and bootsrap
4. Ext js

Dont use jQuery alone! Contrary to some suggestions in the thread, DOM manipulations in jQuery are best avoided. Its not about whether you get the job done or not. There is a reason people use data-binding and MVC on the client-side because leads to better maintainable code.

I would suggest either 3 or 4. I really do like Knockout but dependency injection of AngularJS pays off very well. Also, personally, I think validation using Angular is more flexible and gives you more control compared to Knockout.

So instead of prototyping in all , i thought i will find out best combo from you experts without spending time on all available options myself.

OR, you can spend a day or two doing a small app that represents a small version of the application you are planning to develop. Make something - that doesn't require a lot of time - using all the combos and that should give you first hand experience of the stack.
Why not Jquery & Bootstrap, both are very popular and have big community so a lot of help and ready to use scripts that save times.


Thanks for all the feedback and time. I am going to try a small piece of application as ambience suggested and will decide. All your comments gave me good perspective.