BUILD 2014 – Session “Strategies Cross-Device Applications with Visual Studio”

Das Kernziel von Microsoft ist maximale Glückseligkeit ihrer Enddnutzer und ihrer Entwickler. Das scheint ein nicht vereinbarer Widerspruch zu sein, den die Session auflösen möchte. Aktuell begleitet uns die große Diskussion zwischen nativen Apps und Web Apps.

Native Apps: Endnutzer happy, Entwickler nicht.
Web Apps: Hier ist der Entwickler happy, der Nutzer aber nicht.

Visual Studio liefert einen I-Phone / I-Pad Emulator mit, ebenso einen für Android, in de man Apps und Websites testen kann.

Mögliche Web Applikationsstrategien:
1. Nichts tun
Einfach Website so nehmen wie sie ist. Geht fast immer in die Hose.
2. Adaptieren auf der Client-Seite
Über CSS, Metadaten und Bootstrape wird eine alternative Darstellung sicher gestellt, je nach dem auf welchem Endgerät der User ist.
3. Adaptieren auf der Server-Seite
Das Gerät sende ein Anfrage an den Server und diese sendet eine extra-Seite. Aber das für zu vielen Duplikaten.
4. Eine App in ihn ihrer UX imitieren.
Sehr viel Arbeit durch unterschiedliste UIs. Sieht schon sehr wie eine native App aus, ist aber keine. Um das zu realisieren switcht man zwischen unterschiedlichsten Views hin und her. Zum Einsatz kommen Typescript, KnockOut and AngularJS.

Mögliche Strategien für Native Apps
XCode für IOS
ADI / Java für Android
Visual Studio für Windows

Microsoft und Xamarin sind eine Geschäfts- und technik-Partnerschaft eingegangen.

Was ist Xamarin?
Möglichkeit zu allen Devices kompilierbar
Native App geschrieben in C Sharp
Die Business Logik kann als Portable Library geteilt werden.
Auf der Basis von Windows kann man IOS und Android realisieren.

Der beste Weg ist das MVVM Prinzip. Wenn die Logik von den Views getrennt ist, kann wenig schief gehen. Wenn man Xamarin installiert hat, bekommt man auch Projektvorlagen für A + I.

Auch unter Android wird die in der Oberflächen-Solution die Main-View.xaml angezeigt. Die Controls sind nativ bei denen die ähnlich sind und haben daher leicht andere Markup. Allerdings gibt es kein Databinding unter Android und IOS, so dass hier nachgezogen werden muss. Der Kollege pogrammiert auf einem Windows Lappi und testet gegen ein Android-Tablet. Beim IOS müsste man eigentlich über einen Mac gehen, aber Xamarin hat eine Art Kompiler, der das Testen erleichtert.