Hier werden [Javascript Frameworks] auf die Tauglichkeit untersucht, [JSF] zu ersetzen. !!!Features ||-||JQuery||JQuery UI||AngularJS||Angular||Vue||React||Meteor||Polymer||Ember||Backbone||Dojo||ExtJS||Wakanda||Underscore ||Purpose|JS Functions|Widgets|?|?|JS Synchronization|?|?|?|?|?|?|?|?|? ||Programmiersprache|Javascript|Javascript|Javascript|Typescript|Javascript|?|?|?|?|?|?|?|?|? ||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/]