Hier werden [Javascript Frameworks] auf die Tauglichkeit untersucht, [JSF] zu ersetzen.

!!!Abgrenzung
Ein Framework grenzt sich zu einer Bibliothek dadurch ab, dass eine Bibliothek eine Ansammlung von Funktionen darstellt, die zustandsfrei daher kommt. Ein Framework liefert hingegen Ankerpunkte um Zustände zu halten, die etwa als Applikation, Definitionen, Komponenten, Instanzen und so weiter gehalten werden. Insbesondere erzeugen Framekworks eine Inversion of Control, weg von einer imperativen Programmierung, hin zu einer Komponenten orientierten Architektur.

!!!Features
||-||JQuery||JQuery UI||AngularJS||Angular||Vue||React||Meteor||Polymer||Ember||Backbone||Dojo||ExtJS||Wakanda||Underscore
||Purpose|JS Functions|Widgets|?|?|JS Synchronization|?|?|?|?|?|?|?|?|?
||Hersteller|JS Foundation|JS Foundation|?|`|`|Facebook|?|?|?|?|?|?|?|?
||Gründungsjahr|2006|2007|?|?|?|2013|?|?|?|?|2005|?|?|?
||Programmiersprache|Javascript|Javascript|Javascript|Typescript|Javascript|?|?|?|?|?|Dojo|?|?|?
||HTML generieren|$("<tag>")|$("<tag>")|?|?|-|?|?|?|?|?|?|?|?|?
||HTML laden|$.fn.load|$.fn.load|?|?|-|?|?|?|?|?|?|?|?|?
||Komponente definieren|HTML Datei, $.extend|$.widget|?|?|new Vue|?|?|?|?|?|?|?|?|?
||Komponente instantiieren|$.fn.load|$.fn.<widget>|?|?|-|?|?|?|?|?|?|?|?|?
||Komponente referenzieren|CSS Selector|widget var|?|?|app var|?|?|?|?|?|?|?|?|?
||Komponenten aggregieren|$.fn.append, ...|$.widget|?|?|-|?|?|?|?|?|?|?|?|?
||Value anbinden|$.fn.val, $.fn.on|$.fn.<widget>(...)|?|?|EL, Attribute, If, Iteration|?|?|?|?|?|?|?|?|?
||Client/Server-Kommunikation|$.ajax|$.ajax|?|?|?|?|?|?|?|?|?|?|?|?
||Reactive Programming|-|-|?|?|-|?|?|?|?|?|?|?|?|?

!!!Zusammenfassung
||Framework||Zusammenfassung
|JQuery|JQuery ist das wohl älteste und am weitesten verbreitete Basis-Framework. Es bietet Browser-Unabhängigkeit, Definition von Funktionen und Makros. JQuery kann und wird weiterhin parallel zu anderen Frameworks eingesetzt, bietet allerdings keine Vollautomatisierung von Templating, Synchronisierung, HTML-Generierung oder Single-Site-Application. Insbesondere bietet JQuery einen vereinheitlichten AJAX-Zugriff, der das Laden von JS, CSS, HTML und JSON vereinfacht, sowie die REST-Kommunikation ermöglicht
|JQuery UI|JQuery UI ist eine Erweiterung von JQuery, die zwei Dinge liefert: Die Widget API mit der JS Komponenten definiert werden können, einige mitgelieferte Basiskomponenten. JQuery UI bietet den größten Markt an freien Komponneten, wie etwa Dropdown, Datepicker, Drag-and-Drop und anderen Extensions
|Underscore JS|Underscore ist die neuere Konkurrenzveranstaltung zu JQuery, konnte aber nie wirklich aufholen. Letzten Endes konnte und kann man in JQuery durch $.extend und $.fn.extend jede Funktion erweitern, sodass es keinen Sinn macht auf ein anderes Basis-Framework umzusteigen oder es zusätzlich hinzuzunehmen.

!!!Links
* [Wikipedia|https://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks]
* [Underscore|https://underscorejs.org/]
* [Ionos|https://www.ionos.de/digitalguide/websites/web-entwicklung/beliebte-javascript-frameworks-und-bibliotheken/]