Why jQuery needs the Enterprise

10 August 2010 by moschel

Yesterday, I wrote why jQuery needs JavaScriptMVC. This morning, Rey Bango and I were chatting on the problem points of enterprise JavaScript and it prompted me to think about the following question:

Why does jQuery even need the Enterprise space?

jQuery has massive amounts of users and limited resources. Why should they spend time on the very small amount of developers, maybe 1 in 500, doing enterprise work? But first, a quick summary of what I mean by enterprise.

DEFINITION: enterprise - complex JavaScript development, typically done in teams. This does not only mean building something like GMAIL, it means you care about maintainability; development time, and quality.

So why should jQuery care about the needs of enterprise developers? Here’s a few good reasons explained in detail in the remainder of the article:

  • Trends
  • Stagnate and die
  • Power Users
  • Effort
  • Fit

JavaScript is huge, and a big part of the reason is the fantastic work jQuery has done. But as more jQuery code written, developers are going to realize they have hit a wall and want to reach for other tools. Because there is no official solution; they don’t find projects like JavaScriptMVC, and they come back empty handed.

jQuery could put a huge red warning on its website saying: “Don’t use if you are doing anything complex”, but projects and code creep. Developers are going to be left sticking with jQuery or rewriting their application in another framework.

So jQuery, where do you see JavaScript going? Do you see a bright future for JavaScript apps and want to be part of it? This brings me to my next point:

Stagnate and Die

jQuery, you agree that the future is bright for JavaScript, but you are happy being the little library that could? Well, that’s freaking lame. I want to build skyscrapers not crappy pyramids. Oh wait …

Jquery

jQuery is the best at what it does - providing a kick ass API for manipulating the DOM. It’s almost a perfect layer. It’s what attracted me and a bunch of other quality developers to the library - I want the best tools for the job. But I want a crane, not the most beautiful hammer ever. This brings me to the next point:

Power Users

jQuery has really quality JavaScript developers, but I’m betting that they want to build the next gmail (or something like wave that is useful). Using jQuery (without something like JavaScriptMVC), would be plain crazy. Without quality enterprise tools, these developers will start leaving jQuery or build their own solution.

But it’s vitally important to retain power users:

  • We contribute code (I submitted 4-5 patches for 1.4.3 when JMVC started using it, jQuery 1.4’s change and submit delegation was largely a contribution from JMVC).
  • We write articles
  • We make plugins

Obviously, jQuery doesn’t have a problem with any of this right now; but how long will it be until someone builds a better mousetrap? This brings me to my next point:

Effort

jQuery should build that better mousetrap! But it takes time and effort you say? Hogwash! I’d happily do all the heavy lifting and I’m sure there’s tons of other “Power Users” who would happily contribute their time and effort to such a project. This doesn’t really bring me to my next point:

Fit

A jQuery enterprise would complement jQuery’s efforts in mobile and jQueryUI. Both projects undoubtedly need testing and dependency management. jQuery and jQueryUI are already concatenated and compressed (a build process). Refine how these projects do these tasks and share it with the world.

Conclusion

I hope jQuery starts moving in this space - don’t cost nothin. Well, it won’t cost much. The benefits to the jQuery community at large - better code quality due to more advanced usage - are probably worth it alone. But, the benefits to the web ecosystem could be tremendous.