Plattformübergreifende Produktivität mit Xamarin


In der Episode 3 haben wir uns Kevin Ashley, einen Architect Evangelist (Microsoft USA), ins Boot geholt und in Kooperation mit MSDN Microsoft Magazine stellen wir euch heute diesen Beitrag zur Verfügung.

Kevin Ashley ist ein Architect Evangelist bei Microsoft. Er ist Mitautor von „Professional Windows 8 Programming“ (Wrox, 2012) sowie Entwickler erstklassiger Apps und Spiele, insbesondere von Active Fitness (activefitness.co). Er stellt häufig auf verschiedenen Events und Branchenmessen sowie in Webcasts Technologien vor. Er arbeitet in seiner Funktion mit Startupunternehmen und Partnern zusammen und berät diese bezüglich des Softwareentwurfs, der Geschäfts- und Technologiestrategie, der Architektur und der Entwicklung. Folgen seinem Blog unter kevinashley.com und bei Twitter: : @kashleytwit.

Wenn Sie sich in diesen Tagen in Silicon Valley umhören, wird Ihnen auffallen, dass Investoren wie auch Entwickler größtenteils einen konservativen Standpunkt zu den eingesetzten Technologien vertreten. Die meisten Firmen würden zuerst einen iOS-Entwickler einstellen, gefolgt von einem Android- und/oder einem Windows-Entwickler (vorausgesetzt, das Budget ist ausreichend). Diese Herangehensweise ist jedoch ausgesprochen ineffizient und bewirkt, dass Code mehrfach neu geschrieben werden muss: iOS-Entwickler verwenden Objective-C, Android-Entwickler Java und Windows-Entwickler C#. Diese Entwickler kommunizieren kaum miteinander und betreiben kein Codesharing. Dies führt zu Apps, die auf verschiedenen Plattformen inkonsistent sind. Außerdem werden in der Regel Millionen verschwendet, um vollständig getrennte Entwicklungszweige und -technologien zu unterstützen. Für eine leistungsstarke und effiziente Entwicklungsstrategie ist der Einsatz einer plattformübergreifenden Technologie wie Xamarin der Schlüssel für hohe Produktivität. Durch den zunehmenden Einsatz nativer Ahead-of-time-Kompilierungstechnologien (AOT), die nativ aus High-Level-Sprachen wie C# in statischen Code für native Plattformen übersetzen können, gehört das Programmiermodell mit separaten Android-, iOS- und Windows-Entwicklern langsam der Vergangenheit an.

Für traditionelle Apps weist dieser Ansatz in eine neue Richtung. Er wurde jedoch in anderen Bereichen (z. B. Gaming) bereits erfolgreich angewendet. Mehr als die Hälfte aller 3D-Spiele für iOS, Android und Windows werden beispielsweise mit Unity entwickelt. Wenn Sie Spiele in Unity erstellen, entwickeln Sie größtenteils in C# für eine Teilmenge von Mono, was der Verwendung von C# mit Xamarin nicht unähnlich ist. Unity-Spiele können auf mehr als 20 Plattformen ausgeführt werden (einschließlich Windows, Android, iOS, OS X, Xbox, PlayStation usw.). Dieser erfolgreiche Weg sollte auch für Apps aus anderen Bereichen als Gaming eingeschlagen werden, und Xamarin stellt zu diesem Zweck eine ausgezeichnete Plattform zur Verfügung.

Kann dieser Ansatz auch für andere Apps als Spiele genutzt werden? Mit Xamarin ist dies möglich: Ich habe die Anwendung zum Erstellen von Active Fitness, einer cloudbasierten Fitnessplattform, sowie von mobilen Apps mit weltweit mehr als zwei Millionen Benutzern verwendet (activefitness.co). Ich habe mit der Verwendung von Xamarin bereits früh im Entwicklungszyklus begonnen und dabei anfangs sehr frühe Versionen eingesetzt. Schon damit war ich in der Lage, eine plattformübergreifende Lösung für Windows, iOS und Android basierend auf der Microsoft Azure Cloud zu erstellen. Für Active Fitness (siehe Abbildung 1) war bis zu 90 Prozent Codesharing für die nativen iOS-, Windows- und Android-Apps möglich. Das allein stellt schon eine Produktivitätssteigerung dar. Außerdem ist Xamarin einschließlich Xamarin.Forms (bit.ly/2a8Yo4g) größtenteils Open Source. Die Plattform erfährt große Unterstützung durch die Community, und die Leistung ist Dank AOT-Unterstützung für eingebettete System mit nativem Code identisch. Außerdem ist Xamarin (einschließlich der kostenlosen Community Edition) in Visual Studio ohne Mehrkosten enthalten.

Active Fitness in Aktion, Demo 3D-Karten und eine reichhaltige Benutzeroberfläche
Abbildung 1: Active Fitness in Aktion, Demo 3D-Karten und eine reichhaltige Benutzeroberfläche

Entwurfsaspekte für plattformübergreifende Apps mit Xamarin

Noch vor einigen Jahren unterschied sich der Entwurf mobiler Apps für jede Plattform erheblich. Eine iOS-App wich z. B. im Entwurf vollkommen von einer Android- oder Windows-App ab. Dies ist aber nicht mehr der Fall. Heutzutage verwenden die meisten modernen Apps für Windows, Android und iOS ähnliche Konzepte und Entwurfsparadigmen. Was ist passiert? Microsoft entwickelte die Modern Design-Sprache, die von UWP-Apps (universelle Windows-Plattform) verwendet wird, Google brachte Material Design heraus, und Apple führte einen moderner aussehenden Betriebssystementwurf ein. Durch all diese Änderungen näherten sich Aussehen und Verhalten von Apps in iOS, Android und Windows an und vereinfachten die Entwicklung (siehe Abbildung 2). Entwickler verwenden sogar vermehrt Schriftarten mit Kultsymbolcharakter wie Font Awesome, die ähnliche Symbolkonzepte für Aktionen auf mehreren Plattformen verwenden. Die Plattformen weisen natürlich noch visuelle Unterschiede auf. Windows enthält beispielsweise Live-Kacheln. Es mag überraschend klingen: Wenn Sie eine plattformübergreifende App erstellen, können diese ganz einfach hinzugefügt werden, sobald der Kern vorhanden ist.

Active Fitness unter Windows (links), Android (Mitte) und iOS (rechts)
Abbildung 2: Active Fitness unter Windows (links), Android (Mitte) und iOS (rechts)

Bei der Entwicklung mit Xamarin besteht die Möglichkeit, eine ansprechende Benutzeroberfläche für jede Plattform direkt aus Visual Studio zu erstellen. Dabei werden iOS Storyboards, Android XML und Windows XAML verwendet. Der Zugriff kann auf jedes Steuerelement oder Widget sowie auf eine sehr umfangreiche Anzahl benutzerdefinierter Steuerelemente von Anbietern erfolgen. Außerdem stellt Xamarin 100 Prozent API-Zugriff vollständig in C# für jede Plattform zur Verfügung.

Mit der Xamarin.Forms-Bibliothek, die eine API-Abstraktion zum Erstellen einer gemeinsam genutzten Benutzeroberfläche bereitstellt, werden zahlreiche Entwurfskonzepte automatisch in native Steuerelemente für jede Plattform mithilfe von benutzerdefinierten Xamarin-Renderern übersetzt. Auf diese Weise besteht die Möglichkeit, ein plattformübergreifendes Steuerelement an seine native Darstellung auf jeder Plattform anzupassen. Der Produktivitätsvorteil einer echten plattformübergreifenden App wird so mit unendlichen Anpassungsmöglichkeiten verbunden.

Ein großer Vorteil von Xamarin.Forms besteht darin, dass es sich einfach um ein Add-On handelt: eine Bibliothek, die Sie Ihrem Projekt hinzufügen. Unter dem Aspekt von Produktivität und Lifecycle Management Ihrer App ist dieses Add-On unbezahlbar, weil Sie Code erstellen können, der größtenteils von Plattformreleasezyklen unabhängig ist, die in der Regel in größeren Abständen erfolgen. Xamarin war immer schon am gleichen Tag mit Hauptreleases von iOS, Android und Windows kompatibel. Wenn Sie Xamarin.Forms ein Steuerelement hinzufügen müssen, können Sie das immer selbst erledigen, indem Sie den Quellcode untersuchen oder das GitHub-Repository für Xamarin.Forms verwenden, da die Plattform nun Open Source ist. Außerdem bietet Xamarin praktisch unbegrenzte Optionen über die benutzerdefinierten Steuerelementrenderer für native Plattformen. Wenn Sie bereits über eine XAML-App verfügen, können Sie sich glücklich schätzen, weil Xamarin.Forms nur ein anderer Dialekt von XAML ist. Und wenn Ihre App bereits Silverlight, UWP oder XAML verwendet, können Sie auf einfache Weise eine plattformübergreifende Begleit-App in iOS oder Android hinzufügen.

Erstellen von Master-Detail-Navigation mit Xamarin

Untersuchen wir die Vorteile von Xamarin anhand eines Beispiels: einer typischen App in iOS, Android und Windows, die ein Master-Detail-Navigationsmuter (auch als „Hamburger“ bezeichnet) aus dem Open Source Xamarin-Beispielrepository (bit.ly/29Tk9VJ) enthält. Wenn Sie diese App als traditionelle iOS-, Android- und Windows-Entwickler schreiben würden, hätten Sie am Ende drei separate Projekte in Objective-C, Java und C#, und Sie müssten verschiedene Steuerelemente für jede App verwenden: SplitView in Windows sowie ähnliche Muster in iOS und Android. Stattdessen können Sie eine einzelne Xamarin.Forms-Instanz verwenden, um alle diese schwierigen Aufgaben für alle Plattformen auszuführen. Abbildung 3 zeigt dies.

Xamarin-Master-Detail-Projekt mit Android-, iOS- und Windows-Zielen
Abbildung 3: Xamarin-Master-Detail-Projekt mit Android-, iOS- und Windows-Zielen

In der Datei „App.cs“ des portablen Projekts instanziiere ich die Stammseite der App:

public App ()
{   MainPage =     new MasterDetailPageNavigation.     MainPage ();
}

Beachten Sie, dass sich der Großteil des Projektcodes in einem portablen Projekt befindet, das von allen Betriebssystemen gemeinsam verwendet wird. Außerdem kann in Xamarin.Forms XAML verwendet werden. Der XAML-Code in Abbildung 4 sieht recht einfach aus, wenn Sie mit dem nativen UWP SplitView-Steuerelement vertraut sind.

Abbildung 4: Erstellen einer Master-Detail-Seite mithilfe von XAML

<?xml version="1.0" encoding="UTF-8"?>
<MasterDetailPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:MasterDetailPageNavigation;assembly=MasterDetailPageNavigation"
x:Class="MasterDetailPageNavigation.MainPage">   <MasterDetailPage.Master>     <local:MasterPage x:Name="masterPage" />   </MasterDetailPage.Master>     <MasterDetailPage.Detail>       <NavigationPage>         <x:Arguments>         <local:ContactsPage />         </x:Arguments>       </NavigationPage>     </MasterDetailPage.Detail>
</MasterDetailPage>

Xamarin bietet Entwicklern durch bedingte Kompilierung und Möglichkeiten der Plattformauswahl große Flexibilität. Der folgende Code ändert das Symbol der Masterseite, wenn die Plattform Windows ist:

if (Device.OS == TargetPlatform.Windows)
{   Master.Icon = "hamburger.png";
}

Gerätespezifischer Code und Xamarin

So weit, so gut. Aber kann ich der physischen Plattform in meinem Xamarin-Code wirklich sehr nahe kommen? Anders gesagt: Kann ich zwischen Code unterscheiden, der für verschiedene Typen von Geräten erstellt wurde? Glücklicherweise ist Xamarin eine der wenigen plattformübergreifenden Technologien, die native Codierung und API-Zugriff unterstützt. Ähnlich wie UWP-Apps, mit denen die Gerätefamilie (Smartphone, Tablet oder Desktop) unterschieden werden kann, enthält Xamarin einen sehr nützlichen Device.Idiom-Selektor, wie Abbildung 5 zeigt.

Abbildung 5: Verwenden von „Device.Idiom“ zum Auswählen der Plattform

switch (Device.Idiom)   {   case TargetIdiom.Phone:     heading.Text += " Phone ";     break;   case TargetIdiom.Tablet:     heading.Text += " Tablet ";     break;   case TargetIdiom.Desktop:     heading.Text += " Desktop ";     break;   default:     heading.Text += " unknown ";     break;   }

Abbildung 6 zeigt einen weiteren sehr nützlichen Selektor („Device.OnPlatform“), der in CodeBehind und in XAML abhängig vom Zielbetriebssystem zum Ausführen verschiedener Aktionen verwendet werden kann.

Abbildung 6: Verwenden von „Device.OnPlatform“ für verschiedene Zielplattformen

// Device.OnPlatform (Action)
//
var box = new BoxView {   Color = Color.Green,   WidthRequest = Device.OnPlatform (30, 40, 50),   HorizontalOptions = LayoutOptions.Center
};
Device.OnPlatform(   iOS: () =>{     box.Color = box.Color.MultiplyAlpha(0.5);     heading.TextColor = Color.Blue;   },   Android: () =>{     box.Color = box.Color.AddLuminosity(0.3);     heading.TextColor = Color.FromRgb(115, 129, 130);   },   WinPhone: () =>{     box.Color = box.Color.AddLuminosity(0.3);     heading.TextColor = Color.Accent;   },   Default: () =>{     heading.Text = "what platform is this?!" + Device.OS;   }
);

In XAML fügt Xamarin OnPlatform-Tags hinzu, die verschiedene Plattformen unterstützen. Das folgende Beispiel zeigt dies:

<Button Text="Start Timer"   Clicked="TimerClicked"   BackgroundColor="Gray"   HorizontalOptions="Center">   <Button.WidthRequest>     <OnPlatform x:TypeArguments="x:Double"       iOS="200"       Android="300"       WinPhone="100" />   </Button.WidthRequest>
</Button>

Aber wie muss ich vorgehen, wenn ich ein von Xamarin.Forms bereitgestelltes Steuerelement für eine native Plattform anpassen möchte? Ich habe bereits an früherer Stelle das Xamarin-Feature „benutzerdefinierte Renderer“ erwähnt, das diese Flexibilität bereitstellt. Benutzerdefinierte Renderer sind Klassen, die Sie von integrierten Objekten ableiten können. Sie stellen Funktionen in plattformspezifischen Implementierungen zur Verfügung. Angenommen, ich möchte mein eigenes CustomMap-Steuerelement erstellen:

public class CustomMap : Map   {     public List<CustomPin> CustomPins { get; set; }   }

Für eine native Plattform enthält die Signatur meines Objekts Folgendes:

[assembly:ExportRenderer (typeof(CustomMap), typeof(CustomMapRenderer))]

In Android, iOS und Windows kann ich daher immer anpassen, wie mein Map-Steuerelement aussieht und sich verhält. Interessanterweise umschließt der Wrapper für das Xamarin Map-Steuerelement nativ das Windows Maps-Steuerelement für Windows, das Google Maps-Steuerelement für Android und das native iOS Maps-Steuerelement für iOS. Was kann noch mit benutzerdefinierten Renderern angepasst werden? So gut wie jedes Steuerelement! Das Map-Steuerelement ist ein recht anspruchsvolles Beispiel. Sie können jedoch auch Schaltflächen, Bezeichnungen, Schieberegler und jedes andere Steuerelement anpassen, das in Xamarin.Forms verfügbar ist.

Mit Xamarin.Forms 2.2 enthält Xamarin nun native Einbettung, die das Hinzufügen eines beliebigen nativen Steuerelements zu einer Xamarin.Forms-App ermöglicht (bit.ly/29IEvxH).

Zugriff auf die Cloud aus Xamarin

Azure hat schon immer plattformübergreifende Funktionen berücksichtigt. Eine Vielzahl von SDKs für zahlreiche verschiedene Plattformen einschließlich iOS und Android, dedizierte plattformübergreifende Beispiele sowie Unterstützung für Xamarin sprechen in dieser Hinsicht für sich. Meine Active Fitness-App konnte aufgrund dieser Tatsache für 2 Millionen Benutzer skaliert werden. Dank Azure und seiner Zuverlässigkeit, Unterstützung und Leistung können Benutzer jeden Tag Laufen, Joggen und anderen sportlichen Aktivitäten nachgehen, auch wenn Tausende von Geräten in jeder Minute verbunden sind. Sie finden auf der Azure-Website mehrere ausgezeichnete Leitfäden, die sich mit Xamarin beschäftigen. Anhand dieser können Sie ermitteln, welche Microsoft Cloud Services am besten für Ihre Apps geeignet sind (bit.ly/2a5kciF). In der Zwischenzeit möchte ich einige allgemeine Bereiche vorstellen, in denen die Cloud sehr gut für mobile Apps geeignet ist:

Authentifizierung: Wenn Sie Benutzer authentifizieren oder identifizieren müssen, müssen Sie wahrscheinlich Clouddienste in Ihrer Xamarin-App verwenden. Besuchen Sie bit.ly/29HlDD3, um sich über die Vorgehensweise zu informieren.

Hinzufügen von Pushbenachrichtigungen zu Ihren Apps: Pushbenachrichtigungen stellen nicht nur einen Kommunikationsmechanismus für Apps zur Verfügung, sondern unterstützen auch die Aktualisierung plattformspezifischer Features (z. B. Kacheln). Weitere Informationen finden Sie unter bit.ly/29HlDD3.

Offlinesynchronisierung: Mobile Apps sind im täglichen Einsatz nicht immer online. Trotzdem müssen die Daten auch dann nahtlos synchronisiert werden, wenn Geräte vom Back-End getrennt werden. Lesen Sie meinen Artikel in MSDN Magazine zu gelegentlich getrennten Datasets unter msdn.com/magazine/dn890372. Einen Schnellstart für Xamarin-Apps finden Sie unter bit.ly/29QkXqT.

Azure Mobile Apps ist ein hervorragender Ausgangspunkt für die Integration zahlreicher Clouddienste einschließlich Speicher, Benachrichtigungen und Authentifizierung. Sehen Sie sich das Tutorial unter bit.ly/29K3IHi an, das sich mit Xamarin-Apps beschäftigt.

Extensions, Komponenten und Plug-Ins

Xamarin verdankt seinen Erfolg und seine Weiterentwicklung der beträchtlichen Unterstützung von Komponenten, Plug-Ins und Extensions. Zahlreiche Extensions sind auf GitHub oder über NuGet verfügbar. Einige Bibliotheken (z. B. Android-Unterstützungsbibliotheken, Clientbibliotheken der Google Play Services, Facebook SDKs sowie Ereignisdiagrammbibiliotheken wie OxyPlot) werden von Xamarin oder der Community unterstützt. Plug-Ins sind einzigartige Angebote, die es Entwicklern ermöglichen, auf native Funktionen über freigegebenen Code zuzugreifen. Wenn Sie also auf GPS-Funktionalität zugreifen möchten, müssen Sie den Code nicht mehr drei Mal schreiben. Sie laden einfach ein NuGet-Paket herunter und greifen auf GPS direkt in Ihrem freigegebenen Code zu. Einige Plug-Ins sind Open Source und werden von Entwicklern unterstützt. James Montemagno hat z. B. eine große Anzahl von Plug-Ins für Xamarin entwickelt, z. B. für Konnektivität, Einstellungen, Medien und andere Aspekte (bit.ly/2a2mM7J). Dieser Link zeigt mehrere nützliche Extensions, deren Verwendung ich empfehle, sobald Sie tiefer in die Xamarin-Entwicklung einsteigen möchten.

Das Überprüfen der Konnektivität mit dem Konnektivitäts-Plug-In in einer plattformübergreifenden Lösung wird zu einem Einzeiler. Es ist kein plattformspezifischer Code erforderlich, der separat in iOS, Android und Windows implementiert werden muss:

public static bool IsOnline   {     get     {       return Plugin.Connectivity.CrossConnectivity.Current.IsConnected;     }   }

Unter bit.ly/29XZ3VM finden Sie weitere verfügbare Plug-Ins und Extensions.

Geräteunterstützung: Android Wear, WatchKit und Microsoft Band

Xamarin hat schon immer dynamisch auf alle Arten von Geräten und Geräteplattformen im Markt reagiert. Ich hatte das Vergnügen, mit dem Microsoft Band-Team zusammenzuarbeiten. Auf der Build 2016 konnten wir dann gemeinsam einige spannende Funktionen für Active Fitness ankündigen, die Unterstützung für mehr als 50 sportliche Aktivitäten (einschließlich Skifahren, Snowboardfahren usw.) zur Verfügung stellen. Außerdem unterstützt Active Fitness jetzt Android Wear, wie das hübsche Watchface in Abbildung 8 zeigt. Wenn Sie Active Fitness auf Ihrem Android-Gerät installieren, wird das Watchface vollständig unterstützt.

Android Wear Watchface für Active Fitness-App
Abbildung 8: Android Wear Watchface für Active Fitness-App

Mit Xamarin können Sie Gadgets und Geräten mithilfe der folgenden Komponenten Apps und Unterstützung hinzufügen:

  • Android Wear: Xamarin enthält Codebeispiele und Unterstützung (z. B für das Erstellen von Watchfaces in C#).
  • Apple WatchKit: Weitere Informationen zur Xamarin-Unterstützung finden Sie unter bit.ly/29XZ3VM.
  • Microsoft Band: Zusätzlich zum Microsoft Band SDK ist ein ausgezeichneter Microsoft Band-Wrapper für plattformübergreifende Xamarin-Apps auf GitHub (bit.ly/29WeDli) und NuGet (bit.ly/29SOoLA) verfügbar.

Leistung und kompiliertes XAML

Xamarin.Forms verwendet eine Kombination aus XAML und CodeBehind-Programmlogik. Wenn Sie dies vorziehen, können Sie auch nur Code zum Instanziieren und Verwalten Ihrer Benutzeroberflächenobjekte verwenden. Tatsächlich hält Sie nichts (außer Effizienz) davon ab, Ihre Benutzeroberfläche größtenteils selbst zu codieren (durch den deklarativen Charakter von XAML werden Codeerstellung und -verwaltung ausgesprochen effizient). Wenn Sie dies wünschen, können Sie Ihre Seite jedoch von ContentPage ableiten und die gesamte Programmlogik in Code ohne Nutzung von XAML schreiben. Abbildung 9 zeigt dies.

Abbildung 9: Ableiten einer Seite von ContentPage ohne XAML

class ButtonCodePage : ContentPage
{   int count = 0;   public ButtonCodePage()   {     Button button = new Button     {       Text = String.Format("Tap for click count!")     };     button.Clicked += (sender, args) =>     {       count++;       button.Text =         String.Format("{0} click{1}!", count, count == 1 ? "" : "s");     };     this.Content = button;   }
}

In diesem Fall ist Ihr gesamter Benutzeroberflächencode echtes kompiliertes C#. Kompiliertes XAML verwendet einen ähnlichen Ansatz: Sie können Xamarin anweisen, das gesamte XAML vorzukompilieren. Auf diese Weise wird der in XAML-Dateien enthaltene Benutzeroberflächencode schneller geladen und ausgeführt. Kompiliertes XAML besitzt mehrere Vorteile: sofortige Überprüfung zur Kompilierungszeit, Entfernen von Lade- und Instanziierungszeiten sowie Verringern der Größe Ihrer ausführbaren Dateien. Sie können die XAML-Kompilierung auf der Assemblyebene:

[assembly: XamlCompilation(XamlCompilationOptions.Compile)]
namespace MyApp

oder auf der Klassenebene aktivieren:

[XamlCompilation(XamlCompilationOptions.Compile)]
public partial class MyPage

Zusammenfassung

Durch die Entwicklung mit Xamarin habe ich gelernt, den Schwerpunkt auf Produktivität zu legen und mir die Stärke der Microsoft Open Source-Community zunutze zu machen. Wie bereits erwähnt, hat Xamarin immer schon schnell auf Open Source und Gerätetrends reagiert: Android Wear, Apple Watch, Microsoft Band und die aktuellen Versionen von Android, iOS und Windows. Die folgenden neuen und bemerkenswerten Ergänzungen zu Xamarin tragen zu einer wirklich spannenden Plattform bei:

  • Datenseiten: Vereinfachen die Datenbindung und erleichtern das Erstellen von komplexen mehrseitigen Apps (bit.ly/29SRtLk).
  • Lokalisierungs- und mehrsprachiges App-Toolkit: Vollständige Unterstützung für Xamarin-Projekte, XLIFF-Unterstützung für Ihre Projekte nach Branchenstandard (bit.ly/2a5Uzwx).
  • Einbettung nativer Steuerelemente: Extrem einfaches Hinzufügen nativer Steuerelemente zu Xamarin-Apps (bit.ly/29IEvxH).
  • Effects: Fügt Xamarin-Apps plattformspezifische Effekte hinzu (bit.ly/29RDrbD).

Xamarin bietet ein leistungsfähiges und effizientes Verfahren zum Erstellen plattformübergreifender Apps mit praktisch beliebiger Komplexität für iOS, Android und Windows. Sie können sich wirklich auf die App-Funktionalität und den Inhalt der App konzentrieren und eine leistungsfähige App erstellen, die unter jedem Betriebssystem funktioniert. Sobald Sie mit dem Erstellen Ihrer ersten Xamarin-App beginnen, werden Sie schnell eine große und dynamische Community von plattformübergreifenden Entwicklern entdecken.


Xamarin University Serie

C#/XAML: Du interessierst dich für die Entwicklung mit Xamarin? Du willst eine mobile Anwendung für alle mobilen Betriebssysteme entwickeln? Du verfolgst zufällig meine neue Xamarin Serie auf Codefest? In diesem Beitrag wollen wir dir eine kurze Zusammenfassung geben wo du am Besten und kostenlos lernst mit C#/XAML zu programmieren. Ausgewählte Kurse: Programmieren für Beginner mit C#, Xamarin für Anfänger, Spielerisch C# Lernen mit Windows 10

Episode 1: Hier dreht sich alles um den Einstieg in die Xamarin University, wie du deine IDE installierst und alle notwendigen Tools zum Laufen bringst.

Episode 2: In diesem Beitrag wollen wir uns genauer mit dem Thema Xamarin.Android beschäftigen. Du baust deine erste Xamarin.Android Anwendung und entwickelst ein Verständnis der Grundlagen der Android-Anwendung Entwicklung mit Xamarin.

Episode 3: In der Episode 3 haben wir uns Kevin Ashley, einen Architect Evangelist bei Microsoft USA, ins Boot geholt und in Kooperation mit MSDN Microsoft Magazine stellen wir euch heute diesen Beitrag zur Verfügung.

Xamarin Alliance: Hinter dem schon fast epischen Namen versteckt sich ein Projekt für Entwickler, die eine Xamarin Applikation entwickeln wollen. Durch eine Reihe von Coding-Aufgaben erfährst du, wie du plattformübergreifende mobile Apps mit Xamarin entwickelst und wie du Azure Services integrieren kannst, um deine Apps mit der Cloud zu verbinden.


Skip to main content