Gängige Tools in der IT: gut oder schlecht?

Möchten Sie immer in derselben Umgebung arbeiten? Damit Sie in Entwicklungsumgebungen und bei der Verwendung von Tools nicht hin und her springen müssen. Das Ideal ist natürlich noch weit weg, aber die IT-Welt strebt danach. Heute sprechen wir über eine einzige plattformübergreifende API-Bibliothek. Jetzt mitmachen!



Bei der Entwicklung von Anwendungen für iOS und Android mit Xamarin können Entwickler mit C # auf jede native API zugreifen. Diese Bindungen helfen nicht nur bei der Verwendung der entsprechenden APIs in C #, sondern bieten auch leistungsstarke Funktionen dieser Sprache, wie z. B. Async / Warten, Ereignisse, Delegaten usw.

Dies ist ein großer Vorteil für Entwickler, da sie niemals außerhalb von C # arbeiten müssen, unabhängig davon, ob sie eine gemeinsame Geschäftslogik, Benutzeroberfläche oder Zugriff auf native Funktionen schreiben. Eine der wichtigsten Funktionen, die Programmierer bei der Entwicklung plattformübergreifender Anwendungen auf Xamarin häufig sehen möchten, ist die Möglichkeit, über allgemeinen Code auf allgemeine native Funktionen zuzugreifen, ohne eigene Abstraktionsebenen schreiben oder ein von der Community erstelltes kostenloses Plug-In finden zu müssen.

Xamarin.Essentials verwirklicht den Traum einer einzigen API für den Zugriff auf Funktionen wie Geolokalisierung, Sensorablesungen, sichere Speicherung usw. für jede auf Xamarin basierende Anwendung!


APIs in Xamarin.Essentials


In der heute verfügbaren Testversion bieten die Xamarin.Essentials-APIs Zugriff auf mehr als 25 native Funktionen aus einer einzigen plattformübergreifenden API-Bibliothek, auf die unabhängig von der Erstellung der Benutzeroberfläche über den allgemeinen Code zugegriffen werden kann. Dies bedeutet, dass Sie die Xamarin.Essentials-API mit einer einzelnen Xamarin.Android-Anwendung oder einer Xamarin.Forms-Anwendung verwenden können, die für die Arbeit mit iOS, Android und UWP geeignet ist. Trotz der großen Anzahl von Funktionen ist diese Bibliothek vollständig für den schnellsten Betrieb und minimale Auswirkungen auf die Größe der Anwendung optimiert, da sie vor dem Linker geschützt ist. Dies bedeutet, dass nur die von Ihnen verwendeten APIs und Funktionen in Ihre Anwendung aufgenommen werden und alles andere beim Kompilieren gelöscht wird.

Die Evaluierungsversion der Bibliothek, die die grundlegenden plattformübergreifenden APIs verwendet, kann über NuGet in Ihrer Anwendung installiert werden:


Der anfängliche API-Satz wurde basierend auf dem Feedback von Xamarin-Entwicklern festgelegt, welche Funktionen sie in der plattformübergreifenden API-Bibliothek sehen möchten. Im Laufe der Zeit werden wir diese Liste erweitern.

Erste Schritte


Der Einstieg in die Xamarin.Essentials-API ist in jeder vorhandenen Anwendung mit nur wenigen einfachen Schritten einfach:

1. Öffnen Sie ein vorhandenes Projekt oder erstellen Sie ein neues mit der Vorlage für leere Apps in Visual Studio C # (für Android, iPhone und iPad oder plattformübergreifend).

2. Fügen Sie dem Projekt das XGarin.Essentials NuGet-Paket hinzu:

  1. Visual Studio Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Namen der Lösung und wählen Sie NuGet-Pakete verwalten. Suchen Sie nach Xamarin.Essentials und installieren Sie das Paket in ALLEN Projekten, einschließlich iOS, Android, UWP und den .NET-Standardbibliotheken.
  2. Visual Studio für Mac. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Projektnamen und wählen Sie Hinzufügen> NuGet-Pakete hinzufügen ... Suchen Sie nach Xamarin.Essentials und installieren Sie das Paket in ALLEN Projekten, einschließlich iOS-, Android- und .NET-Standardbibliotheken.

3. Fügen Sie in einer der C # -Klassen einen Link zu Xamarin.Essentials hinzu, um auf die API zu verweisen.

using Xamarin.Essentials; 

4. Xamarin.Essentials erfordert eine zusätzliche Anpassung für Android-Projekte, um Zugriff auf spezielle Funktionen zu erhalten:

Xamarin.Essentials muss mithilfe der OnCreate-Methode im MainLauncher oder einer anderen Aktivität im Android-Projekt initialisiert werden:

 Xamarin.Essentials.Platform.Init(this, bundle); 

Um Laufzeitberechtigungen unter Android verarbeiten zu können, muss Xamarin.Essentials ein beliebiges OnRequestPermissionsResult erhalten. Fügen Sie allen Aktivitätsklassen den folgenden Code hinzu:

 public override void OnRequestPermissionsResult(int requestCode, string[] permissions, [GeneratedEnum] Android.Content.PM.Permission[] grantResults) { Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults); base.OnRequestPermissionsResult(requestCode, permissions, grantResults); } 

Fertig! Jetzt können Sie die Xamarin.Essentials-API in Ihrer Anwendung verwenden. Jede API wird mit einer vollständigen Dokumentation geliefert, einschließlich Codefragmenten, die Sie in Ihre Anwendung kopieren können.

Weitere Informationen finden Sie in unserem Handbuch Erste Schritte .

Kompassbaugruppe


In einer meiner Reden bei Microsoft Build 2018 habe ich gezeigt, wie die Funktionen der APIs Xamarin.Forms und Xamarin.Essentials kombiniert werden können, um einen plattformübergreifenden Kompass in weniger als 10 Minuten zusammenzustellen. Es ist so einfach wie das Hinzufügen einiger Bilder und einer kleinen Kompass-Benutzeroberfläche in der Anwendung:

  <Grid> <Grid.RowDefinitions> <RowDefinition Height="*"/> <RowDefinition Height="Auto"/> </Grid.RowDefinitions> <Image HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" Source="compass.png"/> <Image HorizontalOptions="Center" VerticalOptions="Center" Source="arrow.png" x:Name="ImageArrow"/> <Label Grid.Row="1" x:Name="LabelInfo" VerticalOptions="Center" HorizontalOptions="Center" /> </Grid> 

Ich konnte die Kompass- API von Xamarin.Essentials im obigen Code verwenden, um Ereignisse zu protokollieren, wenn der Kompass seine Position ändert, den Beschriftungstext zu aktualisieren und das Bild zu drehen. All dies geschieht mit ein paar Codezeilen:

  using Xamarin.Forms; using Xamarin.Essentials; namespace MyCompass { public partial class MainPage : ContentPage { public MainPage() { InitializeComponent(); // Register for reading changes Compass.ReadingChanged += Compass_ReadingChanged; } void Compass_ReadingChanged(CompassChangedEventArgs e) { LabelInfo.Text = $"Heading: {e.Reading.HeadingMagneticNorth}"; ImageArrow.Rotation = e.Reading.HeadingMagneticNorth; } protected override void OnAppearing() { base.OnAppearing(); Compass.Start(SensorSpeed.Ui); } protected override void OnDisappearing() { base.OnDisappearing(); Compass.Stop(); } } } 


Auf diese einfache Weise wird eine Kompassanwendung erstellt! Den vollständigen Quellcode und die Bilder finden Sie auf GitHub.

Zukunftspläne


Xamarin.Essentials wurde gründlich getestet, wir bitten Sie jedoch, während unserer Evaluierungsversion ein Feedback zu hinterlassen. Probieren Sie die Bibliothek in Ihren Anwendungen aus und melden Sie alle Probleme, die bei der Arbeit mit dem XHarin.Essentials GitHub-Repository auftreten .

Wir betrachten diese Bibliothek als das Hauptelement der Xamarin-Plattform und wissen, dass dies ein wichtiger Baustein für alle Entwickler und Anwendungen ist. Daher werden wir das XGarin.Essentials NuGet-Paket in jede iOS-, Android- und Xamarin.Forms-Vorlage in Visual Studio und Visual Studio für Mac integrieren, damit Entwickler von der ersten Phase ihres Projekts an auf diese APIs zugreifen können.

Sehen Sie mit eigenen Augen


Eine vollständige Übersicht über Xamarin, Xamarin.Forms und Xamarin.Essentials finden Sie im Rahmen der Präsentation „Erstellen mobiler Anwendungen mit Visual Studio und Xamarin“ in Microsoft Build 2018.



Weitere Informationen


In unserer Dokumentation finden Sie eine vollständige Anleitung zum Einstieg und zur Verwendung der einzelnen Xamarin.Essentials-Funktionen. Wir haben auch eine vollständige Liste der API-Links bereitgestellt, die Sie im Internet anzeigen können, um alle Details der Xamarin.Essentials-APIs zu erfahren.

Source: https://habr.com/ru/post/de415021/


All Articles