André Krämers Blog

Lösungen für Ihre Probleme

imageWährend meines Developer Media Webinars zur Cross Plattform App Entwicklung in Visual Studio 2015 mit Xamarin und Cordova sind leider einige Fragen aufgrund der knappen Zeit unbeantwortet geblieben.

Wie versprochen werde ich diese Fragen jedoch in den nächsten Tagen in mehreren Blog Beiträgen beantworten.

Den Anfang macht dieser Blog Beitrag.

In den nächsten Tagen werden zwei bis drei weitere Beiträge folgenden, in denen ich die weiteren Fragen beantworten werde. (Link zu Teil 2)

Wer nicht am Webinar teilnehmen konnte, kann sich die Aufzeichnung übrigens kostenlos bei Developer Media ansehen.

F: Gibt es den iOS-Simulator auch für Windows, oder muss man dann immer zum Mac-Rechner laufen?

A: Apple stellt den iOS-Simulator nur für OS X zur Verfügung. Zum Mac-Rechner muss man allerdings trotzdem nicht laufen. OS X verfügt über eine eingebaute Funktion zur Bildschirmübertragung. Dabei handelt es sich um einen erweiterten VNC Server. Somit kann der Mac und damit auch der iOS Simulator über einen VNC Client bequem vom Windows Rechner aus ferngesteuert werden.

image

Der ferngesteuerte Mac kann übrigens auch in der Cloud betrieben werden: http://www.macincloud.com/

F: Brauche ich Zugriff auf die Mac Oberfläche um den iOS Simulator zu nutzen?

Ja, aber wie bereits in der vorherigen Frage beschrieben, kann der Zugriff auch über VNC oder ähnliches erfolgen.

F: Ist für die App-Erstellung ein Apple- und Android-System zwingend erforderlich?

Theoretisch kann die Entwicklung vollständig mit dem iOS Simulator bzw. Android Emulator durchgeführt werden. In der Praxis ist es jedoch hilfreich die App zusätzlich auf einem echten Gerät zu testen. Gerade im iOS Umfeld kann der Simulator falsche Performance Erwartungen wecken. Eine weitere Alternative ist die Xamarin Test Cloud. Hier können Apps auf über 2000 echten Geräten in der Cloud getestet werden.

F: Gibt es mittlerweile einen Xamarin.Forms Designer ?

A:  Leider noch nicht. Stand Dezember 2015 muss der XAML Code vollständig von Hand geschrieben werden (siehe auch https://developer.xamarin.com/guides/cross-platform/xamarin-forms/user-interface/xaml-basics/)

F: Kann man in Xamarin Layout über Code erstellen? Stichwort: Data-driven bzw. Shared Layout (zumindest in Teilen)

A: Benutzeroberflächen können unter Xamarin sowohl für Android, als auch für iOS direkt im Quellcode erstellt werden. Siehe dazu: Dynamische Oberflächen unter iOS und Dynamische Oberflächen unter Android. Gleiches gilt auch für Xamarin.Forms: Dynamische Oberflächen unter Xamarin.Forms

F: Kann man in Visual Studio auch direkt Obj-c oder Swift-Code schreiben in einem iOS-Projekt?

Ab Visual Studio 2015 Update 1 verfügt VS zumindest über IntelliSense für Swift. Somit ist ein komfortables editieren von Swift Quelltexten möglich. Weitere Funktionen, wie zum Beispiel die Übersetzung von Swift Quellcode gibt es jedoch noch nicht.

F: Wie sync SQLITe <–> SQL Server?

A: Die Synchronisation von offline Daten mit einem zentralen Server ist keine triviale Aufgabe. Eine mögliche Lösungsvariante wäre es die Synchronisation vollständig selbst umzusetzen. Dies ist jedoch komplizierter als man zunächst glauben mag.

Eine kommerzielle Lösung für dieses Problem ist Zumero for SQL Server. Selbst habe ich Zumero noch nicht eingesetzt, daher kann ich auch keine Aussage darüber treffen, wie gut das Produkt funktioniert.

Darüber hinaus gib es auch eine Lösung mit Azure Mobile Services.

F: Unterstützt Xamarin eigentlich nicht Windows Phone?

A: Die Kernidee der Xamarin Platform besteht darin, C# und die .NET Klassenbibliothek zur Entwicklung von Android und iOS App nutzen zu können. Eine Implementierung für Windows Phone von C# und der .NET Klassenbibliothek gibt es bereits von Microsoft. Daher ist eine Windows Phone Unterstützung seitens Xamarin erst einmal nicht notwendig. Zumindest so lange das UI vollständig nativ entwickelt wird. Spätestens wenn die Abstraktionsschicht Xamarin.Forms ins Spiel kommt, macht eine Windows Phone Unterstützung seitens Xamarin natürlich schon Sinn. Daher gibt es für Xamarin.Forms tatsächlich eine Unterstützung für Windows Phone 8.1, Windows 8.1 und Windows 10 Universal Apps.

Cordova vs. nativ mit Xamarin?

Diese Frage lässt sich seriös leider nicht in zwei Sätzen beantworten. Stattdessen müsste man anhand eines individuellen Kriterienkatalogs beide Ansätze miteinander vergleichen und dann im Einzelfall für die eine oder andere Technologie entscheiden.

Genau mit dieser Fragestellung nativ vs. Cordova vs. nativ mit Xamarin habe ich mich jedoch in den letzten Monaten sehr intensiv beschäftigt. Das Ergebnis ist eine Bewertungsmethode, die eine belastbare und nachvollziehbare Entscheidungsfindung für eine der Alternativen ermöglicht. Details über die Veröffentlichung des dahinter stehenden Models werde ich Anfang nächsten Jahres über meinen Newsletter bekannt geben. Also am besten gleich hier unten am Seitenfuß zum Newsletter anmelden.