Maybaygiare.org

Blog Network

Das Gute und das Schlechte von Xamarin Mobile Development

INHALT

Lesezeit: 16 Minuten

Bei der Entwicklung von iOS- oder Android-Apps denken die meisten von uns zuerst an Objective-C vs Swift und Java. Da sie als native Tech-Stacks gelten, werden sie natürlich am häufigsten für mobile Entwicklungstools verwendet, wenn es um die Entwicklung von iOS- und Android-Apps geht. Es gibt jedoch noch mehr Möglichkeiten, performante und benutzerfreundliche mobile Apps zu erstellen. Und Xamarin ist einer von ihnen. In diesem Artikel führen wir eine eingehende Überprüfung von Xamarin durch und vergleichen es mit nativen und plattformübergreifenden mobilen Entwicklungslösungen auf dem Markt. Wenn Sie die Grundlagen kennen, sollten Sie zu den Abschnitten springen, an denen Sie interessiert sind.

Was ist Xamarin?

Es ist unmöglich, Xamarin zu ignorieren, wenn man über die wichtigsten Ansätze zur Entwicklung mobiler Anwendungen spricht. Xamarin ist ein Tool für die plattformübergreifende Entwicklung mobiler Apps, mit dem Ingenieure bis zu 90 Prozent des Codes auf allen wichtigen Plattformen gemeinsam nutzen können. Als vergleichsweise neues Tool basiert es auf dem Microsoft-Technologie-Stack und hat bereits eine Community von über 1,4 Millionen Entwicklern.

Die Plattform wurde von den Entwicklern von Mono, einer Open-Source-Entwicklungsplattform auf Basis des .NET-Frameworks, unter der Leitung von Miguel de Icaza entwickelt und erstmals 2001 eingeführt. Die Xamarin Company wurde am 16.Mai 2011 gegründet.

Im Gegensatz zu seinem Vorgänger wurde Xamarin jedoch als kommerzielles Projekt erstellt, bis das Unternehmen 2016 von Microsoft übernommen wurde. Xamarin wurde zu einem beliebten plattformübergreifenden Produkt für die Entwicklung mobiler Apps im Microsoft-Ökosystem. Diese Akquisition durchbrach die finanzielle Barriere für die Verwendung von Xamarin. Als Microsoft Xamarin SDK Open-Source machte, wurde es Teil der integrierten Entwicklungsumgebung von Xamarin Visual Studio (wir diskutieren die besten IDEs für die Xamarin-Entwicklung unten). Was sind die Hauptmerkmale von Xamarin?

C#-Sprache. Xamarin verwendet eine einzige Sprache, C #, um Apps für alle mobilen Plattformen zu erstellen. Im Gegensatz zu anderen Lösungen wie Appcelerator Titanium ist Xamarin nativ kompiliert, was es zu einer bevorzugten Option für die Erstellung leistungsstarker Apps mit nativem Erscheinungsbild macht.

Basiert auf .NET Framework. C # ist eine ausgereifte Sprache mit starker Sicherheitstypisierung, die Code vor unerwartetem Verhalten schützt. Da C # eine der .NET Framework-Sprachen ist, kann es mit einer Reihe nützlicher .NET-Funktionen wie Lambdas, LINQ und asynchroner Programmierung (async / await) verwendet werden.

Technisch gesehen verwendet Xamarin C # und native Bibliotheken, die in die .Net Layer für plattformübergreifende App-Entwicklung. Solche Anwendungen werden in Bezug auf Leistung und Benutzererfahrung häufig mit nativen mobilen Entwicklungsplattformen für iOS und Android verglichen. Darüber hinaus kann Xamarin alle nativen und neuesten API-Zugriffe nutzen, um die zugrunde liegenden Plattformfunktionen in Xamarin-Apps wie ARKit unter iOS oder Android Multi-Window zu nutzen.

Xamarin platform

Während der Code für Geschäftslogik, Datenbankzugriff und Netzwerkkommunikation auf allen Plattformen gemeinsam genutzt werden kann, können Sie mit Xamarin eine plattformspezifische UI-Codeschicht erstellen. Daher sehen plattformübergreifende Xamarin-Apps auf jedem Gerät zu 100% nativ aus und bieten eine bessere Benutzererfahrung als generische Hybrid-Apps.

Kompilierung. Die Plattform hat zwei Hauptprodukte: Xamarin.iOS und Xamarin.Android. Im Fall von iOS wird der Quellcode direkt in nativen ARM-Assemblercode kompiliert (Ahead-of-Time–Kompilierung), während Android Xamarin-Apps zuerst in die Zwischensprache und dann zur Laufzeit in nativen Assemblercode kompiliert werden (Just-in-Time-Kompilierung). In beiden Fällen ist der Prozess jedoch automatisiert und auf Probleme wie Speicherzuweisung, Speicherbereinigung und Plattforminteroperabilität zugeschnitten.

Xamarin.Forms. Xamarin.Forms ist ein separates Produkt, mit dem Prototypen oder mobile Apps erstellt werden können, die bis zu 100 Prozent des Codes für iOS und Android freigeben.

Xamarin.Mac. Darüber hinaus können Ingenieure Xamarin verwenden.Mac zum Erstellen von Anwendungen für Mac OS. Diese und einige andere Produkte aus dem Xamarin-Stack werden später besprochen.

Plattform-SDKs. Xamarin bietet Zugriff auf plattformspezifische SDKs (Cocoa Touch für iOS und Android SDK) über einfache C # -Syntax.

Plattformspezifische Codebindungen. In den meisten Fällen können Ingenieure die Entwicklung unter Beibehaltung des nativen Erscheinungsbilds der jeweiligen Plattformen in der Xamarin-Umgebung übernehmen. Mit Xamarin können Sie jedoch vorhandenen Plattformcode (z. B. Swift für iOS) aufrufen, wenn Sie einige Module wiederverwenden oder plattformspezifische Funktionen wie Barcode-Scannen, PayPal- oder Google Analytics-Integration implementieren müssen.

Unterstützung von Wearables. Xamarin unterstützt das Erstellen von Apps für Apple- und Android Watch-Geräte. Ingenieure können Visual Studio sowohl für Mac als auch für Windows verwenden, um iOS Apple Watch-Apps zu erstellen. Außerdem unterstützt Xamarin Android Wear vollständig.

Xamarin-Projektstruktur. Es wird erwartet, dass die meisten Arbeiten im Zusammenhang mit Xamarin über einen Windows-Entwicklungscomputer ausgeführt werden, auf dem Visual Studio und Xamarin installiert sind. Die Apps können direkt vom Desktop oder auf Geräten und Emulatoren debuggt werden. Wenn Sie iOS-Apps unter Windows entwickeln möchten, ist dies auch möglich, da Visual Studio eine Verbindung zum iOS Storyboard Designer und iOS Simulator herstellt. Es gibt auch Visual Studio für Mac, mit dem Sie einen Simulator auf dem Mac oder direkt auf einem angebundenen iPhone ausführen können. Das Debuggen wird über Visual Studio ausgeführt.

Xamarin project structure

Xamarin project structure. Image source: Developer Support Blog

To get a more in-depth understanding of Xamarin engineering aspects consider checking these resources:

Main Xamarin Documentation Hub

Xamarin.Android Documentation

Xamarin.iOS Documentation

Xamarin.Forms Documentation

Visual Studio für Xamarin

Xamarin Studio App Center

Xamarin Community Forum

Wie jede andere Technologie hat auch Xamarin seine eigenen Vor- und Nachteile, die in letzter Zeit heftig diskutiert wurden. Um eine fundierte Entscheidung über Xamarin vs. native Entwicklung zu treffen, lassen Sie uns alle Vor- und Nachteile der App-Entwicklung mit Xamarin abwägen. Wenn Sie wirklich unter Zeitdruck stehen, empfehlen wir Ihnen, dieses Video anzusehen, das in weniger als 6 Minuten einen umfassenden Überblick über die Stärken und Schwächen der Xamarin-Plattform bietet.

Wenn Sie auf Details eingehen möchten, lesen Sie weiter.

Vorteile der Verwendung von Xamarin für die Entwicklung

Es gibt gute Gründe, warum Xamarin von zahlreichen Unternehmen verwendet wird, darunter Trello, Slack und GitHub.

⊕ Ein Technologie-Stack zum Codieren für alle Plattformen

Xamarin verwendet C# in Kombination mit .Net Framework, um Apps für jede mobile Plattform zu erstellen. So können Sie durchschnittlich 80-90 Prozent des Codes plattformübergreifend freigeben und den Entwicklungszyklus beschleunigen. Xamarin erfordert auch keinen Wechsel zwischen den Entwicklungsumgebungen: Sie können alle Ihre Xamarin-Apps in Visual Studio oder Visual Studio Code erstellen. Die plattformübergreifenden Entwicklungstools werden als integrierter Teil der IDE ohne zusätzliche Kosten bereitgestellt.

⊕ Leistung nahezu nativ

Im Gegensatz zu herkömmlichen Hybridlösungen, die auf Webtechnologien basieren, kann eine mit Xamarin erstellte plattformübergreifende App weiterhin als nativ eingestuft werden. Während sich die Plattform entwickelt, wird die Xamarin-Leistung ständig verbessert, um den Standards der nativen Entwicklung vollständig zu entsprechen, wobei Microsoft Ratschläge zu Optimierungstechniken gibt. Visual Studio bietet auch eine Komplettlösung zum Erstellen, Testen und Verfolgen der App-Leistung: Mit Visual Studio App Center können Sie automatisierte UI-Tests ausführen und Probleme vor der Veröffentlichung identifizieren. Dieser Service wird jedoch gegen eine zusätzliche Gebühr angeboten.

Zuvor haben wir die Leistung von Xamarin und nativen Apps getestet und verglichen. Die Ergebnisse sind möglicherweise etwas veraltet; sie zeigen jedoch deutlich das anständige Leistungsniveau der Xamarin-Apps.

⊕ Native Benutzererlebnisse

Mit Xamarin können Sie mithilfe plattformspezifischer Benutzeroberflächenelemente fehlerfreie Benutzererlebnisse erstellen. Es ist auch möglich, plattformübergreifende Apps für iOS, Android oder Windows mit Xamarin zu erstellen.Forms-Tool, das App-UI-Komponenten zur Laufzeit in plattformspezifische Schnittstellenelemente konvertiert. Wie die Verwendung von Xamarin.Forms erhöht die Geschwindigkeit der App-Entwicklung erheblich und ist eine großartige Option für geschäftsorientierte Projekte. Aufgrund der zusätzlichen Abstraktionsschicht kann es jedoch zu einem leichten Leistungsabfall kommen. Für eine benutzerdefinierte App-Benutzeroberfläche und eine höhere Leistung können Sie weiterhin Xamarin verwenden.iOS und Xamarin.Android separat zu gewährleisten hervorragende ergebnisse.

Traditionell wird Xamarin nicht als die beste Option für Apps mit starker Grafik angesehen. Allerdings gibt es eine Reihe von Bibliotheken wie OpenGL ES und Frameworks wie DataSharp und Urho, die die Entwicklung von Apps mit reichhaltiger benutzerdefinierter Benutzeroberfläche, komplexen Animationen oder Spielen auch in Xamarin ermöglichen.

⊕ Volle Hardwareunterstützung

Mit Xamarin erhält Ihre Lösung App-Funktionalität auf nativer Ebene. Es beseitigt alle Hardware-Kompatibilitätsprobleme, indem Plugins und spezifische APIs verwendet werden, um mit gängigen Gerätefunktionen auf allen Plattformen zu arbeiten. Neben dem Zugriff auf plattformspezifische APIs unterstützt Xamarin die Verknüpfung mit nativen Bibliotheken. Dies ermöglicht eine bessere Anpassung und Funktionalität auf nativer Ebene mit geringem Overhead.

⊕ Open-Source-Technologie mit starker Unternehmensunterstützung

Nach der Übernahme des Unternehmens durch Microsoft im Februar 2016 wurden die Lizenzierungsrichtlinien von Xamarin radikal geändert. Das Xamarin SDK, einschließlich Laufzeit, Bibliotheken und Befehlszeilentools, ist Open Source und für alle unter der MIT-Lizenz als Teil von Visual Studio verfügbar. Durch die Beseitigung der Hauptbarriere, der Lizenzkosten, ebnete Microsoft den Weg für das weitere Wachstum der Plattform. Plus, angeführt von Microsoft, und unterstützt von Unity, JetBrains, und Red Hat, das .NET Foundation im Allgemeinen und Xamarin speziell hat sich zu einem zuverlässigen und leistungsstarken Tech-Stack entwickelt.

⊕ Vereinfachte Wartung

Aufgrund seiner plattformübergreifenden Anwendung erleichtert Xamarin Wartung und Updates. Sie können die Änderungen oder Aktualisierungen einfach in der Quelldatei bereitstellen und sie werden sowohl auf iOS- als auch auf Android-Apps angewendet. So sparen Sie Zeit und Geld und halten Ihre Apps auf dem neuesten Stand.

⊕ Vollständiges Entwicklungsökosystem

Xamarin wird in einem Paket mit einem vollständigen Entwicklungs-Toolset einschließlich einer eigenen IDE geliefert. Im April 2018 wurden viele Xamarin-Entwicklungstools, die zuvor als separate Features bekannt waren, Teil des Visual Studio App Centers. Enthalten sind die Plattform selbst (Xamarin SDKs), Testing (ehemals Xamarin Test Cloud), Distribution und Analytics (ehemals Xamarin.Insights) Plattformen und vieles mehr. Da das Toolkit weiterhin kostenlos ist, müssen Sie nicht in zusätzliche Tools investieren oder Apps von Drittanbietern integrieren, um Ihre Xamarin-Apps zu erstellen, zu testen und bereitzustellen.

⊕ Xamarin.Formulare: ein Framework zum Erstellen nativer UI-Layouts

Xamarin schlägt Entwicklern vor, mobile Apps auf zwei Arten zu erstellen. Die erste ist die Verwendung von Xamarin.iOS und Xamarin.Android, die früher erschienen und ursprünglich als fähiger angesehen wurden. Verwenden von Xamarin.Dies ist der zweite Ansatz. Es handelt sich um eine erweiterte Version, die Rapid Prototyping oder die Erstellung von Apps mit weniger plattformspezifischen Funktionen ermöglicht. Deshalb Xamarin.Formulare eignen sich am besten für Apps, bei denen die gemeinsame Nutzung von Code wichtiger ist als die benutzerdefinierte Benutzeroberfläche. Sie können bis zu 99% des Codes wiederverwenden, was bedeutet, dass Sie eine einzige Schnittstelle erstellen und plattformübergreifend freigeben können, ohne für jede Plattform einzeln entwerfen zu müssen. Sie können auch Anwendungen erstellen, bei denen einige Teile ihrer Benutzeroberflächen mit Xamarin erstellt werden.Formulare und die anderen werden mit dem nativen UI-Toolkit entwickelt.

Als Xamarin.Formen entwickelten sich im Laufe der Jahre, es wurde zu einem universellen Werkzeug und erwarb eine lebendige Gemeinschaft, die darauf achtet. Zum Beispiel tragen einige Technologieanbieter ihre Bibliotheken wie Telerik UI bei, die die technischen Funktionen durch vorkonfigurierte UI-Komponenten bereichern.

⊕ Xamarin.Formulare XAML Hot Reload

Als Xamarin.Forms zielt auf eine schnelle und reibungslose Entwicklung ab, Microsoft schlägt vor, ein XAML-Hot-Reload-Tool zu verwenden. Es beschleunigt die Entwicklung, indem Sie XAML während des Debuggens ändern und diese Änderungen sofort in der laufenden App sehen können, ohne dass Sie sie anhalten und neu erstellen müssen. Darüber hinaus werden Ihr Navigationsstatus und Ihre Daten beibehalten, sodass Sie Ihre Benutzeroberfläche schnell durchlaufen können. Auf diese Weise ermöglicht XAML Hot Reload eine schnellere Neuerstellung und Bereitstellung Ihrer Apps, um Änderungen an der Benutzeroberfläche zu validieren.

⊕ Erstellen von Apps für Macs mit Xamarin.Mac-Werkzeug

Xamarin.Mac ermöglicht die Entwicklung vollständig nativer Mac-Apps mit C # und .NET. Es lässt sich in dieselben Bibliotheken integrieren, die für die Entwicklung in Objective-C mit Xcode verwendet werden. Durch die Verwendung von Xamarin.Mac kombiniert mit Xamarin.iOS und Xamarin.Android-Entwickler können bis zu 90 Prozent des nativen Codes für Android, iOS und Mac OS freigeben. Darüber hinaus Xamarin.Mac integriert sich in Xcode, sodass ein Entwickler den Interface Builder von Xcode verwenden kann, um die Benutzeroberflächen einer App zu erstellen.

⊕ Xamarin Learning Resources

Microsoft Learn ist ein Online-Bildungsportal, das Menschen hilft, technische Fähigkeiten im Zusammenhang mit Microsoft-Produkten, einschließlich Xamarin, zu entwickeln. Die Plattform bietet Kurse für Anfänger und erfahrene Ingenieure, so dass die Lernenden für Microsoft-Zertifizierungen vorzubereiten. Zu den Bildungsressourcen gehören kostenloses selbstgesteuertes Lernen, Live-Online-Kurse, Bürovorträge und Gastvorträge.

⊕ Xamarin-Unterstützung von Fernsehgeräten, Wearables und IoT

Das Xamarin-Framework dank seines Xamarin.Formulare, ermöglicht das Erstellen tragbarer Versionen für viele Plattformen. Neben iOS, Android, Windows Phones und Mac können Sie Anwendungen für Tizen – ein Betriebssystem, das auf einigen Samsung–Geräten verwendet wird – für Wearables, Fernseher und IoT entwickeln. Außerdem Xamarin.iOS ermöglicht das Erstellen von Anwendungen für tvOS für Apple und watchOS.

Xamarin Nachteile zu berücksichtigen

Es gibt jedoch noch einige Nachteile, die einen Schatten auf die Plattform werfen können. Warum also nicht Xamarin verwenden?

Eine leicht verzögerte Unterstützung für die neuesten Plattform-Updates

Dies hängt vollständig vom Xamarin-Entwicklerteam ab. Für Tools von Drittanbietern ist es unmöglich, sofortige Unterstützung für die neuesten iOS- und Android-Versionen bereitzustellen, da die Implementierung der Änderungen und / oder die Einführung neuer Plugins usw. einige Zeit in Anspruch nimmt

Mit eingeschränktem Zugriff auf Open-Source-Bibliotheken

Native Entwicklung nutzt Open-Source-Technologien in großem Umfang. Mit Xamarin müssen Sie die von der Plattform bereitgestellten Elemente und einige .NET-Open-Source-Ressourcen verwenden, die sowohl Entwicklern als auch Verbrauchern zur Verfügung stehen. Während die Auswahl nicht ganz so umfangreich ist wie für die Entwicklung mobiler Android- und iOS-Apps, können Sie NuGet-Pakete verwenden, die jetzt alles enthalten, was in den pensionierten Xamarin-Komponenten enthalten war.

Sehr hohe Kosten für den professionellen und Unternehmenseinsatz

Obwohl Xamarin eine kostenlose Open-Source-Plattform für einzelne Entwickler ist, kann das Framework für Unternehmensanforderungen einen hübschen Cent kosten. Sie werden viel ausgeben, um eine Lizenz für Visual Studio zu erwerben. Zum Beispiel kostet Visual Studio Professional mit dem Kernsatz von Entwicklungstools $ 1.199 für das erste Jahr und $ 799 für die Erneuerung. Gleichzeitig kostet ein Visual Studio Enterprise, das das Experimentieren mit zusätzlichen Tools ermöglicht, 5.999 US-Dollar für das erste Jahr und 2.569 US-Dollar für die Verlängerung. Die Funktionen für beide decken wir unten ab.

Einschränkungen des Xamarin Talent Pools und der Community

Offensichtlich ist die Xamarin-Community deutlich kleiner als die von nativem iOS oder Android. Es ist auch kleiner als React und Ionic Communities. Daher könnte es eine Herausforderung sein, einen erfahrenen Xamarin-Entwickler zu finden.

Laut der Stack Overflow-Umfrage 2020 nur 5.8 Prozent verwendeten Xamarin Framework ab 2020, verglichen mit 11,5 Prozent von React Native und 7,2 Prozent von Flutter.

Verwendung von Xamarin im Vergleich zu anderen Frameworks. Bildquelle: Stack Overflow

Trotz der Tatsache, dass die Anzahl der Xamarin-Ingenieure nicht mit den nativen iOS- oder Android-Communities vergleichbar ist, bietet die Plattform ihren Entwicklern umfangreiche Unterstützung. Wie bereits erwähnt, bietet Microsoft Learn Ressourcen und praktische Schulungen für diejenigen, die mit dieser Technologie noch nicht vertraut sind. Mit dieser Unterstützung ist die Lernkurve für einen erfahrenen C # / .Net-Ingenieur minimal.

Ein weiteres Problem, mit dem einige Entwickler konfrontiert sind, ist die Fragmentierung und der Mangel an Standards für Lern- und Entwicklungsressourcen, einschließlich Dokumenten. Dies wirkt sich auf die Qualität der Unterstützung aus, die Sie erhalten werden.

Erfordert Grundkenntnisse der Muttersprachen

Bei der Verwendung von Xamarin.iOS und Xamarin.Android Um mobile Apps mit einem wirklich nativen Erscheinungsbild zu erstellen, müssen Sie weiterhin eine plattformspezifische Codeebene mit den nativen APIs jeder Plattform schreiben. Auch wenn es nicht mehr wie früher obligatorisch ist, wäre es hilfreich, zumindest über Grundkenntnisse in nativen Technologien (Java / Kotlin für Android und Objective-C / Swift für iOS) zu verfügen, um die plattformspezifische Dokumentation verstehen und optimal nutzen zu können. Auch Xamarin.Die Essentials-Bibliothek bietet mehrere plattformübergreifende APIs und kann für den Zugriff auf native Funktionen verwendet werden. Dies gilt jedoch nicht für Xamarin.Forms.

Θ Größere App-Größe

Je nach Typ und Komplexität sind Xamarin-Apps in der Regel größer als native Apps (letztere sind möglicherweise halb so groß wie eine Xamarin-App). Eine einfache „Hallo, Welt“ -App für Android benötigt möglicherweise bis zu 16 MB, von denen ein Großteil von den zugehörigen Bibliotheken, Inhalten, Mono-Laufzeiten und BCL-Assemblys (Base Class Library) verwendet wird.

Xamarin-App-Größe

Xamarin-App-Größe. Bildquelle: Entwickler.xamarin.com Daher benötigen Xamarin-Apps normalerweise eine zusätzliche Optimierung, z. B. eine Verknüpfung, um den nicht verwendeten Code aus den enthaltenen Bibliotheken zu entfernen und die App-Dateigröße angemessen zu halten.

Xamarin.Formulare werden bald nicht mehr existieren

Im Mai 2020 fand die jährliche Microsoft Build Conference statt. Unter anderem wurde angekündigt, dass Xamarin.Forms wird mit .NET verschmelzen und sich zu einem neuen plattformübergreifenden Framework namens .NET Multi-Platform App UI oder MAUI entwickeln. MAUI wird alle nativen Benutzeroberflächen haben und Zugriff auf alle nativen APIs bieten.

Auch als Teil des Graduellen .NET Vereinheitlichung, Xamarin.Android und Xamarin.iOS wird schließlich Teil von .NET 6 als .NET für iOS und .NET für Android und wird aktualisiert, um anderen .NET-Workloads zu entsprechen. Der Zeitplan dafür ist noch unbekannt, also bleiben Sie dran für zukünftige Updates.

Inzwischen ist die Xamarin.Die Migration sollte im November 2021 stattfinden. Sobald MAUI veröffentlicht wird, wird Xamarin für weitere 12 Monate unterstützt. Wenn Sie also im Moment mit Xamarin arbeiten oder neue Xamarin-Apps erstellen möchten, lohnt es sich, die Daten im Auge zu behalten und nach Microsoft-Anleitungen für einen reibungslosen Übergang zu suchen.

Mögliche Kompatibilitätsprobleme mit Bibliotheken und Tools von Drittanbietern

Bei der Integration von Ressourcen von Drittanbietern in Ihre Xamarin-App kann es zu Problemen kommen. Während die meisten Tools und Bibliotheken vollständige Unterstützung für native Technologien bieten, wird der Xamarin-Support möglicherweise nicht von einem Anbieter bereitgestellt. Obwohl Xamarin über einen eigenen Komponentenspeicher verfügt, besteht immer die Möglichkeit, dass Sie eine bestimmte Funktion oder Integration in Ihre App benötigen, die nicht von der Plattform bereitgestellt wird. Um andere Pakete von Drittanbietern zu nutzen, müssen Sie Wrapper verwenden.

Xamarin Visual Studio IDE

Wenn Sie das Gefühl haben, dass Xamarin das Richtige für Sie ist, werden Sie daran interessiert sein, die wichtigsten Xamarin-IDEs zu kennen, die verwendet werden können, und wie sie miteinander verglichen werden.Visual Studio (VS) ist eine integrierte Entwicklungsumgebung (IDE) von Microsoft, die zum Erstellen, Debuggen und Veröffentlichen von Anwendungen auf allen Plattformen und Geräten verwendet wird. Es gibt drei Hauptversionen von Visual Studio für Xamarin: Visual Studio Community, Visual Studio Professional und Visual Studio Enterprise. Die Schlüsselfaktoren für die Auswahl einer akzeptablen Version sind die Erfahrung der Entwickler (Studenten oder professionelle Ingenieure) und ihre Teamgröße. Programmierer können Software für Web, Mobile, Server und Desktop mit allen Versionen entwickeln. Erfahren Sie mehr über Visual Studio in unserem Artikel über die für die .NET-Entwicklung verwendeten Tools.

Die neueste Version ist Visual Studio 2019. Im Vergleich zu VS 2017 enthält es zahlreiche Verbesserungen, die die Anwendungsentwicklung beschleunigen, von der Zusammenarbeit in Echtzeit mit Visual Studio Live Share bis zum neuen Visual Studio-Startfenster. Außerdem unterstützt es DPI pro Monitor und verbesserte Debug-Funktionen.

Die Xamarin-Arbeitsbelastung wird jetzt gegenüber früheren Versionen um das 3-fache reduziert, dh von 23 GB auf 7 GB. Es reduziert die Auswirkungen auf die Festplatte drastisch und beschleunigt die Installation. Darüber hinaus hat die neue Version erhebliche Verbesserungen für die Verwaltung von Android SDK und Emulatoren vorgenommen. Es wurden auch große Anstrengungen unternommen, um das UI-Authoring zu stärken. Dazu gehört auch Xamarin.Formularverbesserungen mit IntelliCode für XAML, AXML-Erweiterungen für Android, aktualisierter Xamarin iOS-Versand und viele andere Funktionen.Visual Studio Community eignet sich gut für Studenten, Open-Source-Projekte und kleine Entwicklungsteams mit bis zu 5 Benutzern. Das Community-Paket eignet sich auch für Teams, die neu in Visual Studio sind. Diese Version ist kostenlos für den Einsatz.Visual Studio Professional ist eine Reihe von Tools und Diensten, die für professionelle Entwickler, kleine Teams und Unternehmen entwickelt wurden. Diese Version bietet leistungsstarke Funktionen, um Ihren Code schnell zu verstehen: Anzeigen von Codeverweisen, Änderungen an Ihrem Code, Anzeigen, wer eine Methode zuletzt geändert hat, oder Ermitteln, ob Tests bestanden werden. Die Professional-Version enthält Azure DevOps, eine Sammlung von Funktionen wie agile Projektplanungs- und Testtools, CI / CD-Pipelines, Berichtslösungen und mehr. Der Jahrespreis für diese Version beträgt 1.199 US-Dollar.

Visual Studio Enterprise verfügt über stärkere Support-Tools und -Dienste. Sie ermöglichen die Verwaltung komplexerer Prozesse zwischen Entwicklung und IT-Betrieb, die Verfolgung der Qualität mit manuellen und automatisierten Testtools, den Zugang zu professionellen Schulungen und dem gesamten Microsoft Engineering- und Testing-Ökosystem. Die Enterprise-Version bietet außerdem vorrangigen Support, Partnerangebote und vieles mehr. Der Jahrespreis für Enterprise Studio beträgt 5.999 US-Dollar.

Für Unternehmen empfehlen wir außerdem, das Visual Studio App Center zu überprüfen. Es ist ein Tool, das den App-Entwicklungsworkflow für verschiedene mobile Technologien einschließlich Xamarin organisiert. Hier können Engineering-Teams, die an mehreren Apps arbeiten, ihr Toolset zusammenführen. Es automatisiert die App-Paketierung über GitHub oder Bitbucket, bietet Integration für verschiedene Testdienste, ermöglicht die Verteilung von E-Mail-Apps zum Testen, führt Crash-Tracking und Analysen durch.Visual Studio Code oder VS Code wurde 2019 als beliebteste Entwicklungsumgebung eingestuft, wobei 50,7 Prozent der Entwickler angaben, sie zu verwenden. VS Code ist ein kostenloser, leichter Open-Source-Code-Editor, der alle wichtigen Tools bietet, die für einen einfachen Zyklus von Codebearbeitung, -erstellung und -debugging erforderlich sind, jedoch nicht über die Funktionen der voll ausgestatteten IDEs verfügt, mit denen komplexere Workflows verwaltet werden können. Es läuft auf Mac, Linux und Windows und unterstützt grundlegende Entwicklungsvorgänge wie Task-Ausführung, Fehlerbehebung und Versionskontrolle. Es verfügt auch über IntelliSense für KI-unterstützte Entwicklung, arbeitet mit GitHub zusammen und verfügt über ein reichhaltiges Ökosystem an Erweiterungen. VS Code ist schnell, einfach zu bedienen, in hohem Maße konfigurierbar und kann eine gute Wahl sein, wenn Sie etwas Leichtes benötigen, aber mit guter Funktionalität

Visual Studio Online oder GitHub Cloudspaces ist eine browserbasierte Entwicklungsumgebung, die VS 2019 und VS Code unterstützt. Es ist jetzt nur in der Beta verfügbar und hat eingeschränkte Funktionalität

Wechsel von Android Studio oder Xcode zu Visual Studio

Wenn Ihr Entwicklungsteam den Übergang von Android Studio (AS) oder Xcode zu Visual Studio in Betracht zieht, wird die Lernkurve nicht so steil sein. Die Feature-to-Feature-Vergleiche zeigen, dass die IDEs in Bezug auf die Entwicklungsabläufe mit kleinen Nuancen für jede der Umgebungen sehr ähnlich sind.

Von Android Studio zu Visual Studio. Während sich der offizielle Support von Android Studio auf Java-, C / C ++ -, Kotlin- und XML-Sprachen konzentriert, unterstützt VS alle wichtigen Programmiersprachen, einschließlich der von AS. Dies liegt an dem breiten Spektrum an Plattformen, die IDE bietet. VS bietet mehr Engineering-Freiheit und ermöglicht das Arbeiten mit verschiedenen Projekten aus einer Umgebung. Wenn Sie die in AS integrierte Google Cloud Platform zum Ausführen virtueller Maschinen oder zum Verwalten von Projekten verwendet haben, ist Google so freundlich, seine Cloud Platform-Erweiterung auch für VS bereitzustellen. Grundsätzlich können Sie sowohl das Microsoft Cloud-Ökosystem als auch die Google Cloud direkt von VS aus verwenden. Visual Studio kann auf allen Hauptplattformen installiert werden: Windows, Android, Mac OS und Linux.

Von Xcode zu Visual Studio. Xcode IDE, ähnlich wie VS, unterstützt Quellcode für alle wichtigen Programmiersprachen. Es wird also nach dem Übergang keine Überraschung geben. Wenn Sie während der Verwendung von Xcode an Mac OS gebunden waren, wird für VS keine Apple-Hardware benötigt. Für diejenigen, die CloudKit für serverseitigen Speicher verwenden, ermöglichen Visual Studio und Xamarin eine einfache Integration von CloudKit. Der Hauptnachteil der Verwendung von VS im Vergleich zu Xcode ist der Preis: Sowohl Android Studio als auch Xcode können kostenlos verwendet werden, während VS eine ziemlich hohe Abonnementgebühr erfordert.

Nach Schätzungen der Entwickler haben Visual Studio und Android Studio größtenteils die gleiche Benutzerfreundlichkeit und Supportqualität. Wenn wir dieselben Indizes mit VS und Xcode vergleichen, können wir sagen, dass VS-Schätzungen etwas besser sind. Visual Studio ist auch bei Unternehmen beliebter (>1000 Mitarbeiter), während etwa 50 Prozent der Android Studio- und Xcode-Benutzer kleine Unternehmen sind (50 oder weniger Mitarbeiter).

Wenn man bedenkt, dass Strategy Analytics in mobilen Entwicklungsumgebungen rangiert, erreichte Xcode ebenso wie Visual Studio den höchsten Rang bei den Testkapazitäten. Android Studio blieb zurück. Die Gesamtpunktzahlen waren: Xcode-22; Visual Studio -21; und Android Studio -13.

Unter Berücksichtigung anderer Optionen: Xamarin vs. Hybridentwicklung vs. natives iOS / Android vs. andere plattformübergreifende Frameworks

In letzter Zeit sind sich viele Entwickler einig, dass Xamarin als „natives“ Entwicklungstool angesehen werden kann. In der Tat gibt es die Meinung, dass „alles, was in einer iOS-Anwendung mit Objective-C oder Swift und alles, was in einer Android-App mit Java ausgeführt werden kann, in C # mit Xamarin ausgeführt werden kann.“

Dennoch gibt es viele Fallstricke in der native vs Xamarin Debatte. Mal sehen, wie Xamarin mit den nativen Entwicklungstools und hybriden Entwicklungsplattformen (Ionic, PhoneGap / Cordova) verglichen wird.

Xamarin vs Native vs hybride Entwicklung

Xamarin vs Hybrid vs native Entwicklung auf den Punkt gebracht

Obwohl hybride mobile sie entwickeln sich schnell weiter und verfügen immer noch nicht über die Leistung und die nativen Funktionen, die Xamarin zu ungefähr den gleichen Kosten bietet. Die kürzere Markteinführungszeit bleibt jedoch ihr Hauptvorteil.

Bei der Wahl zwischen Xamarin oder nativem iOS / Android müssen Sie die verfügbare Zeit und das verfügbare Budget (native Entwicklung ist normalerweise teurer und dauert länger) und die Art der App berücksichtigen. Wenn Sie High-End-Leistung und eine perfekt angepasste Benutzeroberfläche benötigen, lohnt es sich, native Apps zu verwenden.

Je mehr plattformübergreifende Frameworks entstehen und sich entwickeln, desto schwieriger wird es für Xamarin, seine Position auf dem Markt zu behaupten. Heute haben eine Reihe von Frameworks Xamarin in Bezug auf Popularität und Leistung bereits überholt. React Native wurde zur ersten Wahl des Jahres 2020 gewählt, dicht gefolgt von Flutter.

Plattformübergreifende Nutzung mobiler Frameworks. Quelle: Statista

Jedes plattformübergreifende App-Framework verfügt über unterschiedliche Funktionen und Strukturen. Um ein besseres Bild zu erhalten, lesen Sie unsere Vergleichsartikel: Xamarin vs Flutter und Xamarin vs React Native vs Ionic vs NativeScript. Letzteres wäre zum Beispiel, obwohl es weniger beliebt ist, besonders wertvoll für Entwickler, die Angular Framework verwenden, da sie eng miteinander verbunden sind.

Ratschlag

Beim Vergleich der Vor- und Nachteile werden die aufgeführten Nachteile in der Regel als Kollateralschaden angesehen. Die meisten Geschäftsinhaber entscheiden sich für die Xamarin Mobile App Development Platform, da sie die Markteinführungszeit und die Entwicklungskosten verringert, indem sie den Code gemeinsam nutzen und einen einzigen Technologiestack verwenden. Der Zweck der App und ihre Zielgruppe könnten jedoch ein noch wichtigerer Faktor sein.Basierend auf der Erfahrung unseres Teams ist der beste Anwendungsfall für Xamarin Enterprise Mobile Solutions. Mit der Standard-Benutzeroberfläche, die 90 Prozent der Projekte abdeckt, kann die gesamte Kernproduktlogik problemlos auf allen Plattformen gemeinsam genutzt werden. Daher wird die Anpassung der Plattform nur 5-10 Prozent des technischen Aufwands erfordern.

Bei verbraucherorientierten Apps mit starker Benutzeroberfläche nimmt die Menge an gemeinsam genutztem Code drastisch ab. Somit verliert die plattformübergreifende Xamarin-Entwicklung ihren Hauptvorteil und ist möglicherweise zeit- und kostenintensiv wie native Lösungen.

Dieser Artikel ist Teil unserer Serie „The Good and the Bad“. Wenn Sie sich für Webentwicklung interessieren, werfen Sie einen Blick auf unseren Blogbeitrag über die

Das Gute und das Schlechte der Angular-Entwicklung

Das Gute und das Schlechte der JavaScript-Full-Stack-Entwicklung

Das Gute und das Schlechte von Node.js Web App Entwicklung

Das Gute und das Schlechte von ReactJS und React Native

Das Gute und das Schlechte von Swift Programmiersprache

Das Gute und das Schlechte von Selenium Testautomatisierungstool

Das Gute und das Schlechte von Android App Entwicklung

Das Gute und das Schlechte von .NET Development

Das Gute und das Schlechte an Ranorex GUI Test Automation Tool

Das Gute und das Schlechte an Flutter App Development

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.