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. 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.
Q2005
JavaScript
MEDIA
Q271680
framework
Concept
Q605117
widget
Concept
Q189210
webapplicatie
Concept
Q134471
AJAX
MEDIA
Q131164
Web 2.0
MEDIA
Q35127
sites
Concept
Q174666
multiplatform
Concept
Q6368
browser
Concept
Q2093
DOM
MISC
Q180868
overerving op basis van prototypes
Concept
Q4479242
klassen
Concept
Q783866
JavaScript-framework
Concept
Q783866
JavaScript-framework
Concept
Q783866
JavaScript-framework
Concept
Q783866
JavaScript-framework
Concept
Q783866
JavaScript-framework
Concept
+2.0^^http://www.w3.org/2001/XMLSchema#decimal
2.0
NUMBER
programming language