JavaScript-framework

Een JavaScript-framework is een op JavaScript gebaseerd framework dat JavaScript-functies en widgets bevat voor het ontwikkelen van webapplicaties, waarbij vaak de nadruk ligt op AJAX.

De behoefte aan JavaScript-frameworks ontstond vooral met de opkomst van zogenaamde Web 2.0-sites, waarin JavaScript en AJAX een grote rol spelen. JavaScript-frameworks proberen een aantal problemen, die vrijwel altijd ontstaan bij het ontwikkelen van JavaScript-applicaties, op te lossen. Zoals:

  • Het multiplatformprobleem (Engels: cross browser problem): Hoewel JavaScript zelf vrijwel browseronafhankelijk is, wordt het vaak gebruikt om de DOM te manipuleren. De DOM is browserafhankelijk 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 geschikt maken van zijn code voor de verschillende browsers.
  • Prototypegebaseerde overerving versus klassegebaseerde overerving: JavaScript maakt gebruik van overerving op basis van prototypes. Deze is echter gelimiteerd en daarnaast zijn veel programmeurs van webapplicaties gewend aan overerving op basis van klassen. Veel JavaScript-frameworks bieden de gebruiker de mogelijkheid om met traditionele overerving, gebaseerd op klassen, te werken.[bron?] Het framework zorgt ervoor dat deze op de achtergrond geïmplementeerd wordt met behulp van de op prototypes gebaseerde overerving van JavaScript.
  • Hergebruik van code (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.

Voorbeelden van veelgebruikte JavaScript-frameworks zijn: