The Karma Project: Code Less, Teach More

May 7, 2009

And the Winner is . . . jQuery!

Filed under: Uncategorized — bryanwb @ 5:38 am

We (Bryan + Felipe) had our weekly GSoC status meeting this morning. The primary issue of discussion was which javascript library we would build on top of for Karma. Over the last two weeks, we have been evaluating different libraries. Long story short, jQuery won by a mile. That said, jQuery and all other javascript libraries we evaluated fell far short in animation support.

Here is a quick rundown of the evaluation process. Initially, we wanted to test out the 3 most popular javascript libraries by creating a prototype animation in each. We looked at the list of popular frameworks and jQuery, dojo, extjs, mootools jumped out at us. My good friend Christopher Marin recommended extjs for its excellent GUI widgets but mentioned that it has a strange license that isn’t quite open-source. Next, Chris J. Ball notified us that Fedora will not allow extjs in fedora packages because extjs apparently uses GPLv3 with a special use clause. This instantly crossed extjs off our list.

Mootools looked interesting but it just didn’t seem to have the traction or community that jQuery or dojo have. Then there were two, dojo and jQuery.

To choose a javascript library we defined our criteria list:

  • technically good
  • active community
  • good leader
  • nice extension mechanism
  • unobtrusive javascript (added later)

what can we say?, uhh,  is widespread evidence that both are excellent tools.

Dojo wins with widgets (called dijits: progress bars, buttons, scroll bars, window alerts, datepickers, dialogs, skins…and so on)  jQuery has their not so large jQuery UI. About the community, jQuery has a impressive healthy and thriving community of people looking to making it better and we can’t forget the leader and geniuos  behind this library: John Resig.One more point in favor of jQuery is its awesome unobtrusive javascript design (the main idea is to separate the behavior from the structure)  jQuery have focused on easily achieve it.

About the extension mechanism, jQuery shows a nice view -at this moment we haven’t made a plugin-. Even it allows multiple javascript libraries and avoids the conflicts using the jQuery.noConflict()

So, the results (drums)….jQuery is the winner!!

If you have any advice, it’s the current time to say it.

Thanks for reading.

Advertisements

2 Comments »

  1. > Next, Chris J. Ball notified us that Fedora will not allow extjs in fedora packages because extjs apparently uses GPLv3 with a special use clause. This instantly crossed extjs off our list.

    Reading https://bugzilla.redhat.com/show_bug.cgi?id=471509 , seems like fedora legal has lifted its veto on extjs provided the license is explained?

    Comment by Tomeu Vizoso — May 7, 2009 @ 10:16 am

  2. I guess so, but I still don’t want to use extjs.

    I really, really want to see commercial education companies using Karma in the future to create open-source or proprietary educational software. That is because I believe even proprietary educational sw written in js+html will help the larger educational software ecosystem.

    We want Karma to be “used as a library for software development purposes” and not just end users. This in direct conflict w/ extjs’s FLOSS exception.

    Comment by bryanwb — May 7, 2009 @ 11:26 am


RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Blog at WordPress.com.

%d bloggers like this: