JavaScript-framework
Uiterlijk
Een JavaScript-framework is een library (bibliotheek) welke een aantal JavaScript-functies en widgets bevat voor het ontwikkelen van webapplicaties, waarbij vaak de nadruk ligt op AJAX.
De behoefte aan JavaScript-frameworks ontstond vooral toen zogenaamde Web 2.0-sites populair werden, waarin JavaScript en AJAX een grote rol spelen. JavaScript-frameworks lossen een aantal problemen op, of proberen dat althans, die vrijwel altijd ontstaan bij het ontwikkelen van JavaScript-applicaties, zoals:
- Het Multiplatform (of: cross-browser) probleem
- Hoewel JavaScript zelf vrijwel browser-onafhankelijk is, wordt het echter vaak gebruikt om de DOM te manipuleren. De DOM is browser-afhankelijk, en er bestaan soms grote verschillen tussen de DOM-implementaties in verschillende browsers. JavaScript-frameworks bevatten meestal extra code voor verschillende browsers, zodat de ontwikkelaar zich niet (of minder) bezig hoeft te houden met het cross-browser maken van zijn code.
- Prototype gebaseerde overerving versus Klasse gebaseerde overerving
- JavaScript maakt gebruik van overerving op basis van prototypes (prototype-based inheritance). De meeste programmeurs van webapplicaties zijn echter gewend aan overerving op basis van klassen (class-based inheritance).
- Veel JavaScript-frameworks bieden de gebruiker de mogelijkheid om met traditionele overerving, gebaseerd op klassen, te werken. Het framework zorgt ervoor dat deze op de achtergrond geïmplementeerd wordt met behulp van JavaScript's prototype-gebaseerde overerving.
- Code hergebruik (code-reuse)
- Naarmate websites interactiever worden is er steeds meer JavaScript-code nodig. Net als bij andere programmeerprojecten ontstaat in zo'n geval ook bij webontwikkelaars de behoefte aan een verzameling in de praktijk geteste, herbruikbare functionaliteit. In deze behoefte wordt door een framework voorzien.
Frameworks
Voorbeelden van veelgebruikte JavaScript-frameworks zijn: