views:

211

answers:

3

I'm trying to choose a JS framework to be able to stand the test of time (still usable and scalable in 5+ years), with a good solid code foundation for other programmers to code their own extensions or projects (from complex animation to multi-threading Ajax). These are the things I'm comparing:

  • Extensibility
  • Scalability
  • Consistent and logical syntax
  • Performance
  • Ajax support
  • Animation support
  • Nearly bug-free library update history
  • Enterprise adoption examples

Maybe there are other points I should consider?

Others pointed out that there a some arguments here but most don't apply in the enterprise standpoint because they are short-term benefits, such as:

  • Tons of plugins
  • Bigger Momentum
+3  A: 

Strictly from a long term support and momentum perspective: Major vendors such as Microsoft, Google, Dell, Wordpress, Nokia, etc. have adopted jQuery. Take from this what you may when considering if its Enterprise-ready.

Beyond this, consider that it is likely the fastest growing framework and has a huge following. These two facts should drive it forward with continual improvements and support. Even long term human resource support to develop in it should be there given the number of jQuery developers out there...

KP
Thanks! I do think both libraries can do all of the above. But which is better in comparison? The bigger following or plugin support are not as important in this case.
JONYC
Feature specific comparison: http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks
KP
@JONYC Can you elaborate on your enterprise level project? It's pretty tough for anyone to tell you exactly which one is 'better' as they both suit certain uses.. especially if following or plugin support is not important (which I personally think would be for large scale systems)..
KP
It's not for a particular project. We wanna choose a framework that is solid (code-wise), extensible and relevant for *years* to come. That's why plugin support isn't much of a concern because they come and go. But I need a good code-base and architecture will allow programmers to do whatever comes up in the future.
JONYC
In that case I'd definitely recommend jQuery. Major corporations would not adopt a framework that is going to die next year. The big boom in javascript frameworks is jQuery without a doubt. It's easy, has good performance (maybe not the best but still very good) and will be around for a long time.
KP
+6  A: 

Hmm. From an enterprise point of view, I'd have a completely different set.

  • Expected lifetime of the library;
  • Learnability;
  • Availability of programmers;
  • Integration possibilities;
  • Quality of plug-in code.

I'd also take a good look at where and how javascript is expected to be used in the company, and how that is going to change.

And in an enterprise setting, you should present this as part of a Technology Roadmap. In that, you take a look at the long time customer needs, how they should reflect in technology developments and choices.

Stephan Eggermont
Thanks. Your answer is very insightful.. Your points are very good. Assuming this framework is to withstand the test of time and it should be scalable to do anything (from complex animation to multi-threading ajax). What's your take on jQuery and prototype, or maybe another library.
JONYC
Well, I'm not looking from an enterprise point of view. I am switching from Scriptaculous to jQuery+RaphaelJS. But I'm agile, and can switch to something else when needed (Clamato?)
Stephan Eggermont
I like this answer better than mine.. very good criteria (which I think jQuery meets all just fine)...
KP
Envy! We are definitely not agile. Why did you switched? What's your after-thought?
JONYC
I'm using technology that makes it possible for me to make a difference, in a small group of developers. That means Pharo Smalltalk and Seaside, on a Gemstone object database. The lead developers of Seaside moved to jQuery for new development. My existing code is well-refactored, so switching is no big deal.
Stephan Eggermont
A: 
$().launch_photon_torpedos()
Paul D. Waite
`$('#trollingAnswer').each(function() { $.TrollTools.ResistUrgeToComment($(this), false) });`
KP
I make no apologies for making fun of vague laundry-list requirements that unthinking MBA dinosaurs put together to give the illusion of having work to do, and sum up with that most self-important term, “enterprise”. As if proper, big, important companies have proper, big, important needs that could only possibly be satisfied by one particular mature JavaScript framework, as opposed to another particular mature JavaScript framework. If you think “Enterprise level JS programming” actually means anything, maybe you should leave the programming to actual programmers. That said, good answers.
Paul D. Waite
+1, funny. That should get make a nice zero for your rep. We should leave it at that.
David Schmitt
Aw, thank you! I should really now write a photon torpedos plugin for jQuery.
Paul D. Waite