MooTools vs. jQuery
Van een simpele lightbox tot de meest geavanceerde applicatie, javascript kan je op de dag van vandaag niet meer wegdenken in een moderne website. Omdat de implementatie per browser verschilt en om veel terugkerende functies niet steeds opnieuw te moeten schrijven, maken ontwikkelaars graag gebruik van een framework of library. In deze blogpost wil ik graag mijn visie geven op het gebruik en de verschillen tussen 2 concurrenten: MooTools en jQuery.

MooTools is een framework, jQuery is een library
Het gebruik van een framework of library helpt je vlot voorbij de gebruikelijke problemen omdat ze al enkele jaren bestaan (MooTools sinds 2006 en jQuery sinds 2005) en dus kunnen rekenen op een grote gebruikersgroep en ervaren ontwikkelaars die er elke dag mee bezig zijn.
De definitie van een framework en een library volgens Wikipedia:
Een framework is een geheel van softwarecomponenten dat gebruikt kan worden bij het programmeren van applicaties.
Een library is een verzameling code (functies/routines) die door programma's kunnen worden gebruikt.
Een framework zal je dan ook veel uitgebreidere mogelijkheden geven dan een library die je enkel wat extra functies zal bezorgen. In theorie zou dit betekenen dat je met MooTools veel uitgebreidere applicaties kunt ontwikkelen terwijl je met jQuery enkel wat met de DOM kan werken. In de praktijk is er helemaal niet zo’n groot verschil.
Een concreet voorbeeld
MooTools:
window.addEvent('domready', function() {
$$('a').addEvent('click', function(event) {
alert('Thanks for visiting!');
});
});
jQuery:
$(document).ready(function() {
$("a").click(function(event) {
alert("Thanks for visiting!");
});
});
Beide scripts zullen je een identiek resultaat bezorgen, ieder op hun eigen manier. Wanneer je de code van MooTools bekijkt zal je kunnen lezen dat we een nieuw event, in dit geval ‘click’ gaan uitbreiden met een zelfgemaakte functie. In de code van jQuery kan je lezen dat we de click-functie gaan uitbreiden met onze zelfgemaakte functie.
Welke moet ik kiezen?
De meeste ontwikkelaars maken in het begin van hun carrière een keuze tussen MooTools of jQuery en blijven hier meestal voor de rest van hun loopbaan ook aan vasthangen. Er is geen juiste keuze, enkel een persoonlijke. Zelf heb ik gekozen voor MooTools omdat ik vind dat de syntax voor mij het meest vertrouwd aanvoelt als ontwikkelaar.
Probeer beide en maak voor jezelf uit welke je het meeste aanspreekt. Het is niet de bedoeling om hier een hele discussie te openen over welk nu uiteindelijk het beste is, maar om aan te tonen dat ze elk hun unieke eigenschappen hebben maar je uiteindelijk hetzelfde resultaat zullen bezorgen.
Nuttige links
Hieronder kan je enkele nuttige links vinden die mij hebben geholpen om deze blog post te schrijven.
MooTools - a compact javascript framework
De officiële website van MooTools.
jQuery: The Write Less, Do More, JavaScript Library
De officiële website van jQuery.
jQuery vs MooTools: Choosing Between Two Great JavaScript Frameworks
Een volledige website die zich specifiek richt naar de verschillen tussen MooTools en jQuery.



9 reacties tot nu toe
Steensels Peter zei 2 jaar geleden:
Jeroen Moors zei 2 jaar geleden:
- http://visualjquery.com/
- http://docs.jquery.com/
Koen Mertens zei 2 jaar geleden:
Vroeger problemen gehad met MooTools dus nooit meer terug gaan kijken...
@ Steensels Peter: "veel meer mogelijkheden" lijkt mij niet correct te zijn (misschien wel meer "predifined" functies) tenzij je het natuurlijk kan staven met een benchmark/test/onderzoek... ;-)
Peter Fastré zei 2 jaar geleden:
$(document).ready(function() {
$("a").bind('click', function(event) {
alert("Thanks for visiting!");
});
});
Zo kan je meerdere functies aan eenzelfde event hangen.
Studio E zei 2 jaar geleden:
Maar toch een grote JQuery fan.
Ik kan niet zo goed omweg met JS, dus meestal gebruik ik kant en klare scripts.
In mijn geval zijn de aanpassingen in jquery voor mij natuurlijker.
Wel overtuigd dat het een persoonlijke keuze is, al denk ik dat jquery net frequenter is. Correct me if i'm wrong.
René zei 2 jaar geleden:
$("a").bind('click', function(event) {
alert("Thanks for visiting!");
});
});
Dat doen we tegenwoordig zo:
$(function() {
$("a").click(function () {
alert("Thanks for visiting!");
});
});
Boris zei 2 jaar geleden:
Jan Fabry zei 2 jaar geleden:
boris zei 2 jaar geleden:
addeventlistener = vervallen. PPK: "On this page I explain the two advanced event registration models: W3C’s and Microsoft’s. Since neither is cross–browser supported, their use is, for the moment, deprecated."