Mit dem Jahreswechsel 2023/2024 verabschiedet sich die Entwicklergemeinschaft von Xamarin, einer der bekanntesten Cross-Platform-Entwicklungstechnologien der letzten Dekade. Xamarin, einst als die Lösung für mobile App-Entwicklung gepriesen, hat in den letzten Jahren viele Veränderungen durchlaufen. Dieser Blogbeitrag wirft einen Blick auf die Geschichte von Xamarin, seine Errungenschaften und warum es jetzt Zeit ist, sich zu verabschieden.
Xamarin wurde 2011 von den Entwicklern der Mono-Projekte, Miguel de Icaza und Nat Friedman, gegründet. Die Vision war klar: Entwicklern eine Möglichkeit zu bieten, mobile Anwendungen für iOS und Android mit einer gemeinsamen Codebasis in C# zu schreiben. Diese Idee gewann schnell an Fahrt und zog eine wachsende Entwicklergemeinschaft an. 2016 übernahm Microsoft Xamarin und integrierte es als Teil der Visual Studio Entwicklungsumgebung. Dies bot Entwicklern nicht nur eine leistungsstarke IDE, sondern auch Zugang zu einer umfassenden Bibliothek von Tools und Ressourcen.
Xamarin zeichnete sich durch einige Schlüsseleigenschaften aus, die es für Entwickler attraktiv machten:
1. Code-Sharing: Entwickler konnten bis zu 90% des Codes zwischen den Plattformen teilen, was die Entwicklungszeit und -kosten erheblich reduzierte.
2. C# und .NET: Die Verwendung von C# und .NET bedeutete, dass Entwickler keine neuen Programmiersprachen lernen mussten, wenn sie bereits im Microsoft-Ökosystem tätig waren.
3. Native Performance: Xamarin ermöglichte den Zugriff auf native APIs und bot nahezu native Performance, was für viele Entwickler ein entscheidender Vorteil war.
4. Community und Support: Eine starke Entwicklergemeinschaft und umfangreiche Dokumentation halfen, viele Probleme schnell zu lösen und neue Entwickler an Bord zu holen.
Trotz seiner Stärken und Erfolge war Xamarin in den letzten Jahren mit einigen Herausforderungen konfrontiert. Neue Technologien und Frameworks wie Flutter und React Native gewannen an Popularität und boten einige Vorteile, die Xamarin nicht bieten konnte, wie z.B. eine stärkere Community-Unterstützung und eine einfachere Integration in bestehende Web-Entwicklungsumgebungen.
Microsoft erkannte diese Entwicklungen und entschied sich, Xamarin Forms in .NET MAUI (Multi-platform App UI) zu integrieren, das als Teil der .NET 6.0 Veröffentlichung angekündigt wurde. .NET MAUI baut auf den Grundlagen von Xamarin auf, bietet aber eine modernisierte und vereinfachte Architektur für die plattformübergreifende Entwicklung.
Während Xamarin selbst eingestellt wird, lebt sein Erbe in .NET MAUI weiter. Diese neue Plattform zielt darauf ab, die besten Aspekte von Xamarin zu übernehmen und gleichzeitig die Herausforderungen und Schwächen zu adressieren, die im Laufe der Jahre deutlich wurden.
Es gilt jedoch zu berücksichtigen, dass die Migration von Xamarin zu .NET MAUI einige Zeit und Ressourcen erfordert. Migrationstools und Anleitungen sind nur rudimentär und teilweise auch schon wieder veraltet und ebenso gibt es noch zahlreiche Bugs im .Net MAUI SDK, die Entwickler teilweise mit sehr hohem Aufwand "umschiffen" müssen. So beinhaltet
das GITHUB Repository von .Net MAUI aktuell noch über 3000! offene Issues, sodass hier keinesfalls von einer stabilen Version gesprochen werden kann. Euphorie ist also fehl am Platze!
Für Entwickler bedeutet dies:
1. Kontinuität: Bestehende Xamarin-Apps können in die .NET MAUI-Welt migriert werden. Der Aufwand ist jedoch nicht zu unterschätzen!
2. Modernisierung: .NET MAUI bringt modernisierte Tools und eine verbesserte Entwicklungsumgebung, die auf den neuesten Technologien aufbaut.
3. Einheitliche Entwicklung: Mit .NET MAUI wird die Entwicklung von Desktop- und Mobile-Apps weiter vereinheitlicht, was die Effizienz und Flexibilität erhöht.
4. 3000 gemeldete Issues zeigen, dass das .Net MAUI SDK noch nicht stabil ist und Entwickler mit hohem Aufwand Bugs umschiffen müssen.
5. Wenn man Release fähig bleiben möchte, kommt man jedoch nicht um eine Migration herum, da Xamarin nicht mehr supported wird und neue iOS und Android Versionen nicht mehr unterstützt werden.
Das Ende von Xamarin markiert nicht nur das Ende einer Ära, sondern auch den Beginn einer neuen.
Entwickler, die mit Xamarin entwickelt haben, müssen ihre Apps auf .NET MAUI migrieren, um Release fähig zu bleiben.
Steht man vor der Entscheidung, eine neue App zu entwickeln bzw. vor der Entscheidung des richtigen SDKs, so sollte zum aktuellen
Zeitpunkt wohl überlegt werden, ob .NET MAUI die richtige Wahl ist. Die Technologie ist noch nicht ausgereift und es gibt noch zahlreiche Bugs, die den Entwicklungsprozess erschweren.