Mobile Development in .NET Mit Xamarin

Mobile Development in .NET Mit Xamarin

Mobile Development in .NET mit Xamarin 1 Mobile Web (Hybrid) Apps Vorteil: • Weniger Aufwand • Multi-Plattform • Web-Technologien Nachteil: UX • Performance • UI Design • Gerätefunktionen 2 Plattform abstrahieren 3 Entwicklung pro Plattform 4 Xamarin Ansatz 5 Native Mobile Apps mit Xamarin 1. Bestehendes .NET Know-How 2. Mächtige Plattform und Tools (Linq, Xml, Events/Delegates, Parallel Programming, Visual Studio/TFS, …) 3. Shared Code zwischen Plattformen 6 Benötigtes Know-How .NET 7 Xamarin.iOS C# 8 Xamarin.Android C# twitterListView.setOnItemClickListener (new OnItemClickListener () { public void onItemClick (AdapterView<?> parent, View view, int position, long id) { Intent tweetDetails = new Intent (TwitterScreen.this, TweetDetailsScreen.class); tweetDetails.putExtra ("TweetID", TwitterFeed[position].ID); startActivity (tweetDetails); } }; twitterListView.ItemClick += (s, e) => { var tweetDetails = new Intent (this, typeof (TweetDetailsScreen)); tweetDetails.PutExtra ("TweetID", TwitterFeed[e.Position].ID); StartActivity (tweetDetails); }; 9 Entwicklungsumgebung OS Mac OSX Windows UI Designer Android, iOS Build Android, iOS Debug Android (Device und ARM/x86 Emulator) iOS (Device und Emulator auf Mac) 10 Kompilierung und Ausführung AOT ARM Binary ARM iOS App Xamarin.iOS Mono CLR für iOS Binary (C#,F#) Profil Assembly (Monotouch) iOS APP iOS APP iOS/Cocoa Touch Shared Code Multi-Platform (C#,F#,VB.NET) Profil Assembly IL+JIT Android.* Java.* Mono CLR für Android App Xamarin.Android Android APK (C#,F#) Profil Assembly Android (Monodroid) Android APK Dalvik Solution mit IL Code für plattform- Projekten spezifische Profile Android/Linux Kernel 11 Architektur iOS App View Controllers Storyboards/Segues Portable Class Library Table Views ViewModel Foundation/UIKit Business Logic Entities Repository/DAL Android App CloudServiceAccess Activities Intents ListViews, Adapters Android SDK 12 DEMO 13 Architektur iOS App View Controllers iOS Class Library Storyboards/Segues IPlatformDependent Portable Class Library Implementation Table Views ViewModel Foundation/UIKit Business Logic Entities Repository/DAL Android App CloudServiceAccess Activities Android Class Library Intents IPlatformDependent IPlatformDependent ListViews, Adapters Implementation NuGet Package Android SDK Pure/Advanced PCL 14 Portierbarer Code (Anteil in %) 72% 86% 46% 53% 61% 70% 44% 53% 15 Portabilität erhöhen Portable Class Libraries für Xamarin • HTTPClient • Json.Net • MvvMCross • RestSharp • CouchBase • MailKit/MimeKit • … 16 Portabilität erhöhen Xamarin Components/Plugins • Battery Status • Compass • Barcode Scanner • Device Info • File System • Notifications • Messaging • Push Notifications • Text To Speech • Contacts • Leds • Microsoft Band • … https://github.com/xamarin/XamarinComponents 17 Xamarin.Forms Eine UI Definition für alle 3 Plattformen in XAML (DataBinding) Verwendet native UI Controls Mischung möglich 18 DEMO 19 ALM Tool Chain und TFS Integration • VCS nach Wahl • Xamarin Studio hat keinen TFS- VCS Support • Builds • TFS 2015 Buildsystem • MacOS/Windows Agents • Tasks zum Builden • Issues/Board • Keine Änderung 20 Debugging Voller Funktionsumfang: Breakpoints, Watches, Callstack, … Unterstützung für: Android (Hardware & Emulator) iOS (Hardware & Emulator über Build Host) 21 Testing • Manuelles Testen • Unit Tests möglich • Xamarin Test Cloud • ~2000 verschiedene Geräte zum Testen • Nicht in Lizenz enthalten 22 Zusätzliche Tools von Xamarin • Xamarin Android Player • Remote iOS Simulator • Xamarin.Forms Previewer (alpha) • Workbooks 23 Xamarin Lizenzierung und Kosten Lizenzierung bei Visual Studio Lizenz dabei auch bei Community Edition Mac Hardware für Xamarin.iOS benötigt 24 Xamarin Nachteile Stabilität Mehraufwand bei der Architektur, damit der Code portable bleibt 25 Fazit Mobile Apps dringen in alle Bereiche vor Android und iOS als dominante Plattformen Schneller Einstieg für .NET/C# Entwickler Einarbeitung in Android/iOS SDK erforderlich Mächtige Werkzeuge und Plattformen (.NET/VS) X-Plattform Code Sharing (50-80%) Hohe Popularität in der .NET Community (Libraries!) 26 Popularität 27 Fragen? 28.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    28 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us