Tuesday, February 20th, 2007

Jack Slocum of Ext to support jQuery

Category: jQuery, Sencha

Jack Slocum is one of the best evangelists of YUI (in our opinion) as he gets cool stuff out there that uses YUI. Some of his newer features are not YUI-specific so his YUI-EXT project will become Ext, and will support other libraries.

One of the fruits of this new world is the partnership announced jQuery & Ext Partner to Deliver Integrated JavaScript & UI which details how Ext 1.0 will support jQuery as well as YUI:

The most mature User Interface library for web applications will soon support jQuery, the two projects announced today.

Ext, a group of renowned User Interface components including a tree view, live grid, dual-panel layout among others, previously worked as an extension to the YUI library. Beginning with version 1.0 of Ext, it will work as an extension to jQuery as well, allowing jQuery users to leverage the power of the user interface tools available in Ext with the lightweight core library and expressive syntax of the best library for unobtrusive DOM scripting.

“We’re really excited by this collaboration. Ext is a fantastic library, and being able to provide it as an official jQuery Plugin is a huge win for everyone involved,” said John Resig, the creator of the jQuery JavaScript library.

What prompted the collaboration?

Ext has some fantastic components – arguably, the best on the web.

jQuery has all the core functionality to support what Ext provides, with a far smaller core file-size than YUI. The jQuery team contacted Jack Slocum with the hopes that we could work together to make Ext work with jQuery, and Jack wholeheartedly agreed. It’s a win-win situation: jQuery gets some awesome components, and Ext gets a huge influx of new users.

What are the benefits for jQuery and Ext users?

jQuery users get a huge number of expertly-designed components that they will be able to deploy immediately. Additionally, they’ll be able to use them in a manner that better suits the jQuery philosophy (e.g. leveraging jQuery’s unobtrusive philosophy, being able to call Ext queries on sets of elements, chaining calls, etc.) Additionally, jQuery is also investigating the possibility of supporting the use of DomQuery, Ext’s selector engine, as an alternative to jQuery’s CSS Selector code.

At the same time, existing Ext users will gain the flexibility of being able to continue to use Ext’s professional caliber components while leveraging the lightweight, small (~19k) and powerful jQuery framework.

This is good news for all. It also shows how plugged in jQuery is to the community to get this worked out with Jack.

We can’t wait to see the full Ext 1.0 and beyond.

Posted by Dion Almaer at 12:01 am
34 Comments

++++-
4.2 rating from 64 votes

34 Comments »

Comments feed TrackBack URI

I really believe in such successful collaborations.

That’s a very smart move for both jQuery and Ext.

Congratulations!

Comment by Tobie Langel — February 20, 2007

Wow, this is excellent news, congrats to all involved :)

Comment by Justin Carter — February 20, 2007

Great News. Congratulations :-) shall we call it one of the best mergers in Ajax world!

Comment by Satish Mummadi — February 20, 2007

> It also shows how plugged in jQuery is to the community

That is an excellent point.

Comment by jazzy — February 20, 2007

Prototype coming port too? Whishful thinking?

Comment by jd — February 20, 2007

@Dion: “It also shows how plugged in jQuery is to the community to get this worked out with Jack.”

Yep, we’re the “Little Engine That Could” of the frameworks and we’re growing by leaps and bounds. We’re stepping out of the shadows of the other libraries and showing that the jQuery JavaScript/Ajax framework is an excellent solution and is more than capable of helping developers build rich web application experiences. And we’re doing it in under 20k. :o)

Comment by Rey Bango — February 20, 2007

This is very good news for jQuery and EXT! I hope the selector speeds will improve too ;) Not that they are slow ATM, but Jack wrote some pretty neat code the other day didn’t he?

Comment by Gilles — February 20, 2007

Prototype compressed is smaller than JQuery compressed 8P.

Comment by jd — February 20, 2007

@jd – It hasn’t been that way in a long, long, time. Dan Webb had that misconception too, but re-evaluated himself in the comments of this blog post:
http://www.danwebb.net/2007/1/10/scripting-essentials

Comment by John Resig — February 20, 2007

my copy of prototype right before their new offical version came in at 19kb compressed (prototype-edge-512809.js 1.5.0_rc1) . I didnt say I used the same compressor jQuery did. ( I wouldnt say a long long time, less than 2 months ago at most, I will compress their newest and get back to you on its size 8) ). If its a matter of 3+kb thats splitting hairs and not worth a mention. Add on top of that zlib from the server and woo even less of a mention.

Comment by jd — February 20, 2007

The difference between the uncompressed code of RC1 and the new official release is +6kb. Comparing that and previous compressed versions I would say that the newest Prototype will fall at 20kb which is soo close to jQuery that it doesnt even matter (jQuery is 19.9kb).

Comment by jd — February 20, 2007

@John Resig: The post you reverence is from October. That’s no longer relevant. As my comments above also clarify.

Comment by jd — February 20, 2007

@jd – Just to clarify, the difference between 1.5.0_rc1 and future versions of Prototype is significant. Using these two files:
http://prototypejs.org/javascripts/prototype.js (1.5.1_pre0)
http://jquery.com/src/jquery-latest.js (1.1.1)

and this compressor:
http://dean.edwards.name/packer/

I get:
Prototype: 30667/74254=0.413
jQuery: 20461/57737=0.354

There’s really no splitting hairs here. The difference between Prototype 1.5.1_pre0 and jQuery 1.1.1 is 10,206 bytes. Of course, that’s assuming that Prototype were able to be compressed (and run) using Packer, which is currently not the case.

And to clarify the point about gzipping.

Using Prototype 1.5.1_pre0:
jeresig$ ls -la prototype.*
-rw-r--r-- 1 jeresig jeresig 74254 Feb 20 17:02 prototype.js
jeresig$ gzip prototype.js
jeresig$ ls -la prototype.*
-rw-r--r-- 1 jeresig jeresig 17124 Feb 20 17:02 prototype.js.gz

Using jQuery 1.1.1 Packed:
jeresig$ ls -la jquery.*
-rw-r--r-- 1 jeresig jeresig 20461 Feb 20 17:06 jquery.js
jeresig$ gzip jquery.js
jeresig$ ls -la jquery.*
-rw-r--r-- 1 jeresig jeresig 10497 Feb 20 17:06 jquery.js.gz

By being able to run the code through Packer, there is a 9,964 byte savings when gzipped and a 6,627 byte savings in comparison to Prototype.

Of course, all of this is incredibly strange to argue about, considering that both libraries do things that the other library does not (for example, jQuery does animations, while Prototype provides a bunch of object prototype modifiers).

Comment by John Resig — February 20, 2007

And I am not trying to argue But…. I am telling you I did NOT use Packer from dean, but another and I got Prototype down to 19Kb (I had to add some semi colons or what not, not a big deal). But it is compressed.

So what I am trying to say is that DON’T market size as some grand achievement, its misleading and its very subjective. Your JQuery at 19.9Kb is BIGGER than my prototype at 19.00kb.

If what I am reading right you took the uncompressed Prototype and gzipped it while gzipping the compressed jquery?

-rw-r–r– 1 jeresig jeresig 20461 Feb 20 17:06 jquery.js
Your site shows JQuery uncompressed at 55kb (actually 56.3kb).

I know you like to go back n forth, I saw it between you an Jack when his selector methods where faster, but I am telling you I got Prototype down to 19.00kb new verison will proll be high 19kb to 20kb.

You will not convince me otherwise, I am using the file in my project right now and its working just fine.

As for animation. “Interface” (jQueries’ poormans clone of Scriptaculous) is for animating, I know you support some css morphing and what not and probably have added to it.

Comment by jd — February 20, 2007

@jd: jQuery itself comes with a series of effects which are listed in the jQuery API and are *part* of the CORE library. This is functionality that at the moment requires Prototype users to link in Scriptaculous to accomplish the same. The API is published for your review on the jQuery site.

The Interface library provides much greater animation and effects capability to jQuery users than whats included in jQuery core. Feel free to call it what you like but I keep track of Scriptaculous and Interface competes just fine with it.

Next, marketing jQuery’s size is neither misleading nor subjective. Its a fact that jQuery is extremely small and packs a ton of functionality into a small package. The breadth of functionality included in jQuery is astounding considering its size and even prompted Alex Russell of Dojo to say that “jQuery 1.1 provides the richest API today”.

Next, you’ve mentioned that you’ve managed to pack the newest release of Prototype down to 19kb. Perfect. If you’ve managed to do that, that’s outstanding. Your results, though, differ from John’s so please feel free to provide the link to the packer that you used because if it provided that level of file compression for Prototype, it might just benefit jQuery as well. Can you please provide the link?

Finally, resorting to name calling (as you did with Interface) and making incorrect assertions (John fighting with Jack???) in order to get your point across just really degrades what appeared to be a good exchange on pure technical details. You mentioned the exchange with Jack Slocum and if you read through the comments, you’ll see that John was always professional and eventually did acknowledge that DomQuery was faster. Further, do you really believe that if John & Jack were fighting that this announcement would even be here??

Just stay on point and don’t get all bent out of shape. If John is wrong, he will acknowledge it but he has a right to offer a rebuttal. Please provide the link to the packer that you used. I’d really like to see the results on the jQuery file.

Thanks,

Rey Bango
jQuery Project

Comment by Rey Bango — February 20, 2007

I did not say they where fighting, I said there was alot of “back and forth” between the two. I mentioned that “I know you support some css morphing and what not and probably have added to it.” Which means I am aware of jQ has animation abilities. Don’t portray me as some lesser user just cause I am not salivating over jQ. My opinion on “Interface” stands. Why would I give jQ a shred of help. I don’t like the framework, I don’t the way its promoted, I don’t like the “its a whole new ideology”, baloney. Its JavaScript. Nothing more. The creator is not a masiha of JS. The compressor I used is publicly avail and has been on mentioned on this blog. Its slower to compress but does a better job at it. I don’t want to turn this into some kind of flame. I respect that you and I have a difference of opinion and I think thats where this will end.

Comment by Mario — February 20, 2007

sorry, was on a guest pc, with auto fill.

Comment by jd — February 20, 2007

Congratulations are in order for jQuery team and Jack Slocum – this partnership will no doubt result in reduction of wasteful competition on low level and increase in significant cooperation on high level problems.

jd, will you please provide a link – or a reference – to JS packer you used? I trust there is gain to be had from a peer reviewed size comparison between Prototype and jQuery.

In absence of publically available packer, will you please provide your compressed copy of Prototype (at under 20kb) so that the rest of us could study where further gains were made as compared to Edawrds’ packer?

Comment by EugeneG — February 21, 2007

sure Eugene, do you have a site or email I can contact. I know I dont like sticking emails in comment posts (search bots get um)…

Comment by jd — February 21, 2007

Well, I’m actually enjoying this. Guys arguing over “size matters” the wrong way around. ;-)

Comment by Tobie Langel — February 21, 2007

http://tinyurl.com/23a8c5

Prototype 1.4.0 (13.2kb);
Prototype 1.5.0_rc0 (16.6kb)
Prototype 1.5.0_rc1 (18.6kb)

Comment by jd — February 21, 2007

Prototype 1.5.0_rc1 (18.6kb) – one I ref’ed in my comments
Prototype 1.5.0_final (21.8kb) – newest and bestest 8P

Woo the newest jQ is a whole 1.9kb smaller. Wow. Haha. I am impressed.

Note- zip contains original versions, formatted versions, and compressed versions.

Note- I could really care less about the size, I just don’t like it when others make such a huge selling point about it 8).

Comment by jd — February 21, 2007

@jd: So basically what you’ve shown is that John Resig was in fact correct, (even though you swore up and down that he wasn’t) and the only rebuttal you can offer now is to trivialize that fact? Now that’s comical especially since you instigated this whole debate about file size.

Comment by Rey Bango — February 21, 2007

I came a bit late to this debate. Honestly, I think it’s pretty trivial. I agree with John above that since Prototype and jQuery attempt to achieve different things, file-size comparisons are pretty meaningless.

We tout our small file-size not in comparison to anyone else, but simply in response to concerns that lots of JavaScript developers have about adding “bloated” libraries to their applications. Since Prototype seems to also be relatively small, you guys should tout that as well. There’s a lot of misconceptions about the nature of libraries, and it’s hurting the overall library movement.

While I’m obviously interested in which packer you’re using to get Prototype to be so small, I suspect the Prototype team would be as well, so that they could produce small, packed Prototype versions for mass distribution.

I’m only peripherally involved in all of this nonsense, but there is a stark difference between sheer evangelism (“Use Prototype” “Use jQuery” “Use Mootools”) and mean-spirited attacks on one or another library. There’s a fine line sometimes, but I hope we can all agree not to simply go after another library for the sake of it.

Comment by Yehuda — February 21, 2007

@Rey Bango: I mentioned the one I ref’ed atthe time of the commits was the rc1 release (18.6kb), as I had not compressed the final version. I also said in my comments that the final version would fall within 20-21kb. So I stand my ground. I agree the debate is trivial. Now, I am coming down off a bad coffee rush, and apologize if I sounded edgy 8). I wish jQ the best, I realize you all work hard on it.

Comment by jd — February 21, 2007

The libraries are pretty similar in size alone/compressed, but the resulting code you build using the jQuery framework is way smaller

Comment by Daniel Rust — February 21, 2007

@jd: No prob. We’ve all had our bad coffee days. :o)

As Yehuda said, debating file size is trivial. I know you’re not fond of jQuery and thats cool man. Everyone has their preference.

Just so you’ll know, we have absolutely no beef with the PT folks. In fact I congratulated Justin Palmer when they released the new site.

http://encytemedia.com/blog/articles/2007/1/18/prototype-1-5-released-and-documentation-site-live

The two projects have different methods of doing things and to me, it just means more choices for everyone. So I wish you the best of luck as well. Now back to coding. :o)

Rey
jQuery Project

Comment by Rey Bango — February 21, 2007

@Daniel: Congrats on your recent launch my man! And thanks for using jQuery. If you need any assistance please let me know and we’ll coordinate accordingly. The jQuery team is here to help.

I’ve added down2night to the list of jQuery-powered sites. Can you contact me via email to chat about the site (reybango@gmail.com)?

Comment by Rey Bango — February 21, 2007

Rey: would appreciate it if you’d quote me in context. I was specifically referring to the selector system that JQuery provides. For many other tasks, jQuery provides no API at all and I would hesitate to make a blanket statement along those lines anyway.

Regards

Comment by Alex Russell — February 23, 2007

Zing! My point about jQ’s misleading promotional techniques is validated 8)!

Comment by jd — February 23, 2007

The compressed files are in the Prototype Core: Google Group threads as well.
http://groups.google.com/group/prototype-core/browse_thread/thread/2a611d702c4deadb

Comment by jd — February 23, 2007

I just have to say one thing… It’s not the size that matters, it’s how you put it to use :P Besides, they are very different and not one can be the best for all use cases. Trying to find the best overall JS library is useless, find the one that best suits your project and your style.

As for the actual message of the article, this is great news! Congratulations to jQuery, Ext and us!

Comment by Joakim — March 4, 2007

YUI is HUGE. Everybody needs to cool down with the Javascript/Ajax crap and learn to use things in moderation. Frankly, speed trumps all other considerations. Nobody expects the web to behave exactly like the desktop. We’ve lived with the web for 10 years (most of us), and are quite comfortable with it. Who says the user wants it to be the same??

I for one am unlikely to ever use the new Yahoo Mail and I’m about ready to depart Gmail because you have to sit around and twiddle your thumb for ten seconds every time you want to log in and check your email.

Comment by jack — May 8, 2007

@jack
So do you think that web2.0 is “just a hype” or a “real thing”, I am not really sure I understood you … ;)

Comment by polterguy — May 28, 2008

Leave a comment

You must be logged in to post a comment.