Devbook 15.03.2013, 14:16 Uhr

Forms over Data mit Knockout.js

Dieses devbook führt Sie praxisnah in die Softwareentwicklung mit JavaScript und Knockout.js ein. Sie lernen, wie Sie die Bibliothek einbinden, erste Daten aus dem ViewModel in einer HTML-Seite anzeigen, JavaScript-Programme debuggen, tabellarische Inhalte anzeigen, aus dem ViewModel Formulare befüllen u.v.m.
JavaScript ist böse. Denn JavaScript hat keine feste Typisierung und ganz merkwürdige Sprachkonstrukte. Zitate wie „Manchmal muss man mit new arbeiten, manchmal nicht und keine Sau weiß warum“ (http://www.peterkropff.de/site/javascript/besonderheiten.htm) belegen, dass diese Probleme nicht nur vom Autor dieses Buches so empfunden werden.

Hinzu kommt, dass Vererbung mit JavaScript ein Feld des Leidens ist und Namensräume nur über ganz seltsame Funktionsdefinitionen Einzug halten. Alle diese Eigenschaften legen nahe, sich nie mit JavaScript zu beschäftigen. Wir wollen produktiv sein und nicht Esoterik betreiben. Auf der anderen Seite ist JavaScript aber die Assembly Language des Web (http://kouder.net/2011/07/12/javascript-das-assembler-von-morgen/). Jeder Browser versteht sie und kann sie ausführen. Sie ist die einzige Möglichkeit, Code

auf allen Zielrechnern ohne Plug-in auszuführen und damit für clientseitig aktive Seiten zu sorgen. JavaScript ist mit HTML5 unmittelbar verbunden und jeder, der künftig diese Technologie verwenden will oder muss, muss sich mit JavaScript auseinandersetzen. Wer das aber tut, hat mit den vielen Nachteilen zu kämpfen, die schon aufgezählt wurden, was uns wieder an den Anfang dieser Einleitung bringt. Um das Erlernen von JavaScript kommt man also nicht herum. Allerdings kann man sich viel Funktionalität über Bibliotheken holen, die es frei im Internet gibt. So wie Knockout.js. Über diese Bibliothek stolperte ich durch Zufall. Das Pattern Model-View-ViewModel – und vor allem seine Vorteile – war mir durch die Windows Presentation Foundation (WPF) von Microsofts .NET hinlänglich bekannt. Was lag also näher, als gleich Nägel mit Köpfen zu machen und JavaScript in einem aktuellen Umfeld zu lernen. Mit Knockout.js als Verbindung zwischen Daten und Darstellung. Ich zahlte eine Menge Lehrgeld, denn die erste Zeit war ein permanentes Auf und Ab der Gefühle. Erste Schritte klappten, dann etwas verändert und schon ging nichts mehr (siehe auch http://radar.oreilly.com/2011/06/time-to-learn-javascript.html). Um das durch hartes Ausprobieren Gelernte nicht wieder zu vergessen, schrieb ich meine Erfahrungen auf – daraus ist dieses Buch entstanden, das Sie gerade lesen. Es soll Ihnen helfen, bei den typischen Aufgaben in einem Forms-over-Data-Projekt nicht immer wieder so zu stocken, wie das bei mir der Fall war .
Tilman Börner

PS: Versöhnlich muss ich inzwischen zugeben: JavaScript ist immer noch merkwürdig, aber die Möglichkeiten sind beachtlich und das Feilen, wie etwas funktionieren könnte, macht auch Spaß.

Jetzt 1 Monat kostenlos testen!

Sie wollen zukünftig auch von den Vorteilen eines plus-Abos profitieren? Werden Sie jetzt dotnetpro-plus-Kunde.
  • + Digitales Kundenkonto,
  • + Zugriff auf das digitale Heft,
  • + Zugang zum digitalen Heftarchiv,
  • + Auf Wunsch: Weekly Newsletter,
  • + Sämtliche Codebeispiele im digitalen Heftarchiv verfügbar