Interview: Cross-Platform-Architektur für Xamarin.Forms und WPF (Markus Demmler und Denis Thomas)

18.04.2017 12:35

Der Cross-Plattform Track der DWX 17 steht bald vor der Tür. Hier werden Markus Demmler und Denis Thomas in die „Cross-Platform-Architektur für Xamarin.Forms und WPF“ eintauchen. Vorweg gebe sie allerdings schon ein Exklusivinterview mit Gregor Biswanger, dem Track-Chair für die Themen Web-Backend und Cross-Platform. 

 

Gregor: Bei Eurem Vortrag geht Ihr auf die Cross-Platform-Architektur speziell für Xamarin.Forms und WPF ein. Geht es hierbei darum, so viel Programmcode wie nur möglich wiederzuverwenden? Oder wie die unterschiedlichen Welten miteinander harmonieren können?

Markus/Denis: Unser Vortrag und die zugrundeliegende Cross-Platform App entstanden aus den Anforderungen aus einem Kundenprojekt, wo es darum ging, eine bestehende Fat Client Anwendung (WPF) auch in Teilen als mobile Apps bereitzustellen. Grundlage sollte eine gemeinsame Codebasis mit einem möglichst hohen Code-Sharing Anteil zwischen den einzelnen Plattformen sein, um neue Features nicht nur für die mobilen Apps schnell umsetzen zu können, sondern auch weiterhin die WPF Anwendung zu unterstützen.

  

Gregor: Aus der Xamarin Community höre ich immer wieder, dass Xamarin.Forms sich noch nicht ausgereift anfühlt und sie immer wieder auf Bugs stoßen. Wie ist hierbei Eure Erfahrung im Vergleich zu Xamarin.iOS und Xamarin.Android?

Markus/Denis: Als wir unser erstes Xamarin.Forms Projekt vor mehr als zwei Jahren umgesetzt haben, trafen diese Aussagen sicher zu. Seitdem wurde Xamarin.Forms aber ständig weiterentwickelt und wir machen in den aktuellen Kundenprojekten (Line of Business Apps) sehr gute Erfahrungen damit.

Wichtig ist, dass man sich schon im Vorfeld eines solchen Projekts mit den Grenzen von Xamarin.Forms auseinandersetzt, um die richtige Wahl zwischen Xamarin.Forms und Xamarin.iOS/Xamarin.Android treffen zu können. Wenn ich eine UI bis auf das letzte Pixel stylen will, ist Xamarin.Forms definitiv die falsche Wahl. Wir haben aber die Erfahrung gemacht, dass vor allem bei Line of Business Apps Xamarin.Forms oft eine passende Alternative darstellt.

 

Gregor: Was waren Eure größten Herausforderungen in den Xamarin.Forms Projekten?

Markus/Denis: In einem Xamarin.Forms Projekt liegt meiner Meinung nach die größte Herausforderung darin, die plattformspezifischen Anpassungen der UI nicht überzustrapazieren. Ein konkretes Beispiel dazu: In der für diesen Vortrag erstellten App verwenden wir ein Xamarin.Forms Calendar Control von einem Third Party Control Anbieter. Wie bei allen anderen Xamarin.Forms Controls auch, bietet dieses Control nur eine Teilmenge der Features der zugrundeliegenden nativen Controls an. Wenn ich jetzt z.B. über zahlreiche Custom Renderers versuche, die UI immer weiter plattformspezifisch zu stylen, erreiche ich schnell einen Punkt, an dem ich besser direkt eine Xamarin.iOS bzw. Xamarin.Android UI umgesetzt hätte.

Über die neuere Möglichkeit des direkten Einbindens von nativen Controls in eine Xamarin.Forms Page (Xamarin.Forms 2.2.0+) kann ich teilweise auf diese Custom Renderers verzichten, weiche damit aber den ursprünglichen Cross-Platform UI Gedanken hinter Xamarin.Forms immer weiter auf.

 

Gregor: Wie ist Eure Meinung zur Zukunft von WPF, Universal Windows Apps und Xamarin?

Markus/Denis: Durch die immer noch starke Verbreitung von Windows 7 im Desktop Bereich spielt WPF weiterhin eine wichtige Rolle. Anders sieht es bei UWP aus: Da die Marktanteile von Windows 10 Mobile vernachlässigbar sind, wird dadurch leider auch UWP geschwächt.

Auch im Desktop Bereich unter Windows 10 ist WPF immer noch dominant und UWP spielt hier nur in Nischen (z.B. Fokus auf Touch-Bedienung) eine Rolle.  Dieses geringe Interesse an UWP nehmen wir auch in Kundengesprächen wahr: Eine eigenständige UWP App wird im Enterprise Umfeld selten umgesetzt. Es besteht dort eher der Bedarf, eine solche UWP App direkt über Xamarin.Forms zu realisieren.

 

Gregor: Könnt ihr unseren Lesern zum Schluss noch einen kleinen Cross-Platform-Architektur Tipp verraten?

Markus/Denis: Während der Entwicklung des Cross-Platform Showcase haben wir auch gleich direkt das neue Visual Studio Mobile Center (aktuell noch Preview) eingesetzt, um damit Erfahrungen zu sammeln. Weitere Infos dazu gibt es in dem Blogeintrag von meinem Kollegen Bojan Kosanovic. Eine kurze Demo des Visual Studio Mobile Center wird auch Teil unseres Vortrags auf der DWX 2017 sein.

Ein Tipp auf Code-Ebene ist das Thema Async and Await: Wer UWP auf der Agenda hat – und sei es auch nur zukünftig – der sollte rechtzeitig darauf achten, relevante Schnittstellen asynchron auszulegen. Sonst hat man das Problem später.

 

Gregor: Besten Dank für das tolle Interview Markus und Denis. Ich freue mich schon auf eure Session!

Cross-Platform-Architektur für Xamarin.Forms und WPF 
27.06.2017 09:00 - 10:00 Uhr   Track: Cross-Plattform

Thomas-Denis_dwxspeakerdetail

Denis Thomas ist Senior Developer bei der SDX AG in Frankfurt und unterstützt Enterprise-Kunden bei der Umsetzung komplexer Software-Projekte. Sein Fokus liegt auf der Entwicklung von Business Apps und modernen Webanwendungen im Microsoft .NET Umfeld – mit den Cross-Platform-Technologien Cordova, Xamarin und UWP.

Demmler-Markus_dwxspeakerdetail

Markus Demmler ist Principal eXpert bei der SDX AG in München und unterstützt Enterprise-Kunden bei der Konzeption und Umsetzung skalierbarer Client- und Backend-Architekturen mit Fokus auf die Entwicklung von mobilen Business Apps auf Basis von Xamarin oder Cordova.


Autor Gregor Biswanger

Gregor Biswanger (Microsoft MVP, Intel Black Belt & Intel Software Innovator) ist freier Dozent, Berater, Trainer, Autor und Sprecher. Er berät große und mittelständische Unternehmen, Organisationen und Agenturen rund um die Themen zur Softwarearchitektur, Web- und Cross-Platform-Entwicklung mit JavaScript. Außerdem schreibt er online als freier Autor und bringt für Fachmagazine auch gerne Artikel aufs Blatt. Er ist international als Sprecher auf zahlreichen Konferenzen und Communities unterwegs. Sie erreichen ihn unter www.cross-platform-blog.de.

Gregor Biswanger

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