Training - Beratung - Projektarbeiten

www.David-Tielke.de

Windows 8 Developer ​Day: Apps entwickeln​ mit HTML5 und JavaS​cript

Am 05.09.2012 hielt ich im Rahmen der Windows8 Developer Days von Microsoft einen App Development Workshop mit HTML5 und Javascript in Würzburg. Die knapp 40 Teilnehmer lernten in 8 Stunden alles wissenswerte zum Thema App-Entwicklung für Windows 8 mit Webtechnologien:

image

Neben den 5 Sessions zu Windows 8 blieb den anwesenden Entwicklern in den drei Pausen besonders viel Zeit zum Austausch und Netzwerken.

Wie abgesprochen, gibt es hier das RSS Reader Projekt zum Download. Ich hoffe es hat allen Anderen genau so viel Spaß gemacht, wie mir!

Links

Warum Windows 8 nicht gegen iOS und Android gewinnt.

Viel kommt man rum dieser Tage. Auf Konferenzen, Newsgrouptreffen, Workshops oder Trainings – Windows 8 ist nicht nur für alt Windows 8 Release Preview: Start Screeneingesessene Win32- oder .NET-Entwickler ein spannendes Thema. Spannend wie lukrativ, denn die Möglichkeiten mit dem neuen Store in Windows 8 eine extrem großen Markt zu adressieren, der in einigen Jahren iOS und Android in den Schatten stellen wird, begeistern derzeit jeden. Egal auf welchem Event man sich befindet, egal mit welchem Funktionär der Softwareentwicklung man auch spricht, jeder stellt die gleiche Frage “Wird Microsoft mit Windows 8 gegen iOS und Android ankommen?” Ich schmunzel bei der Frage immer etwas, denn die Frage ist sehr einfach: Nein, Microsoft hat keine Chance gegen diese Plattformen.

Warum nicht? Ganz einfach, weil ein Auto nicht so hoch fliegen kann wie ein Flugzeug! Schwachsinn? Richtig, ein Auto kann ja gar nicht fliegen! Genau so wenig kann die Frage beantwortet werden, ob Photoshop besser auf einem Mac läuft, oder auf einem iPad, denn letzteres kann keine Macprogramme ausführen. So klar diese Aussagen auch sein mögen, sieht man sie in dem heraufbeschworenen Wettkampf zwischen Apple, Google und Microsoft wird schnell klar: Windows 8 ist KEIN Tabletbetriebssystem wie iOS oder Android, denn es ist ein Desktopbetriebssystem mit vollständiger Touchintegration. Dadurch habe ich die Möglichkeit wie schon immer meine Arbeiten auf der Desktopoberfläche mit Maus und Tastatur durchzuführen und im mobilen Einsatz die Mails per Windows 8-Style-UI (Metro ist ja out…) und Fingereingabe abzurufen.

Das iPad war und ist ein geniales Spielzeug, aber mehr ist es einfach nicht. Ich kenne kaum jemanden der es für wirklich alle Dinge nutzt, spätestens wenn es um umfangreichere Tipparbeiten geht oder Anwendungen die eine präzise Navigation erfordern (Photoshop lässt grüßen), weicht jeder auf ein Windows 7 Gerät oder einen Mac aus. Mit Windows 8 wir alles anders, wir haben weiterhin ein leistungsstarkes Desktopsystem (u.a. mit Desktopprozessoren) mit Maus und Tastatur und wo wir früher zum Tablet gegriffen haben, nutzen wir nun die Touchintegration im neuen Startmenü und das alles in einem Gerät.

imageIch nutze seit der Developer Preview von Windows 8 ein Samsung Series 7 Slate Device, das neben USB-Anschlüssen auch eine Dockingstation mitbringt sowie einem Stylus. Wenn ich morgens meine Arbeit beginne, docke ich mein Slate in die Dockingstation und nutze Windows 8 wie mein Notebook. Denn auch wenn mit dem neuen Startmenü und einigen Apps die Windows8-Style-UI Einzug gehalten hat, so hat Microsoft penibel darauf geachtet: Was per Touch bedient werden kann, kann genau so gut mit Maus und Tastatur bedient werden. Wo im Startmenü mit dem Finger “gepant” wird um zu scrollen, wird mit der Maus wie gewöhnlich mit dem Mausrad gescrollt oder ich bewege den Mauszeiger an den linken oder rechten Bildschirmrand und wenn ich die Maus dann weiter bewege wird gescrollt. So wie im Startmenü, funktioniert es überall in Windows 8: Obwohl vieles auf Touch ausgelegt wurde, funktioniert alles genau so gut mit Maus und Tastatur – etwas Eingewöhnungszeit vorausgesetzt.

Wenn die Mittagszeit beginnt bin ich natürlich zu Tisch – dazu nehme ich mein Slate aus der Dockingstation und schon bin ich mobil. Falls im mobilen Betrieb ohne Maus auf dem Desktop navigiert werden muss, nehme ich einfach den Stylus. Dieser ersetzt die Maus zu 100%, denn solange der Stift nur ein paar cm über dem Display schwebt, ist nur der Cursor sichtbar. Erst bei einer Berührung mit dem Display wird der traditionelle Linksklick ausgeführt. Das ganze funktioniert derart gut, dass ich mittlerweile lieber mit dem Stift arbeite als mit der Maus. Nebenbei erwähnt, kann man den Stift übrigens auch für das klassische Szenario verwenden: handschriftliche Notizen! Besonders in Kombination mit Officeprodukten wie OneNote 2012 ist das einfach an Genialität nicht zu überbieten.

imageWieder im Büro angekommen, docke ich mein Slate in die Station und arbeite mit Maus und Tastatur weiter. Wenn zwischendurch jemand im Team Probleme hat, docke ich das Slate ab und nehme es mit. Mit dem Stylus und OneNote kann man schnell Dinge erklären und am Ende allen Teilnehmern zu Verfügung stellen… Wie? Na, wie bei jeder Windows 8 App, von links reinwischen, auf Share drücken und Mail auswählen. Schon haben es alle…
Abends wird das Slate auf dem Sofa dann im Touchbetrieb genutzt – Egal ob Web, Mail, Nachrichten oder Angry Birds – für alles gibt es natürlich eine App die ich auf dem Slate mit dem Finger nutzen kann.

Was sich anhört wie ein kitschiges Werbevideo von Microsoft ist mein Alltag mit Windows 8. Was früher als Zukunftsvision angesehen wurde ist heute Wirklichkeit.

Mit Windows 8 hat Microsoft natürlich bei den anderen abgeschaut. Aber Microsoft hat nahezu alles optimiert und mit Innovationen verbessert. Angefangen von der Kombination von Desktop und Tablet in einem Gerät über die Integration von verschiedenen Eingabegeräten (Maus, Tastatur, Touch, Stylus) über ein einheitliches Bedienerlebnis für Benutzer mit Windows 8-Style-UI. Microsoft hat ihr Jahrzehnte lang bewährtes Betriebssystemkonzept genommen, das beste von Apple und Google dazu genommen und um next-gen Features erweitert: Herausgekommen ist ein Betriebssystem das den Markt nicht nur aufräumen wird, sondern eine komplett neue Geräteklasse schaffen wird: Slates – eine Kombination aus Desktop und Tablet, welches die jeweils andere auf lange Sicht in der Bedeutungslosigkeit verschwinden lassen wird.

Denn das ist das beste an Windows 8 überhaupt: Es greift nicht den gestandenen Tablet-Markt an, sondern lässt ihn langsam überflüssig werden!

Ist der .NET-Entwickler der neue VB6-Entwickler?

Etwas mehr als 12 Stunden sind seit der BUILD vergangen… Die Konferenz die endlich Klarheit bringen sollte, die uns Entwicklern die Marschrichtung für die Zukunft aufzeigen sollte. Das Gefühl war schon irgendwie beängstigend am Vormittag, die Nervosität bei vielen Leuten spürbar. Durch die Verschwiegenheit von Microsoft im Vorfeld wurden die wildesten Gerüchte gestreut: Wird HTML5&JS die neue primäre Sprache für Windowsentwicklung? Wird es .NET weiterhin in seiner jetzigen Form geben? Haben wir viele Jahre eine Technologie gelernt, die nun veraltet ist?

Die Keynote begann, Windows 8 wurde gezeigt und dann war es raus: Es wird eine neue Laufzeitumgebung geben, genannt Windows RT, welche für die Entwicklung von Windows 8 Apps genutzt wird. Diese Runtime kann mit diversen Sprachen genutzt werden, neben HTML/JS und C++ glücklicherweise auch C#… Das HTML gesetzt war, vermuteten viele bereits, aber eine wirkliche Bekenntnis zu C# und zu .NET gab Microsoft bis dato nicht. Aber ist jetzt alles gut für das .NET Framework? Nein – ich denke nicht!

Wirklich viele Informationen über die nächste .NET Version gab es ja nicht. Bei der Sessionlist der BUILD ist mir folgende Session aufgefallen, auf die ich meine Argumentation stütze:

image

Das .NET-Framework wird also neue Erweiterungen bekommen, um Anwendungen für Windows 8 zu schreiben, bzw. die Windows RT aus .NET heraus nutzen zu können. Das man neue Erweiterungen für ein Betriebssystem bereitstellt, kennen wir bereits von Windows 7. Allerdings wurde das damals als “Windows 7 API Code Pack” bereitgestellt und nicht als Bestandteil einer neuen Version von .NET zu Verfügung gestellt.

Das Konzept von Microsoft war es (einmal!?), ein Framework für alle Windowsplattformen zur Verfügung zu stellen. Damit war sichergestellt, das Anwendungen, die auf einer Frameworkversion auf Betriebssystem X laufen, auch auf einem Betriebssystem Y läuft, vorausgesetzt es existiert eine Runtime dazu. Sollte Microsoft also wirklich die API für Windows 8 in .NET integrieren, wäre diese Plattformunabhängigkeit Geschichte. Macht man sich da das eigene Konzept kaputt?

Schaut man sich die Sessions zur BUILD an, wird eines deutlich: Der Kernpunkt dieser Konferenz ist neben Windows 8 vor allem HTML5 und JavaScript.

  • 9 Sessions zu .NET
  • 7 Sessions zu ASP.NET
  • 7 Sessions zu C#
  • 40 (!!!) Sessions zu HTML5

Merkwürdig das HTML5 als Technologie die langjährig gefeierte Technologie .NET mit einer gigantischen Entwicklergemeinde zu überholen scheint. Schaut man sich die Sessions im Bereich .NET, ASP.NET und C# an, mangelt es an wirklichen Innovationen und es erweckt den Eindruck, das diese Frameworkversion einzig und allein für die Kompatibilität mit Windows 8 entwickelt wurde und um die Brücke für ASP.NET Entwickler hin zu HTML5 Metro UI zu schlagen.

Wir sind bald im zehnten Jahr des .NET-Zeitalters angekommen. In dieser Zeit hat sich viel Verändert, das Framework wurde massiv erweitert und um coole und innovative Features ergänzt, wie z.B. LINQ. Wir haben mit WPF eine UI-Technologie die in der Lage ist, hardwarebeschleunigte Oberflächen zu entwickeln die schick und modern aussehen. Nun hat Microsoft mit Windows 8 ihr Flaggschiff zurück auf 0 gestellt (mehr oder weniger), und so viele Bereiche neu entwickelt wie bei keinem Betriebssystem vorher. Aber womit wurden die Oberfläche von Windows entwickelt? Mit HTML5 und JavaScript! Wurde das Betriebssystem auf Basis von managed Code geschrieben? Nein, aber warum? Das Forschungsbetriebssytem Singularity von Microsoft Research hat doch gezeigt, das ein performantes managed OS möglich ist und zahlreiche Vorteile hat. Welche großen Microsoftprodukte gibt es den, die mit .NET umgesetzt wurden, wenn wir Sharepoint einmal außen vor lassen? Keins!

Diese Tatsache zeigt mir, das Microsoft selbst nicht mehr an eine Zukunft von .NET glaubt und diese Version 4.5 des Frameworks untermauert das Ganze noch einmal. Egal mit wem man im Vorfeld gesprochen hat und über ein mögliches AUS von .NET diskutierte, jeder entgegnete mit der selben Antwort “Microsoft wird doch keine Technologie sterben lassen, in die sie so viele Jahre so viel Geld investiert haben”. Aber haben die VB6 Entwickler das nicht früher vielleicht auch behauptet bevor .NET veröffentlicht wurde? Ich befürchte die .NET Entwickler werden die neuen VB6 Entwickler…