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 XamarinMono als Implementierung des Microsoft .NET FrameworkXamarin.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 FormsAhead-of-Time (AOT)-Compiler für iOS Just-in-Time (JIT)-Compiler für Android, Windows und macOSWerkzeuge
Xamarin in Visual StudioVisual Studio für MacGemeinsame Benutzung beider EntwicklungsumgebungenEinrichten der EntwicklungsumgebungEinrichten von Android-Emulatoren (Emulator aus Android SDK)Remoted iOS SimulatorXAML Hot Reload und Xamarin Hot RestartEinrichten von echten Geräten zum DebuggingKompilierungDebuggingCode Sharing
Konzepte für gemeinsamen Code in Apps für verschiedene Plattformen.NET StandardBibliotheken
.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/ControlsNuGetPlattformunabhängige Benutzeroberflächen mit Xamarin Forms
XAML als UI-BeschreibungspracheXAML NamespacesSteuereelementeUser ControlsXAML Markup ExtensionsDatenbindungMVVMResource Dictionaries Touch-UnterstützungPlatformspezifische FunktionenXAML Compiler (XAMLC)Praxisszenarien:
Anbindung an Webservices (REST, optional auch SOAP)lokale Datenbankanbindung (SQLite)Konzepte zur Datenaktualisierung auf dem EndgerätPush-Services ("Echtzeit"-Kommunikation) mit ASP.NET (Core) SignalRDatensicherheit auf dem Endgerät (Verschlüsselung der Daten)Testen
Xamarin ProfilerUnit Testing von Xamarin-AppsVisual Studio App Center (ehemals Xamarin Test Cloud)Deployment und Betrieb
Google PlayApple App StoreMac App Store / Mac Developer IDWindows StoreWeitere Themen
Tipps & Tricks Best PracticesAusblick
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.MacUnified 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 CppSharpDevOps (Continuous Integration/Continuous Delivery) für .NET MAUI AppsCrash Reporting und User Tracking mit Application Insights