www.wikidata.de-de.nina.az
Knockout js oft einfach als Knockout bezeichnet ist eine freies Webframework zur Umsetzung des Model View ViewModel Musters im Rahmen eines Webclients Es dient zur losen Kopplung zwischen der Darstellung HTML View und den Nutzdaten JavaScript Objekte durch einen Datenbindungsmechanismus Knockout Basisdaten Hauptentwickler Steve Sanderson Erscheinungsjahr 2010 Aktuelle Version 3 5 1 1 2 5 November 2019 Betriebssystem Plattformunabhangig Programmier sprache JavaScript Kategorie Webframework Lizenz MIT Lizenz www knockoutjs com Das MVVM Muster wurde erstmals im Jahr 2005 von dem Microsoft Architekten John Gossman 3 beschrieben und wird in XAML basierten Microsoft Technologien verwendet Knockout ist eine Portierung dieses ursprunglich technologiespezifischen Entwurfsmusters nach HTML5 und JavaScript Es wird von dem Microsoft Entwickler Steve Sanderson entwickelt 4 Obwohl es gemeinsam mit dem ASP NET MVC Standard Template fur Webanwendungen ausgeliefert wird handelt es sich um kein Microsoft Produkt 5 Gemass einer seit 2013 aktiven Umfrage von InfoQ handelt es sich neben AngularJS und Backbone js um eines der TOP 3 JavaScript MV Frameworks 6 Inhaltsverzeichnis 1 Beschreibung 2 Funktionen 3 Beispiel 4 Literatur 5 Weblinks 6 EinzelnachweiseBeschreibung BearbeitenDas JavaScript Framework Knockout js war eines der ersten MVVM Portierungen nach JavaScript und findet z B Einsatz bei der Implementierung von Single Page Webanwendungen Das MVVM Entwurfsmuster ahnelt dem Model View Controller Muster Allerdings ist dieses Muster von einem Datenbindungsmechanismus oft als Binder bezeichnet abhangig welcher View und ViewModel als Indirektionsstufe miteinander verknupft Dieser Binder wird durch die Bibliothek Knockout bereitgestellt Mit dem ViewModel wird das Ziel verfolgt eine zusatzliche Sichtbarkeitsebene zwischen Model und View zu definieren Es adaptiert die Fachkonzept Informationen aus dem Model und dient somit als zusatzliche Abstraktion zwischen den Daten und der Darstellung Auf diese Weise kann die Kopplung zwischen View und Model reduziert werden Anders als beim MVC Muster wird auf Controller Instanzen beim MVVM Muster verzichtet Ereignisse welche in der Benutzeroberflache auftreten werden direkt zum ViewModel geleitet und dort behandelt Zur automatischen Anderungs und Eventbenachrichtigung verwendet Knockout js sogenannte Observable JavaScript Objekte Diese Observables kapseln den eigentlichen Wert im ViewModel fur die Darstellung in der View und ermoglichen so eine Datenbindung 7 Neben dem Datenbindungsmechanismus verfugt Knockout ebenfalls uber die Moglichkeit HTML Templates zu definieren Diese Templates konnen beispielsweise dazu eingesetzt werden Auswahllisteneintrage aufgrund einer vorgegebenen Menge an Auswahlmoglichkeiten zu erzeugen Zum funktionalen Umfang von Knockout gehoren ausschliesslich Funktionalitaten im Rahmen der Darstellung und Datenanbindung Mechanismen zur Realisierung einer Navigation innerhalb einer Single Page Webanwendung sind nicht vorhanden Die Fokussierung auf die reine Datendarstellung macht Knockout leichtgewichtiger als andere JS Frameworks wie AngularJS Knockout ist unabhangig von anderen JavaScript Bibliotheken Funktionen BearbeitenDeklarative Datenbindung Beobachter Muster Automatische Aktualisierung der View wenn Anderungen im Model vorliegen Dependency tracking HTML TemplatesBeispiel Bearbeiten HTML View lt div gt You ve clicked lt span data bind text numberOfClicks gt lt span gt times lt button data bind click incrementClickCounter gt Click me lt button gt lt div gt lt script type text javascript gt Definition des ViewModels var viewModel numberOfClicks ko observable 0 incrementClickCounter function var previousCount this numberOfClicks this numberOfClicks previousCount 1 Datenbindung per Binder aktivieren ko applyBindings viewModel lt script gt Literatur BearbeitenJamie Munro Knockout js Building Dynamic Client Side Web Applications O Reilly and Associates 2014 ISBN 978 1 4919 1431 1 Andrey Akinshin Getting Started with Knockout js for NET Developers Packt Publishing 2015 ISBN 978 1 78398 400 8 Weblinks BearbeitenWebseite mit Beispielen zu Knockout englisch Prasentation Knockout MVVM fur JavaScript und HTML5 Knockout and ASP NET englisch Knockout MVC A framework integrating KnockoutJS into ASP NET englisch Knockout questions on StackOverflow englisch Knockout forum on Google Groups englisch Knockout JS Examples englisch Knockout and single page Webapplications englisch Einzelnachweise Bearbeiten Release 3 5 1 5 November 2019 abgerufen am 6 November 2019 registry npmjs com In npmjs abgerufen am 8 Marz 2023 Introduction to Model View ViewModel pattern for building WPF apps Client Insight Getting Started with Knockout Abgerufen am 25 Oktober 2021 amerikanisches Englisch Steven Sanderson s blog post Hello Microsoft blog stevensanderson com 3 November 2010 abgerufen am 8 Januar 2016 Top JavaScript MVC Frameworks Observables in Knockout englisch Abgerufen von https de wikipedia org w index php title Knockout js amp oldid 237194595