Halt der Developer Week Tour in Stuttgart

05.04.2013 08:48

Michael Niethammer hatte im Namen der .NET Developers Group Stuttgart die dotnetpro und die Developer Week zu ihrem monatlichen einem Treffen eingeladen. So machten sich Tilman Börner, Chefredakteur der dotnetpro, und Kerstin Hartmann aus dem Team der Developer Week am 27. März 2013 auf den Weg nach Stuttgart. Sie konnten Roberto Bez, Projektleiter bei der SiMedia GmbH, als Referenten zum Thema „Single Page Apps mit ASP.NET WebAPI und knockout.js“ gewinnen. Bez ist auch Speaker der Developer Week und gibt dort sein Wissen aus der Praxis zu den Themen in den Bereichen .NET Architektur und Mobile Web preis.

Zum Treffen erschienen rund 20 Mitglieder der .NET Developers Group. Auch Wenn einige knockout.js kritisch gegenüber gestanden hatten, so weckte Roberto Bez doch die Neugier und die Bereitschaft diese JavaScript-Umsetzung des MVVM Patterns einmal zu testen.

Das Treffen stand unter der Überschrift „Single Page Apps mit ASP.NET WebAPI und knockout.js.“ Eine Single Page Application (kurz: SPA) ist eine Web-Anwendung bestehend aus nur einer Seite, bei welcher im Normalfall das gesamte HTML am Anfang geladen wird und anschließend per JavaScript gesteuert wird. Anschließend lädt der Browser durch JavaScript gesteuert Daten bei Bedarf nach und stellt sie auf der Seite dar. Auch in ASP.NET beziehungsweise in den Web Tools ab Version 2012.2 gibt es eine Projektvorlage um genau eine solche Art von Webseiten umzusetzen - das Ganze mit Hilfe von jQuery und Knockout.js. Durch das deklarative data-binding Konzept von Knockout und der in ASP.NET MVC 4 eingeführten WebAPI, bietet die Projektvorlage eine solide Startbasis für alle Einsteiger. Die damit verbundene Vorgehensweise ist natürlich kein Gesetz, sondern viel mehr eine Richtlinie an welche man sich halten kann - sofern sie für jemanden Sinn macht. In diesem Vortrag werden neben den Vor- und Nachteilen auch das Warum und Wieso von SPA's praxisnah erklärt.

Roberto Bez_Single Page Apps mit ASP.NET WebAPI und knockout.js

 

Die landläufige Meinung knockout.js sei nicht geeignet für den Einsatz in großen Projekten hindert immer noch viele Entwickler daran, die JavaScript Umsetzung zu verwenden. Der Grund für dieses Vorurteil ist, dass Knockout alle Ressourcen bereits am Anfang lädt. Um dieses Problem zu beheben, hat Bez das Framework Flexigin gebastelt. Dieses und weitere seiner Projekt finden sich auf GitHub. Dieses gemeinsame Projekt von Roberto Bez und Golo Roden, der ebenfalls Speaker der Developer Week ist, ist ein flexibles Framework zum Bauen von einfachen, doch schnellen und mächtigen Apps auf der Basis von knockout.js. Statt nur eine Seite abzudecken, schließt Flexigin Client und Server ein. Dafür gehen flexigin-node (eine node.js Umsetzung) und flexigin-net (eine .NET Implementierung) Hand in Hand.

Weiterhin bleibt die größte Schwierigkeit von knockout.js, dass durch JavaScript viele Models zustande kommen, was bedeutet, dass die Mitglieder eines Teams machen können „was sie wollen.“ Mit StyleSheets besteht das gleiche Problem. Hier ist Disziplin sehr wichtig und dass geschriebener Code konstant getestet wird. Bez empfiehlt dafür Mocha und QUnit. Testbarer Code ist ja bekanntermaßen ein großer Vorteil von MVVM.

Zur tatsächlichen Umsetzung der geforderten Disziplin ist gute Teamorganisation notwendig. Auch ist es mit einigem Aufwand verbunden ein neues Mitglied in ein Team einzuarbeiten, das an einem Projekt mit knockout.js arbeitet. Für große Teams ist es nicht einfach dieses einzusetzen.Bei Anwendungen einer Größenordnung von 50 bis 60 Models häufen sich viele Daten an. Daher braucht es eine klare Struktur.

Knockout.js ermöglicht es mit wenigen Codezeilen große Dinge zu realisieren. Das macht knockout.js praxistauglich. Ein weiterer Vorteil ist der automatische Cache. Wenn sich die Daten und Models ändern, wird das UI selbsttätig aktualisiert. Auch Firmen mit Budgets in Millionenhöhe verwenden knockout.js. Z. B. die Ticket- und Eventplattform Eventim basiert darauf (hier eine Liste weiterer Beispiele). Trotz allem rät Bez davon ab, eine (1) große JavaScript Datei mit 150 Models zu handhaben.

 

50 Prozent der anwesenden Mitglieder der .NET Developers Group Stuttgart werden knockout.js eine Chance geben und es testen . Der Wechsel von Caliburn.Micro - ein anderes kleines und kraftvolles Framework verwendet für Apps über alle Xaml Plattformen hinweg, das gute Unterstützung für MVVM bietet - scheint einfach, denn daher ist das DataBinding-Konzept schon bekannt. Im Gegensatz dazu werden CoffeeScript und TypeScript zwar im privaten Bereich verwendet, jedoch nicht für produktive Projekte. Bez als .NET Entwickler der ersten Stunde fügte hinzu, dass die Umstellung zu knockout.js groß war, er es inzwischen aber nicht mehr missen möchte.

Für Einsteiger, die sich gerne näher mit dem Thema befassen möchten, empfiehlt Roberto Bez das eBook „Forms over Data mit Knockout.js“ von Tilman Börner. Eine praxisnahe Einführung ohne viel überflüssiges Beiwerk. Das Buch entstand als Begleitstück des eigenen Einstiegs in knockout.js des Autors. Das Buch ist unter anderem im Kindle Shop und im App Store erhältlich.

 

Im Laufe des Treffens entstand eine Diskussion über die Entwicklung von Microsoft. Hier herrscht unter den Entwicklern der User Group große Unsicherheit. Wo geht es hin? Welche Technologie hat auch morgen noch bestand. Steve Sanderson, ein Microsoft Mitarbeiter, ist der Gründer von knockout.js, betont aber es sei ein privates OpenSource Projekt. Auch die Corporation hat den Hype um JavaScript erkannt – den es auch um HTML5 gibt - und versucht auf den fahrenden Zug zu springen durch den Beitrag von TypeScript. Mit den Developer Tools 2012 kündigt sich eine bedeutende Zukunft für Microsoft an, doch lässt das Unternehmen keine klare Strategie erkennen. Das lässt einige Entwickler an seiner Konstanz zweifeln. Gleichzeitig tritt für die gehypten Technologien eine ähnliche Frage auf: Werden JavaScript und HTML5 in (zwei) Jahren noch wertig sein und lohnt es sich hinein zu investieren? Ein weiterer Kritikpunkt in der Community ist, dass die Barrieren zur Windows 8 Entwicklung zu hoch sind: Einerseits möchte Microsoft den Store füllen – andererseits verlangt die Corporation von jedem Einzelnen die Registrierungs-Gebühr von 99 US $.

Developer Week in Nürnberg_Geschenkkorb

 

Zum Abschluss des Treffens verlosten dotnetpro und Developer Week den „Developer Week in Nürnberg“-Korb, der fränkische Spezialitäten und Gadgets für Entwickler zusammenbringt. Mit einem RaspberryPi (Modell B 512 MB) fordern wir Spieltrieb und Bastelfreude des Gewinners heraus. Auch zu diesem populären Kleincomputer wird es auf der Developer Week Informationen und auch die Möglichkeiten eines Hands-on geben. Der Abend klang in gemütlicher Runde bei Pasta und Pizza und anregenden Gespräche aus, denn die Besuche während der .NET Usergroup Tour enden nicht mit der Q & A Session zum Vortrag.

Schlagwörter: inside DWX , .NET , JS


Autor Kerstin Hartmann

Kerstin schloss ihr Studium an der Angell Business School Freiburg mit einem Bachelor of Business in Hospitality and Events Management der Victoria University Melbourne ab. Im Team von developer media ist sie nun tätig für das Medien- und Weiterbildungsunternehmen Neue Mediengesellschaft und steckt hier als Project Manager hinter den Software Entwickler Events. Für die DWX ist sie vor allem Ansprechpartner für die Speaker. Ihr zweites Steckenpferd dabei sind die sozialen Medien auch mit dem DWX Newsletter und Blog.

Kerstin Hartmann

Developer Week in Social Media

Folgen Sie uns auf:

Aussteller & Sponsoren

Infos anfordern

Infos anfordern
  • Florian Bender
  • Projektleitung
  • Tel.: +49 (89) 74117-206
  • Fax: +49 (89) 74117-448
  • E-Mail: florian.bender@nmg.de

Medienpartner