Schlagwort-Archive: WinRT

Hackathon Karlsruhe – Zusammenfassung

In diesem Blogeintrag führe ich nochmals alle Quellen zusammen. Gerne dürfen in den Kommentaren weitere Links und Videos vorgeschlagen werden. Falls sich jemand in seinem Recht auf Datenselbstbestimmung verletzt fühlt, so reicht eine kurze Info an mich und ich lösche den entsprechenden Inhalt.

Ich werde den Eintrag regelmäßig aktualisieren. Letztes Update: 22.01.2013 um 15:36Uhr

Blog Posts:

 

Links:

 

Videos: Alles in Full HD (restliche Videos folgen noch)

 

Meine weiteren Kanäle findet ihr hier.

Hackathon Karlsruhe – Teil 6

Die restlichen Fotos, sowie erneut den Hinweis: Die Videos folgen nächste Woche.

CIMG2712CIMG2713CIMG2714CIMG2715CIMG2716CIMG2717CIMG2718CIMG2720CIMG2721CIMG2723CIMG2726CIMG2710CIMG2711

Hackathon Karlsruhe – Teil 5

Zeit für das Feedback. Zunächst einmal muss ich meinen Respekt ausdrücken, dass Microsoft den Hackathon veranstaltet hat, nachdem sie in Pforzheim Ralf und mir auf die Frage, warum denn keine Veranstaltung in Karlsruhe geplant sei, damit beantworteten: Wenn ihr 40 Leute zusammenkriegt, machen wir das gerne. Was Veranstaltungen für die Community angeht, beklage ich mich als Entwickler wirklich nicht.

Umso weniger kann ich deshalb nachvollziehen, warum durch diverse Aktionen das eigene Image beschädigt wird. Nachdem bereits in Pforzheim Windows 7 und Office 2010 Lizenzen als Giveaways für die Gewinner des App-Wettbewerbs vergeben wurden, folgte diese – vermutlich auch für die Evangelisten – peinliche Aktion erneut. Hier würde ich ein Gespräch mit der Marketing-Abteilung empfehlen!

Frank kam in der Mittagpause mit den Worten auf mich zu: “Also wenn das mit dem W-LAN nichts wird, kann ich nach Hause fahren, denn dann komme ich hier nicht weiter.” Auch wenn Frank bis zum Ende blieb, verließen viele Teilnehmer zum späten Nachmittag die Veranstaltung. Daneben wurde die Entwicklung erheblich gehemmt und der Unmut war groß. Die meisten behalfen sich mit mobilen Hotspots. Für Microsoft ist es natürlich schwer dies im Vorhinein abzuklären, wenn sie niemanden vor Ort haben. Wie wäre es mit einer intern geführten Liste, wo gute Locations festgehalten werden? Dass aber bei einem Consumer Router und 56 IT-lern (was umgerechnet mit Handys ca. 100 Geräten entsprechen dürfte) Probleme auftreten würden, sollte ein Großkonzern wissen.

Positiv finde ich, dass wieder eine Designerin vor Ort war, schließlich tun wir uns als Techies schwer mit schöner Optik. Ebenfalls wieder vorhanden: Testgeräte – dieses Mal Slates – konnten ausprobiert werden. Leider waren keine Apps installiert und auf Grund des fehlenden Internets gab es nicht viel, was man damit hätte anstellen können. Das Netzkabel fehlte im Übrigen auch.

Die Evangelisten waren aber wie immer sehr gesprächig und sympathisch. Schade fand ich, dass die angestrebte App-Vorstellung ohne Ankündigung um knapp eine Stunde nach vorne gezogen wurde. Kai konnte beispielsweise seine Anwendung nicht mehr vorstellen. Beim nächsten Mal einfach eine kurze Durchsage machen, dann läuft das.

Ein besonderes Lob gibt es für die Bereitstellung von Bier. Das macht einfach die Gespräche “geschmeidiger” und das “Beer Driven Development” (BDD) läuft auch. Ich meine, dass es früher einmal Probleme gab, als ein Evangelist selbiges wohlgemerkt aus eigener Tasche bezahlte!

Der Teufel steckt im Detail: Beim Ansetzen eines Events wäre es wünschenswert, wenn gleich ein Twitter Hashtag dazu veröffentlicht wird. Damit lassen sich Fahrgemeinschaften bilden und vor Ort läuft sowieso jegliche Kommunikation per Gezwitscher.

Zu guter Letzt sei noch auf den Feedback-Bogen hingewiesen: Ich meine, dass es sich dabei um den gleichen handelt, wie auf etlichen anderen Veranstaltungen auch. Für einen Hackathon sind diese Fragen nicht geeignet. Falls ich mich täusche, dann trotzdem als Rückmeldung: Überarbeitet den Dinger.

Hackathon Karlsruhe – Teil 4

Weil ich darauf angesprochen wurde: Ich bin bemüht das Video Anfang der Woche vor meinem Urlaub noch zur Verfügung zu stellen. Ich kann das nicht zusagen, aber es kommt garantiert in meinen YouTube Channel!

 

CIMG2701CIMG2702CIMG2703CIMG2704CIMG2705CIMG2707CIMG2708CIMG2709CIMG2706

Hackathon Karlsruhe – Teil 3

Ein kurzes Zwischenfazit, nach mehreren Gesprächen, darunter ein sehr informatives mit Philipp Bauknecht von der medialesson GmbH:

  • Die Kunden wollen native Apps. Eine Diskussion über Vor- und Nachteile gibt es übrigens in diesem gelungenen Podcast auf heise Developer.
  • Der Code von HTML/JS Apps ist quasi nicht portierbar, was auch nicht die Absicht von MS dahinter gewesen sein soll. Es ging darum diese Entwickler ins Boot zu holen, nicht den Code wiederverwendbar zu machen (persönliche Meinung!)
  • Inzwischen steigen fast alle größeren Firmen in den Markt ein, allerdings mit Companion Apps, die primär den bestehenden Funktionsumfang erweitern und nicht vorhandenen ergänzen.
  • MVVM Light ist laut Kai Ehret durchaus praktikabel für WinRT
  • Die Stimmung gegenüber Win8, v.a. mit den Aussagen von Win Blue im Hintergrund, ist verhalten, teilweise sind die Leute verärgert. Es kam eine passende Aussage: “Mit Windows Blue wiederholt man die Verarsche von Windows Phone 7.5”.
  • Typische Diskussionen über Android vs. iOS vs. Windows Phone sind gewährleistet
  • Erste Kollegen äußern sich bzgl. BDD (Beer Drinking Development)
  • Um 15 Uhr konnte noch kein Team etwas vorzeigen
  • Die quasi nicht vorhandene W-LAN Verbindung blockiert stark bei der Arbeit und veranlasste die ersten zum Gehen
  • Ich wurde hier ein weiteres Mal auf die WCF angesprochen, nachdem ich schon viele Fragen im Kontext meiner Entity Framework Webcast Serie dazu erhalten habe. Ich dachte eigentlich, dass WCF langsam auf das Abstellgleis kommt…
  • SharePoint scheint sich in jeglichem Kontext, sogar bei Windows 8 App Entwicklung, wiederzufinden. Hier gilt aber weiterhin, was seit der Veröffentlichung von SharePoint gilt: Entwickler bzw. Consultants sind Mangelware und unter Entwicklern ist der Office Sprössling eher verschrien…

Hackathon Karlsruhe – Teil 2

Zeit, um meine Erwartungen zu formulieren, um im Nachhinein ein Fazit zu ziehen. Gerne kann ein Leser, der zu einem der Punkte etwas beitragen kann, das hier kommentieren.

 

Ich wünsche mir:

  • Einen informativen Austausch mit Entwicklern, die sich schon intensiv mit der Win8 App Entwicklung beschäftigt haben. Was ist gut, was ist schlecht. Wie gestaltet sich der Prozess für die Store Publikation.
  • Was sind die Präferenzen, die Vor- und Nachteile der unterschiedlichen Technologien HTML5/JS vs. XAML/C#
  • Welche Frameworks wurden bereits auf WinRT portiert. Speziell in den Bereichen MVVM, IoC und Bus.
  • Wer glaubt an Windows 8? Speziell nach dem Weggang von Sinfosky bzw. der Aussage bzgl. Windows Blue? Wer glaubt an XAML? Soweit ich gehört habe, sind viele diesbezüglich skeptisch!
  • Insider Infos von den Microsoft Evangelisten zu Windows Blue
  • Hilfe der Designerin für unsere App
  • Einblick in neue/andere Bedienkonzepte für Apps

Nice-to-Have:

  • just killer apps, no excuses
  • Ein Nerd T-Shirt :)
  • Input für die Kamasutra App. Die könnte LEGENDÄR werden!
  • Eine #Olga wie beim Open Space Leipzig

 

CIMG2692CIMG2693CIMG2694CIMG2695CIMG2696

Hackathon Karlsruhe – Teil 1

CIMG2645Der Startschuss für den Windows 8 / Windows Phone 8 Hackathon ist heute um 10 Uhr im Schalander in Karlsruhe gefallen. 56 Teilnehmer haben sich angemeldet. Ich konnte bereits wieder die typischen Community Gesichter identifizieren. Die Kollegen, die den Pforzheimer Hackathon organisierten, sind ebenfalls vor Ort. Leider ist in Karlsruhe im Gegensatz zu Pforzheim das W-LAN fürchterlich, was die Arbeit natürlich sehr erschwert. Das ging bei mir gerade so weit, dass ich meine Windows 8 Entwicklerlizenz, die regelmäßig in Visual Studio wieder erneuert werden muss, nicht aktivieren konnte. Der Weg über den mobilen Handy Hotspot half enorm!

Da noch kein offizieller Hashtag eingeführt wurde – einer IT Veranstaltung eigentlich nicht würdig – hole ich das hiermit nach:#Win8Hack

 

Hier bereits die ersten Bilder:

CIMG2659CIMG2686

Workshop – Eine Zeitreise mit dem Desktop Teil 1

Am vergangenen Freitag, d.h. ziemlich genau eine Woche vor der NRW Conf, haben sich Frank Pfattheicher und Silvio Katzmann freundlicherweise bereit erklärt, ihren Workshop ‘Eine Zeitreise mit dem Desktop’ in abgespeckter Form für mich und ein paar weitere Auserwählte abzuhalten. Der Workshop thematisiert die aktuellen Oberflächen-Technologien für den Desktop Bereich. Angefangen bei dem Klassiker WinForms, über WPF bis hin zum brandaktuellen Modern UI auf Basis von XAML und C# (als ein Vertreterpaar, siehe Bild).

Der Workshop beinhaltet zunächst ein kurzes Für und Wider der jeweiligen Technologien. Das Resümee entspricht dem, wie es vermutlich aktuell die meisten Entwickler sehen:

  • WinForms: Für bestehende Anwendungen, Remote Desktop Szenarien (WPF hat hier Probleme) und für ältere Betriebssysteme wie Windows 2000
  • WPF: Für neue Anwendungen, stark multimediale Szenarien (oder Spiele) und bei Bedarf zur Kollaboration von Entwickler und Designer
  • Silverlight: De facto am Ende
  • Modern UI: Für Windows 8 App Entwickler

Da mir die Technologieauswahl essentiell erscheint, möchte ich näher darauf eingehen:

WinForms wird früher oder später aufgegeben. Allerdings erkennt man anhand der Community Feature Wunschliste für VS2012, dass hier noch lange Support erwartet wird. Darüber hinaus zeichnet sich ab, dass es eher später, als früher fallengelassen wird. Speziell bei Remote Desktop Anwendungen führt aktuell kein Weg daran vorbei, da WPF auf Grund der technischen Implementierung (DirectX statt GDI) hierfür zu langsam ist. Einen entsprechenden Artikel gab es vor geraumer Zeit in der dotnetpro.

WPF scheint aktuell die beste Wahl zu sein, wenn es darum geht neue Applikationen zu schreiben. Allerdings ist der kleine Bruder Silverlight bereits zu Grabe getragen worden und hin und wieder zeichnen ehemalige Mitarbeiter von Microsoft ein eher trübes Bild, wohin die Reise geht. Microsoft hat bis auf wenige Ausnahmen (z.B. mit Visual Studio) selbst kaum Produkte im Sortiment, die WPF nutzen. Auch das ist kein positives Zeichen. Auch ein besonders für mich persönlich schlagkräftiges Kriterium, nämlich der oft versprochene Designer-Developer-Workflow, stellt sich in der Praxis laut besagten Referenten nicht ein und ist wenn überhaupt nur innerbetrieblich mit stark zusammenhängenden Teams zu erreichen. Der Vollständigkeit halber sei noch angemerkt, dass sobald man Komponenten von Drittherstellen (wie DevExpress) einsetzt, es sich sowieso nicht mehr um WPF Controls handelt und dass ggf. Designer Werkzeuge wie Expression Blend Probleme haben können.

Zu guter Letzt bleibt Modern UI mit unterschiedlichen Lösungsansätzen. Aktuell kann man sicherlich sagen, dass die Zukunft ungewiss ist. Gemäß dem, wie ich die Stimmung bisher in der Community bisher empfinde, sieht es hier noch nicht rosig aus. Da wir aber von “Kachel”-Apps sprechen, ist diese Technologie sowieso für ERP-Systeme und ähnlich Geschäftsanwendungen nicht praktikabel.  Ganz abgesehen davon, ist der Code nicht kompatibel zu den .NET APIs. Inwieweit die gleiche Code Basis für Windows Phone 8 verwendet werden kann, ist ebenfalls fraglich. Gerade dieser Punkt, nämlich Write Once Run Anywhere, wäre für mich ein Killer Argument für das neue Framework gewesen.

Alles in allem sind sich die Referenten und ich uns einig, dass XAML bzw. die Konzepte und der Aufbau dahinter, sicherlich überleben werden. Demzufolge ist die Einarbeitung in XAML keine vergeudete Zeit. Wie es denn nun mit den Oberflächen für den Desktop weitergeht, ist unklar. Hier sind wir sicherlich nicht die Einzigen, die sich eine konkrete Aussage von Microsoft wünschen.

Beim hoffentlich im November stattfindenden Hackathon in Karlsruhe werde ich versuchen die Meinung anderer Developer einzufangen. Außerdem verweise ich noch auf zwei Artikel von mir:

 

Teil 2 des Serie gibt es jetzt hier.

WinRT–Zeit für das Starten von Apps

WinRT Apps müssen innerhalb von 15 Sekunden starten. Genauer gesagt: Das Rendern des ersten Bildschirms darf nicht länger dauern. Wer also beispielsweise eine längere Bootstrapping Phase in seiner Anwendung durchführen muss, z.B. durch die Registrierung vieler Komponenten in einem IoC Container, der sollte sich hierüber Gedanken machen. Es ist auch daran zu denken, dass diese Initialisierungsphase je nach Device länger dauern könnte. Wie aber der anfänglichen Aussage zu entnehmen ist, wäre es durchaus adäquat einen Loading Bildschirm vorzuschalten und danach das Bootstrapping durchzuführen.

Die Frage, was passiert, wenn besagte 15 Sekunden überschritten werden, ist einfach: Die Anwendung wird beendet, d.h. sie verschwindet einfach. Dies lässt sich einfach testen:

public static class MyThreadingHelpers
{
    public static void Sleep(int ms)
    {
        new System.Threading.ManualResetEvent(false).WaitOne(ms);
    }
}

Wer dieses Code Sample verwendet und in der Startphase aufruft, kann dies einfach testen.

WinRT–Das erste Rätsel

Selbst das denkbar einfachste Szenario läuft nicht auf Anhieb. Nachdem ich das Template für eine leere Metro App (ich bin gespannt wie der Name in der finalen Visual Studio Version lauten wird) erstellt habe und direkt laufen lassen wollte, kam folgende Fehlermeldung: “…because the firewall service is not running. Ensure that the firewall service is enabled and started.”

image

Nach Reaktivierung des Dienstes läuft die App. Warum der Firewall Service unbedingt laufen muss, ist mir zunächst einmal nicht ersichtlich. Die Recherche habe ich auf später verschoben, da ich schließlich noch keine Code-Zeile entwickelt habe. Falls jemand die Antwort aus dem Stand weiß, wäre ich für die Lösung dankbar.

Sealed Klassen in WinRT

Auf dem Win8 Developer Day kam die Frage auf, warum Klassen mit dem Sealed-Keyword deklariert werden müssen. Die Vermutung, dass es sicherheitstechnische Hintergründe hat, konnte ich nach einer kurzen Recherche nicht erhärten. In jedem Fall ist es aber nicht korrekt, dass Klassen sealed sein müssen. Dies trifft nur zu, wenn man die Klasse nicht mit dem Attribut [EnableComposition] markiert. Grundsätzlich kann man es sich so merken: Soll die Funktionalität aus allen Sprachen (wie JavaScript) nutzbar sein, so muss die Klasse mit sealed vor Ableitungen geschützt werden. Mehr dazu gibt es hier.

Windows 8 Hackathon–Teil 2

Soeben durfte ich dem Deep Dive zu Windows 8 Apps beiwohnen, was mich nun deutlich weitergebracht hat. Besonders interessant fand ich folgende Punkte:

  • Asynchronität ist allgegenwärtig: Nutzt man Funktionen, die länger als 50ms dauern können, müssen diese asynchron ausgeführt werden. So wie ich das sehe, sollten für solche Funktionalitäten gar keine synchrone Methoden zur Verfügung gestellt werden. Das ist natürlich vor allem relevant für Framework Hersteller, aber natürlich auch für die eigenen Methoden, die irgendwelche langlaufenden Operationen ausführen.
  • Das Versetzen einer Anwendung in den Suspend-Mode darf max. 5 Sekunden dauern, das Starten einer Anwendung 15 Sekunden.
  • IoC Container existieren soweit dem Referenten bekannt ist, noch keine für WinRT.
  • Als MVVM Framework, welches auch in Verbindung mit WinRT läuft, wurde MVVM Light Toolkit empfohlen.
  • Sämtliche Frameworks, die selbst auf .NET basieren oder .NET nutzen, fallen aus, da WinRT kein .NET Framework ist.
  • Bei asynchronen Abläufen wird in WinRT die Task Klasse im Namensraum System.Threading.Tasks verwendet. Hier merkt man dann doch die Parallelen zum .NET Framework.
  • Anwendungsdaten sollten im entsprechenden Roaming-Verzeichnis der App gespeichert werden, damit die Cloud-Synchronisierung greift.
  • Expression Blend wird – allerdings konnten das selbst die Microsoftler nicht bestätigen, vermutlich in allen Visual Studio Versionen verfügbar sein.

 

17.42 Uhr: Aktualisierung

Gregor Biswanger hat mir bzgl. IoC Container für WinRT soeben diesen Link zukommen lassen.

Windows 8 Hackathon–Teil 1

Es ist jetzt kurz nach 13.30 Uhr und die Herde hat die Futtertröge geleert. Das Essen war sehr gut und CIMG1611 reichlich! Auf Grund der Tatsache, dass der Autor der erste Konsument war, kann dieser nicht mit Fotos der gefüllten Schüsseln dienen.

An dieser Stelle sei angemerkt, dass das Finden des Fotos mit der entsprechenden Windows 8 App (ursprünglich Metro App…) ein schlichtweg unmögliches Unterfangen war. Der Autor war nach dem Öffnen eines Fotos nicht in der Lage zum nächsten Bild zu navigieren. Eine kurze Krisenkonferenz (hier ist wirklich von einer Krise zu sprechen, da langjährige Entwickler doch in der Lage sein sollten eine Fotoanwendung zu bedienen) mit ortsansässigen Entwicklern ergab, dass niemand eine Lösung wusste. Da bei Windows 8 Apps doch die User im Fokus stehen, sollte das besser laufen.

 

CIMG1608Die Evaluierung der Getränkekammer ergab, dass auch für den flüssigen Abendkonsum in Form von Rothaus (!) Zäpfle gesorgt ist. Der Vorrat an Red Bull lässt Hoffnung aufkeimen, dass auch diverse Mischgetränke auftauchen werden. Allerdings werden die Marketingdamen vermutlich nicht in den Genuss des Trendgetränks 2012 – Hugo – kommen. Erschwert das Unterfangen die Damen besser kennen zu lernen natürlich ungemein. Es wird wohl darauf hinaus laufen, dass wir in den sauren Apfel beißen und eine Windows 8 App entwickeln müssen. Damit war ursprünglich nicht zu rechnen, aber als IT-ler muss man flexibel sein.

 

 

Ich kam relativ unbelastet zu diesem Hackathon, d.h. Kenntnisse in Windows 8, App-Entwicklung und XAML 20120811_111201sind optimistisch ausgedrückt rudimentär vorhanden. Umso mehr erfreut mich die Tatsache, dass es vielen Entwicklern so geht. Deshalb war auch ein Einführungsvortrag, der mir persönlich vieles klarer machte und mir einen guten Einblick gab, recht gut besetzt. Als Entwickler bin ich besonders gespannt, wie es sich im Kontext dieser allgegenwärtigen Asynchronität zu programmieren ist. Allerdings scheint auf den ersten Blick die Plattform hier viel Arbeit abzunehmen.

%d Bloggern gefällt das: