JavaScript Libraries

Een JavaScript library is een verzameling herbruikbare JavaScript code.

Je kunt zelf JavaScript schrijven en verzamelen in een "library". Je verzamelt code in een library als je dezelfde code vaker wil kunnen gebruiken. Andere programmeurs doen dit ook en stellen hun werk vaak publiek beschikbaar. Zo kun je gebruik maken van libraries die andere programmeurs geschreven hebben en hoef jij niet zelf opnieuw het wiel uit te vinden.

JavaScript zelf biedt slechts een beperkte set functionaliteit (veel minder dan bijvoorbeeld ActionScript) en geen standaard oplossingen voor standaard problemen. Bovendien werkt het niet altijd in alle browsers op de zelfde wijze. Doordat andere programmeurs aanvullingen geschreven hebben, kun je met betrekkelijk weinig moeite geavanceerde javascripts gebruiken die werken in alle browsers. “The bad news: JavaScript is broken. The good news: It can be fixed with more JavaScript!”.

Diversiteit

Er zijn vier grote libraries die het ontwikkelen gemakkelijker maken: Dojo Toolkit, Yahoo! User Interface Library (YUI), Prototype en jQuery:

Deze verschillende libraries blinken uit op verschillende vlakken. Prototype heeft hele handige Ajax functies, terwijl YUI weer een grote user interface patterns documentatie en support heeft. Dojo is vooral handig voor de grotere applicaties, jQuery voor snelle websites. Deze laatste gaan we de komende weken uitgebreid onderzoeken.

Voors en tegens

Opdracht

Onderzoek samen met een klasgenoot (groepjes van 2) hoe je bepaalde functionaliteit in verschillende libraries realiseert. Vergelijk hoe de verschillende libraries er mee omgaan: wat zijn de overeenkomsten en wat de verschillen. Bereid voor volgende les een korte presentatie van 5 minuten hierover voor, zodat je aan je klasgenoten kunt laten zien wat jij hebt uitgevonden.

mogelijke onderwerpen zijn:

  1. menu'tjes op basis van een list
  2. Het tonen van een bericht/error en deze na een x aantal seconde weer
    laten verdwijnen
  3. Het veranderen van een tekst (dmv een klik) in een inputveld (voor
    het inline editten van content)
  4. Verschillende visuele effecten aan elkaar koppelen zoals van kleur
    veranderen icm groter/kleiner worden
  5. Na het invullen van een reactie op een blogpost deze reactie inline
    laten zien zonder pagina refresh
  6. Slideshow maken van foto's
  7. Lijst met to-do items ordenen middels drag 'n drop
  8. kom zelf met een "probleem", dat je met een library zou kunnen oplossen

Leerdoelen