Die Arbeit mit Xamarin hat viele Aspekte und Vorteile, und seine Verwendung sowie Beliebtheit scheinen immer gefragter zu sein und zuzunehmen. Lassen Sie uns herausfinden, wie dies funktioniert, wie der Bedarf an Xamarin-Entwicklern aussieht, wie man sie findet sowie befragt, und was die Arbeit mit Xamarin umfasst.
Die plattformübergreifende App-Entwicklung scheint im Vergleich zur nativen App-Entwicklung auf dem Vormarsch zu sein. In diesem Fall ist dies insbesondere auf die geringeren Kosten, die gemeinsame Nutzung und Wiederverwendung von Code sowie die allgemeine Funktionalität zurückzuführen. Aus diesem Grund sind Xamarin-Entwickler gefragter als je zuvor.
In unserem vollständigen Einstellungshandbuch erfahren Sie mehr über die Beliebtheit und Nutzung dieser Plattform, die Position des Entwicklers und seine Pflichten, Aufgaben, Herausforderungen, Statistiken und vieles mehr.
Über Xamarin
Xamarin ist eine Open-Source-Tool-Plattform, die 2011 veröffentlicht wurde. Es wird verwendet, um leistungsfähige Anwendungen für iOS, Windows und Android zu erstellen und zu entwickeln, und zwar mit der Programmiersprache C#.
Es handelt sich um eine Abstraktionsschicht, die die Kommunikation des gemeinsamen Codes mit dem Plattformcode verwaltet und in einer kontrollierten Umgebung mit Funktionen zur Speicherzuweisung und Garbage Collection läuft.
Mit Xamarin können die Entwickler gemeinsamen Code innerhalb eines bestehenden Plattformcodes verwalten und kommunizieren. Zusammengefasst bedeutet dies, dass alle Entwickler mehr oder weniger 90% ihrer Anwendungen für mehrere Plattformen freigeben können.
Xamarin ist nativ kompiliert, und Entwickler bevorzugen es fast immer, um Anwendungen mit hoher Leistung zu erstellen, die sich nativ anfühlen und aussehen.
Mit Xamarin können Sie native Apps für iOS und Android sowie native Apps für Mac und Windows erstellen. Allerdings kann ein Entwickler Xamarin nicht für die webbasierte Bereitstellung verwenden.
Statistiken über Xamarin
Die Statistiken über Xamarin geben im Allgemeinen ein gutes Feedback.
Die Gehälter von Xamarin-Entwicklern unterscheiden sich leicht von einer Position zur anderen. Ein Senior Software-Ingenieur hat ein Jahresgehalt von $120.885, während ein Software-Ingenieur $126.942 pro Jahr erhält.
Darüber hinaus hat ein Full-Stack-Entwickler ein durchschnittliches Jahresgehalt von $101.929, und wir sehen einen noch größeren Anstieg bei den mobilen Entwicklern mit $123.831 pro Jahr.
In einer Umfrage von Stack Overflow 2021 liegt die Beliebtheit von Xamarin als Tool bei 4,17%, und 43,32% arbeiten lieber damit, während 56,68% die Arbeit damit meistens vermeiden.
Wir sehen, dass die Prozentsätze unterschiedlich sind, aber nicht allzu sehr.
Beliebte Markennamen, die auf die Verwendung von Xamarin angewiesen sind
Hier sind einige von vielen Markennamen, die Xamarin verwenden:
- Storyo Video Story Creator
- Captio: Reise- und Spesenmanagement
- Pinterest: Virtuelle Entdeckungsmaschine Corkboard
- Fox Sport
- Siemens
- The World Bank: App zur Durchführung von Umfragen
- Just Giving: Online-Fundraising-Plattform
- Insightly: CRM und Projektmanagement
- Olo: Online-Plattform für Lebensmittelbestellungen
- Skulls of the Shogun: Spiele-App
- FreshDirect: Online-Lebensmittelhändler
- APX: Environmental-Asset-Tracker
- SuperGiant Games: Konsolenspiel fürs Handy
- Thermo Fisher Scientific: Forschung und Entwicklung
Interview mit einem Xamarin-Entwickler
Hilfreiche Tipps für ein Vorstellungsgespräch
Ein Spezialist für Talentakquise konzentriert sich während des Gesprächs mit einem Xamarin-Entwickler auf mehrere Schlüsselfaktoren und entscheidende Dinge. Sie stellen spezifische Fragen, um die Erfahrung und das Fachwissen des Entwicklers anhand einiger Dinge zu bewerten.
Abgesehen von der Frage nach der langjährigen Erfahrung und der täglichen Arbeit mit Xamarin werden während des gesamten Vorstellungsgesprächs auch die Englischkenntnisse und Soft Skills abgefragt. Dies garantiert die Kooperationsbereitschaft und Reaktionsfähigkeit des Entwicklers und bestätigt, dass er eine reibungslose Beziehung zu den Kunden haben kann.
Technische Fähigkeiten eines Xamarin-Entwicklers
Ein erfahrener Xamarin-Entwickler muss folgende Erfahrung haben:
- Arbeiten mit C# Xamarin für iOS- und Android-Anwendungen
- Erfahrung mit .NET und XAML
- Kenntnisse in objektorientierter Programmierung
- Entwicklung von Anwendungen von Grund auf und deren Wartung
- Behebung von Anwendungsfehlern
- Verständnis von MVC- und MVVM-Entwurfsmustern
- Erfahrung mit SQL, Benachrichtigungen, Anzeigen, Firebase
- Erfahrung mit Microsoft Visual Studio und Xamarin Studio
Nicht-technische Fähigkeiten eines Xamarin-Entwicklers
Personalvermittler und Spezialisten für Talentakquise überschneiden sich in ihren Antworten, wenn sie nach den nichttechnischen Fähigkeiten eines Xamarin-Entwicklers gefragt werden.
Eine akzeptierte Norm ist, dass der Entwickler überdurchschnittlich gute Englischkenntnisse vorweisen muss, da dies für eine reibungslose Kommunikation zwischen Kunde und Entwickler entscheidend ist. Sichtbare Kommunikationsfähigkeit und Offenheit für die Diskussion über die Stelle und das Portfolio sind für das Vorstellungsgespräch insgesamt von großem Nutzen.
Mögliche Fragen im Xamarin-Vorstellungsgespräch
Die folgenden Fragen sind nur einige der zahlreichen Fragen, die bei der Beurteilung der Fähigkeiten und des Fachwissens eines Xamarin-Entwicklers während des Vorstellungsgesprächs zu berücksichtigen sind. Erkundigen Sie sich nach Folgendem:
- Welche Programmiersprachen werden von Xamarin unterstützt?
Erwartete Antwort: Mit Xamarin kann man bei der Entwicklung mobiler Anwendungen C#, aber auch Visual Basic.NET und F# wählen.
- Definieren Sie Xamarin Profiler.
Erwartete Antwort: Der Xamarin Profiler ist ein praktisches Tool zur Analyse der App und ihres Verhaltens. Dieses Tool wurde von Microsoft entwickelt und veröffentlicht. Dieses Tool analysiert nicht nur das allgemeine Performance-Verhalten der App, sondern auch die Speicherzuweisungen der App. Xamarin Profiler führt alle oben genannten Aufgaben über Visual Studio aus und bietet eine übersichtliche und praktische Schnittstelle für die Bearbeitung von Grafiken und die Erstellung von Apps. Dazu muss man sich in Visual Studio befinden.
Die Verwendung von Profiler bringt viele Vorteile mit sich, z. B. wo man nicht benötigte Speicherlecks in bestimmten Objekten beseitigen sollte.
- Was können Sie über Xamarin Insights sagen?
Erwartete Antwort: Mit Hilfe des Tools Xamarin Insights kann man alle Ereignisse, Statistiken, fehlerhafte Muster und Probleme in einer App genau überwachen und identifizieren. Einige der Dinge, die man in diesem Fall beobachtet, sind Seitenaufrufe, die Länge von Vorgängen sowie Probleme bei der Berührung von Schaltflächen. All dies geschieht in Echtzeit, und man erhält Zugang zu vergangenen und aktuellen Sitzungen. Außerdem erhält man einen detaillierten Einblick in alle Funktionen der App, die genutzt werden und solche, die nicht genutzt werden.
- Können Sie "Datenbindung" in Xamarin definieren?
Erwartete Antwort: Als entscheidender Teil der MVVM (ModelView-ViewModel)-App-Architektur verbindet oder verknüpft man mit dem Prozess der "Datenbindung" die Eigenschaften von zwei separaten Objekten, und am Ende dieses Prozesses stellt man fest, wie eine Eigenschaft die Änderungen in der anderen Eigenschaft widerspiegelt.
Mit anderen Worten, verbindet man die Benutzeroberfläche der App mit den angezeigten App-Daten. Die Verbindung besteht zwischen einer Quelle und einem Ziel. Man kann herausfinden, welche Eigenschaften man durch die Verwendung von Xamarin.Forms genau binden kann (welche bindbar sind).
- Können Sie zwischen Xamarin und Xamarin.Forms unterscheiden?
Erwartete Antwort: Xamarin ist eine Plattform, d. h. ein Tool für die Entwicklung von Apps, die ebenfalls Open-Source sind. Mit Xamarin kann man Apps für Android, iOS und Windows mit .NET (einer Open-Source-Plattform für die App-Entwicklung) erstellen. Mit Xamarin können Entwickler fast alle ihre App-Inhalte auf mehreren Plattformen gemeinsam nutzen und sogar nur eine Sprache zum Schreiben der Geschäftslogik verwenden. Man kann die Apps auf Mac oder PC schreiben, und der nächste Schritt besteht darin, sie in native App-Pakete zu kompilieren (diese sind .ipa für iOS und .apk für Android).
Xamarin.Forms ist ein UI-Framework, das open-source und plattformübergreifend ist sowie für die Entwicklung von Apps aus einer einzigen, gemeinsam genutzten Codebasis verwendet wird. Wenn man als Entwickler Xamarin.Forms verwendet, platziert man den Code direkt hinter C#, und man verwendet XAML (Extensible Application Markup Language) für die Benutzeroberflächen. Dies eignet sich hervorragend zum Testen und zur gemeinsamen Nutzung von Code sowie von Geschäftslogik auf mehreren Plattformen. Außerdem eignet es sich gut für die Gestaltung auf verschiedenen Plattformen und die gemeinsame Nutzung des Layouts der Benutzeroberfläche.
- Was ist XAML?
Erwartete Antwort: XAML (Extensible Application Markup Language) ist eine deklarative Auszeichnungssprache, die für die Beschreibung von grafischen Benutzeroberflächen (GUI) sehr nützlich ist und einem sofort die Instanziierung und Ausführung eines Objekts zeigt. Außerdem wird XAML häufig für die Erstellung von Benutzeroberflächen von Apps verwendet.
Mit XAML kann man visuelle Elemente in den UI-Komponenten erstellen, und es ist nicht zu ähnlich zu anderen Sprachen für die Verwendung von Markup. Mehrere Parteien können gleichzeitig mit verschiedenen Tools in der UI und der App-Logik arbeiten. XAML ermöglicht die UI-Definition während der Entwicklung von Xamarin-Apps und muss nicht zwingend mit zum Beispiel Xamarin.Forms verwendet werden.
XAML arbeitet mit der Anwendungsarchitektur MVVM (ModelView-ViewModel)
- Erläutern Sie den Xamarin Live Player.
Erwartete Antwort: Wenn man Live-Änderungen an der App vornehmen will, die kein Deployment-Kabel oder Emulator erfordern, und diese Änderungen live zu sehen sein sollen, verwendet man ein Tool namens Xamarin Live Player. Damit wird das Debuggen und Testen praktischer und einfacher, und das Tolle daran ist, dass man für diesen ganzen Prozess nicht mit einem physischen Gerät arbeiten muss.
Nach der Installation einer App von kleiner Größe auf dem Gerät wird eine Kommunikation zwischen dem Entwicklungscomputer und der darin enthaltenen Visual Studio IDE (Integrated Development Environment) für die Entwicklung hergestellt.
Zusammenfassend lässt sich sagen, dass man als Entwickler mit dem Xamarin Live Player Apps schnell auf Android- und iOS-Geräten bereitstellen kann.
- Beschreiben Sie die Listen- und Tabellenansicht.
Erwartete Antwort: Die Listenansicht und die Tabellenansicht sind Steuerelemente in Xamarin.Forms.
Listenansicht wird nur dann in vielfältiger Weise verwendet, wenn man Listen von Daten hat, die blätterbar sind, und diese Klasse bietet Unterstützung für Datenbindung sowie Kontextaktionen. Auf der anderen Seite gibt es bei der Listenansicht keine Unterstützung für die Definition von XAML-Elementen. Es ist am besten, wenn man die Listenansicht für Sammlungen verwendet, die nur aus einem einzigen Datentyp bestehen. Die Listenansicht stellt die Daten vertikal gestapelt dar.
Die Tabellenansicht wird für die Anzeige von Datenlisten verwendet, die horizontal gescrollt werden können, und dies gilt für die Abschnitte von Zeilen, die unterschiedliche Vorlagen und keine gemeinsame Vorlage haben. Im Vergleich zur Listenansicht lässt sich feststellen, dass die Tabellenansicht das manuelle Hinzufügen von Elementen erfordert, während dies bei der Listenansicht aufgrund des ItemSource-Konzepts nicht erforderlich ist.
- Können Sie den Befehl "i" in Xamarin näher erklären?
Erwartete Antwort: Wenn man die ViewModels erfolgreich zwischen Xamarin.Forms-Apps und den Window-Apps austauschen möchte, verwendet man den i-Befehl, der durch eine Window-Klasse implementiert wird.
Die i-Befehl-Schnittstelle ist das Bindeglied zwischen BusinessLogic-Schicht und Präsentation. Lassen Sie uns versuchen, dies anhand eines Prozessbeispiels zu erklären.
Wenn man beim Schreiben der App kein MVVM verwendet, braucht man einen Event-Handler, der sich anmeldet, und man muss so die Benutzeroberfläche einfacher mit der Interaktion des Benutzers verwalten (selbst etwas so Einfaches wie ein Klick durch den Benutzer). Dies macht eine neu erstellte Methode (in C#), und sobald man das Ereignis auslöst, wird der Code innerhalb der erstellten Methode erfolgreich ausgeführt. Auf diese Weise verstärkt man die Korrelation zwischen Verordnung und Ansicht. Der Gesamtansatz verwendet eindeutige Objekte (Befehle), die die Schnittstelle i-Befehl anwenden.
- Was bedeutet "outofmemoryexception"? Wie würden Sie damit umgehen?
Erwartete Antwort: Die 'outofmemoryexception' stellt einen Fehler dar, den man im Entwicklungsprozess feststellen kann. Dieser Fehler lässt einen wissen, dass nicht genug zusammenhängender Speicher für all die Zuweisungen vorhanden ist, die C# benötigt, und auch, dass im Allgemeinen nicht genügend Speicher vorhanden ist.
Die optimale Lösung ist die Vergrößerung des Heaps, d. h. die Vergrößerung des belegten Speichers für die Objekte.
Einige Schritte, die man ausprobieren kann, um dieses Problem zu lösen, sind zunächst Visual Studio zu öffnen. Dann sucht man das Android-Projekt und klickt mit der rechten Maustaste darauf. Danach sieht und wählt man Eigenschaften, und dort kann man sich dann entscheiden, ob man die Heap-Größe, um zum Beispiel 1G Heap, erhöht.
Grundlagen und Bewertung eines Xamarin-Entwicklers
Wenn Sie sich auf die Suche nach dem besten Xamarin-Entwickler machen, sollten Sie auf einige wesentliche Dinge achten:
- Bestätigte Kenntnisse der plattformübergreifenden Entwicklung
- Kenntnisse in Visual Studio und C#
- Ein gutes Verständnis von MVVM (Model-View-View-Model)
- Fachwissen über die Wiederverwendbarkeit von Code
- Kenntnisse über die Android-Architektur
- Fachwissen über IoC-Konzepte
- Wissen über Dependency Injection
Wir haben Koray Biçer, einen leitenden Softwareentwickler, gefragt, welche Voraussetzungen ein Xamarin-Entwickler mitbringen muss und wie er diese bewertet:
"Es ist wichtig, den potenziellen Kandidaten nach MVVM, XAML, VIews, Seitenlayouts, Master-Detail-Page und REST-Diensten zum Abrufen von Daten zu fragen. Eine andere Möglichkeit, das Fachwissen zu beurteilen, besteht darin, den Entwickler zu bitten, eine kleine Beispielanwendung zu schreiben, die Informationen von einer entfernten API abruft und anzeigt".
Koray Biçer
Auch Kerem Özcan, ein Entwickler mobiler Anwendungen, sagte:
"Der Entwickler muss über gute Kenntnisse in OOP, .NET, natürlich C#, UX und dem Lebenszyklus von Anwendungen verfügen. Außerdem müssten wir nach Erfahrungen mit Azure, UI-Tests und App Center fragen, um die Fähigkeiten zu beurteilen. Letztendlich möchte ich mir aber auch das GitHub-Konto des Kandidaten ansehen, um mehr über die bisherigen Erfahrungen und Projekte zu erfahren."
Kerem Özcan
Was unterscheidet einen großartigen Xamarin-Entwickler von einem guten?
Ein großartiger Xamarin-Entwickler hebt sich von einem guten oder durchschnittlichen Entwickler durch Kenntnisse und Entwicklung auf Xamarin Forms und Xamarin Native ab. Natürlich ist es ein zusätzlicher Bonuspunkt, mit Java, Kotlin, Swift und C# zu arbeiten.
Weitere wichtige Eigenschaften eines exzellenten Xamarin-Entwicklers sind die Erfahrung mit GraphQL und REST, APIs, Lambda-Expressions, LINQ sowie asynchroner und reaktiver Programmierung.
Mögliche Herausforderungen bei der Anstellung eines Xamarin-Entwicklers
In der Regel muss ein Entwickler trotz der Einfachheitsfaktoren dieser Plattform über umfangreiche Erfahrungen verfügen, um mit Xamarin zu arbeiten.
Xamarin nutzt JavaScript nicht direkt und verwendet ansonsten C# für die gleichen JavaScript-Segmente. Dies ist keine große Herausforderung, aber der Entwickler benötigt gute Fachkenntnisse, um spätere Komplikationen im gesamten Repository zu vermeiden.
Die mögliche Herausforderung besteht darin, dass einem Entwickler einige Dateien und Informationen für den Xamarin-Implementierungsprozess fehlen könnten. Diese Plattform ist nicht alt, da sie 2011 veröffentlicht wurde, ist sie noch recht neu. Wenn der Entwickler also schnelle Lösungen für Probleme benötigt, muss er sich an eine große Community wenden, um andere Experten zu konsultieren.
Wie in den obigen Abschnitten zu sehen ist, ist Xamarin bei einer begrenzten Anzahl von Entwicklern beliebt, was seine Nachfrage noch wertvoller macht.
Warum und wann müssen Sie einen Xamarin-Entwickler einstellen?
Sie müssen einen Xamarin-Entwickler einstellen, wenn Sie bereit sind, Ihr Projekt auf eine andere Ebene zu bringen. Die Verwendung von Xamarin ist nämlich für diejenigen, die Code teilen und plattformübergreifend testen müssen. Nicht nur das, sondern auch das Schreiben von plattformübergreifenden Anwendungen mit Visual Studio und C#.
Wenn Sie mehr als eine App entwickeln lassen wollen, müssen Sie für jedes Team, das sich mit den Betriebssystemen befasst, einen Entwickler einstellen. Eine andere Möglichkeit besteht darin, einige Entwickler einzustellen, die sich auf die Entwicklung von Apps für mehrere Betriebssysteme gleichzeitig spezialisiert haben.
Zusammenfassend lässt sich sagen, dass Sie Xamarin für Ihr Projekt verwenden oder einen Xamarin-Entwickler einstellen sollten, wenn Sie mobile Anwendungen auf einfache und effiziente Weise mit gemeinsam genutzten Codebases erstellen möchten. Mit Xamarin erhalten Sie ein hervorragendes Ergebnis von UI-Elementen, die plattformspezifisch sind.
Vorteile von Xamarin
Xamarin ist ebenso einzigartig wie gefragt, was alle damit verbundenen Faktoren noch faszinierender macht. Dies liegt vor allem daran, dass Xamarin die schnelle und effiziente Verwendung einer einzigen Sprache (C#) für die Programmierung einer App ermöglicht.
Ein weiterer bedeutender Vorteil ist, dass es eine umfangreiche Bibliothek bietet. Fügen Sie eine ausgezeichnete Laufzeitumgebung hinzu, und Xamarin scheint für die Arbeit der Entwickler noch attraktiver zu sein.
Wenn Entwickler beginnen, Xamarin zu verwenden, benötigen sie nur eine Maschine, um alle verwendeten Umgebungen abzudecken.
Was die Einsparung von Ressourcen und Finanzen betrifft, so arbeitet Xamarin durch einfache Wartung und gemeinsame Nutzung von Code darauf hin. Beispielsweise verbraucht die plattformübergreifende native Nutzung weniger Speicher, weniger CPU-Zeit, läuft schneller und lädt mehr riesige Datensätze als Hybrid-HTML.
Ein weiterer Vorteil von Xamarin ist die reibungslose Integration der Azure Cloud. Diese bietet eine stabile und unglaublich sichere mobile Backend-Cloud-ein paar einfache Codezeilen und das war's.
Die Nutzung dieser Plattform bietet folgende Möglichkeiten:
- Schreiben der Anwendungen in C#
- Erstellung von nativen UIs
- Verwendung von MVVM-Entwurfsmustern
- Gute API-Integration
- Gemeinsame Code-Basis
- Schnelle Entwicklung
- Keine Probleme mit der Hardware-Kompatibilität
- Funktioniert auch auf Wearables, nicht nur auf einigen Smart Devices
- Plattformübergreifende App-Entwicklung
- Niedrige Wartungskosten
- Eine Gemeinschaft von Nutzern, die mit der Zeit wächst
Entwickler, die gerne mit Xamarin arbeiten, mögen es aus mehreren Gründen. Ein offensichtlicher Grund ist die C#-Nutzung, die den Prozess schnell und einfach macht. Anstatt sich also auf Objective-C, Swift oder Java zu verlassen, kann alles mit C# erledigt werden. Biçer sagte weiter:
"Mir gefällt, dass ich den gesamten Code mit einer einzigen Sprache wie C# entwickeln kann. Außerdem kann ich die Benutzeroberfläche nur ein einziges Mal entwickeln und sie auf allen Plattformen ausführen. Die gemeinsame Nutzung von Code zwischen den Plattformen ist sehr einfach, und ich brauche weniger Zeit für die Wartung der App.”
Wenn der Entwickler Xamarin.Forms verwendet, spart er außerdem Zeit, indem er die App in verschiedenen Stores gleichzeitig veröffentlicht.
Ein weiterer wichtiger Grund, warum Entwickler Xamarin bevorzugen, ist die Tatsache, dass die endgültige Benutzeroberfläche genau so aussieht, wie erwartet-realistisch, reibungslos und befriedigend in der Anwendung.