Entwicklung mit Xamarin – Quick Start

/, Web application/ Entwicklung mit Xamarin – Quick Start

 Entwicklung mit Xamarin – Quick Start

Xamarin ermöglicht die Entwicklung von nativen mobilen Applikationen mit Hilfe einer gemeinsamen Codebasis. Dies hat die entscheidenden Vorteile, dass eine Applikation nicht länger pro Plattform umgesetzt werden muss und dass im Vergleich zu anderen Cross-Plattform-Lösungen native Anwendungen als Artefakte entstehen. Andere Lösungen, wie Ionic oder Cordova, setzen dabei auf WebView, das lediglich das Look and Feel der jeweiligen Plattformen imitiert.

Die Entwicklung mit Xamarin findet dabei in C# statt, wobei die APIs der jeweiligen Plattformen darüber zugreifbar sind. Dadurch ist es möglich, den vollen Funktionsumfang von iOS, Android oder Windows zu nutzen. Für die Umsetzung bestehen zwei Ansätze: Gemeinsame Codebasis in C# + plattformspezifische Benutzeroberflächen oder gemeinsame Codebasis in C# + gemeinsame Benutzeroberfläche, die während der Kompilierung in plattformspezifische und native Steuerelemente überführt wird. Letzteres umfasst die Entwicklung mit Xamarin.Forms.​

 

Entwicklung mit Xamarin.Forms

Xamarin.Forms stellt die Entwicklung von Xamarin-Oberflächen mit Hilfe von XAML dar. Dadurch ist es möglich, auf das Designpattern MVVM (Model, View, ViewModel) zurückzugreifen, wodurch eine vergleichbare Entwicklung zu WPF- bzw. Desktopapplikationen für Windows möglich ist.

_________________________________________________________________________________

Exkurs: MVVM

xamarin_mvvm.png

https://msdn.microsoft.com/en-us/library/gg405484(v=pandp.40).aspx

Model:
Das Model ist für den Datenzugriff, die Konsistenz und die Gültigkeit der Daten zuständig. Dabei kapselt es sowohl die Daten als auch die Businesslogik in Klassen ab und ist dabei unabhängig von der Darstellung der Daten an der Oberfläche.

ViewModel:
Das ViewModel kapselt die Präsentationslogik und Zustände. Dabei stellt es die Daten des Models zusammen und konvertiert sie für das DataBinding, indem Daten und Commands als Properties zur Verfügung gestellt werden. Dafür kommt das INotifyPropertChanged-Interface zum Einsatz. Zugleich besitzt es keine Kenntnis über die Controls in der View.

View:
Stellt die GUI einer Ansicht in der Applikation dar. Dabei wird das ViewModel als DataContext gesetzt, wodurch mit Hilfe des DataBindings eine Interaktion mit der Präsentationslogik möglich ist. Lediglich UI-spezifische Logik, wie das Animieren einer Schaltfläche, befindet sich im Code Behind der View.

_________________________________________________________________________________

Views, Layouts und Pages stellen die zentralen Elemente in Xamarin.Forms dar. Das Grundgerüst bildet dabei eine Page. In ihr lassen sich beliebige Layouts und Views einbinden und miteinander kombinieren, sodass vielfältige Benutzeroberflächen kreiert werden können. In eine Page wird meist direkt ein Layout platziert, welches verschiedene Views oder wiederum andere Layouts vorhält. Beispiel: https://github.com/jamesmontemagno/MyShoppe/blob/master/MyShop/Views/HomePage.xaml

Views in Xamarin.Forms: https://developer.xamarin.com/guides/xamarin-forms/controls/views/

Pages in Xamarin.Forms: https://developer.xamarin.com/guides/xamarin-forms/controls/pages/

Layouts in Xamarin.Forms: https://developer.xamarin.com/guides/xamarin-forms/controls/layouts/

Einführung in Xamarin.Forms: https://developer.xamarin.com/guides/xamarin-forms/getting-started/introduction-to-xamarin-forms/

Xamarin.Forms Quickstart: https://developer.xamarin.com/guides/xamarin-forms/getting-started/hello-xamarin-forms/

Weiterführende Quellen für den Einstieg:

Beispiel Applikation mit Xamarin.Forms, Azure-Integration, Offline/Online Sync, etc.: https://github.com/jamesmontemagno/MyShoppe

Buch zur Einführung in Xamarin.Forms (mit Beispielen): https://blogs.msdn.microsoft.com/microsoft_press/2016/03/31/free-ebook-creating-mobile-apps-with-xamarin-forms/

Xamarin Developer Guide:  https://developer.xamarin.com/guides/​​

By | 2017-02-03T14:31:48+00:00 February 3rd, 2017|SharePoint, Web application|0 Comments

About the Author:

Technology Specialist, Experte für: Javascript, JQuery, Ajax

Leave a Reply

%d bloggers like this: