Schulung Xamarin: .NET-/C#-Cross-Plattform-Entwicklung für Android, iOS (iPhone, iPad), macOS und Windows (.NET Mobile/.NET for iOS/.NET for Android/.NET MAUI)

Beschreibung/Inhalt

Xamarin ermöglicht es Ihnen, für alle Mobilplattformen zu entwickeln und dabei sehr viel gemeinsamen Programmcode (Shared Code) zu nutzen. Xamarin-Apps sind native und damit schnelle Cross-Plattform-Apps mit vollem Zugriff auf alle Systemfunktionen. Xamarin basiert auf dem plattformunabhängigen Programmierframework Microsoft .NET und der Programmiersprache C#. Seit 2016 gehört Xamarin zu Microsoft. Ab .NET 6 wird Xamarin komplett in .NET integriert sein und dann ".NET Mobile" heißen.

Die Bibliothek Xamarin.Forms (Zukunft: .NET MAUI) ermöglicht es, Benutzeroberflächen mit der Sprache XAML (vgl. WPF, UWP, WinUI3) zu erstellen, die auf allen Plattformen laufen. Die .NET Base Class Library und Xamarin.Mobile abstrahieren von gerätespezifischen Funktionen zum Zugriff auf Netzwerk, Webservices, Datenbanken, Geoposition, Kamera, Kontakte u.v.m. Aber auch alle nativen Bibliotheken in C, C++, Objective-C, und Java kann Xamarin nutzen.

Bitte beeachten Sie die technische Restriktion, dass eine Kompilierung für OS X/iOS nur auf einem Mac-System möglich ist.

Eine vergleichbare Schulung gibt es auch als öffentliches Xamarin-Online-Seminar (3 Tage).

Optional: Einführung in die notwendigen Grundlagen zu .NET und C#
Optional: Einführung in die notwendigen Grundlagen zu den Betriebssystemen iOS, macOS, Android und Windows

Grundlagen der Xamarin-Plattform

  • Cross-Platform-Unterschiede zwischen native Apps und Web-Technik-basierten Apps (z.B. Cordova/PhoneGap)
  • Softwareanforderungen und Installation von Xamarin
  • Mono als Implementierung des Microsoft .NET Framework
  • Xamarin.Android (früher: Mono for Android, in Zukunft: .NET for Android)
  • Xamarin.iOS (früher: MonoTouch, in Zukunft: .NET for iOS)
  • .NET Multi-platform App UI (MAUI) / Xamarin Forms
  • Ahead-of-Time (AOT)-Compiler für iOS
  • Just-in-Time (JIT)-Compiler für Android, Windows und macOS


  • Werkzeuge
  • Xamarin in Visual Studio
  • Visual Studio für Mac
  • Gemeinsame Benutzung beider Entwicklungsumgebungen
  • Einrichten der Entwicklungsumgebung
  • Einrichten von Android-Emulatoren (Emulator aus Android SDK)
  • Remoted iOS Simulator
  • XAML Hot Reload und Xamarin Hot Restart
  • Einrichten von echten Geräten zum Debugging
  • Kompilierung
  • Debugging


  • Code Sharing
  • Konzepte für gemeinsamen Code in Apps für verschiedene Plattformen
  • .NET Standard


  • Bibliotheken
  • .NET-Standardbibliotheken (.NET Base Class Library / .NET Framework Class Library)
  • .NET-Wrapper um die Geräte-APIs (MonoTouch.dll, Mono.Android.dll)
  • Cross-Plattform-Abstraktion der Geräte-APIs (Xamarin.Essentials)
  • Ausblick auf Drittanbieterbibliotheken/Controls
  • NuGet


  • Plattformunabhängige Benutzeroberflächen mit Xamarin Forms
  • XAML als UI-Beschreibungsprache
  • XAML Namespaces
  • Steuereelemente
  • User Controls
  • XAML Markup Extensions
  • Datenbindung
  • MVVM
  • Resource Dictionaries
  • Touch-Unterstützung
  • Platformspezifische Funktionen
  • XAML Compiler (XAMLC)


  • Praxisszenarien:
  • Anbindung an Webservices (REST, optional auch SOAP)
  • lokale Datenbankanbindung (SQLite)
  • Konzepte zur Datenaktualisierung auf dem Endgerät
  • Push-Services ("Echtzeit"-Kommunikation) mit ASP.NET (Core) SignalR
  • Datensicherheit auf dem Endgerät (Verschlüsselung der Daten)


  • Testen
  • Xamarin Profiler
  • Unit Testing von Xamarin-Apps
  • Visual Studio App Center (ehemals Xamarin Test Cloud)


  • Deployment und Betrieb
  • Google Play
  • Apple App Store
  • Mac App Store / Mac Developer ID
  • Windows Store


  • Weitere Themen
  • Tipps & Tricks
  • Best Practices


  • Ausblick
  • Xamarin in .NET 6: .NET Mobile Workloads
  • .NET for iOS/.NET for Android
  • .NET Multi-Platform App UI (MAUI)


  • Optionale Themen auf Wunsch
  • Plattformspezifische Apps für Android, iOS und Windows (mit Code Sharing)
  • Xamarin.Mac
  • Unified API für iOS und MAC für 32- und 64-Bit (Integration von MonoMac und MonoTouch)
  • Binding-Projekte für Native Bibliotheken in Java und ObjectiveC (Java-Bindungen / JNI), C++ via CppSharp
  • DevOps (Continuous Integration/Continuous Delivery) für .NET MAUI Apps
  • Crash Reporting und User Tracking mit Application Insights

  • Dauer
    Auf Wunsch. Gerne geben wir Ihnen eine Empfehlung zur notwendigen Schulungsdauer, wenn Sie uns in der Anfrage Ihre Vorkenntnisse und Ziele nennen.
    Ort
    Online oder in Deutschland, Österreich und der Schweiz an Ihrem Firmensitz
    Schulungsdidaktik
    Nach Ihrer Wahl: Klassische Schulung mit PC-Übungen, reine Präsentation ohne PC-Übungen oder interaktiver Workshop mit Beratungsanteil