Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Moderne mobilutvikling med .Net 5 og Xamarin

Moderne mobilutvikling med .Net 5 og Xamarin

Liker du å kode i .Net og C# / F# på serveren, kommer du til å elske det på iOS og Android! Vi går kjapt gjennom hva Xamarin er, hvordan vi kan bruke det for gøy og penger og ser på en enkel eksempelapp som deler kode mellom mobilen og serveren.

396eb98ecde29fe1fc8bcddbbf398f8f?s=128

Runar Ovesen Hjerpbakk

December 15, 2020
Tweet

Transcript

  1. Moderne mobilutvikling med .Net 5 og Xamarin Runar Ovesen Hjerpbakk,

    BMC-fan https://hjerpbakk.com @hjerpbakk Bekk Julefagdag 15.12.2020
  2. None
  3. Første dag i ny jobb

  4. I går

  5. Smarttelefonen er blitt voksen

  6. None
  7. Hva er vanskelig med mobilutvikling?

  8. Hva bør vi mobilutviklere forvente i 2020? Hot Reload for

    kjapp lokal iterering Enkelt DevOps-oppsett Biblioteker for løste problemer Moderne og effektivt programmeringsspråk
  9. Hva skal vi velge? Full native! Webviews (hybridapp) Kryssplattform

  10. Hva skal vi velge?

  11. 2009

  12. 2016

  13. Architecture Xamarin.iOS does full Ahead Of Time (AOT) compilation to

    produce an ARM binary for Apple’s App Store with JIT if needed Xamarin.Android takes advantage of Just In Time (JIT) compilation on the Android device. ARM BINAR Y Runs natively .APP AOT .NE T C# Bindings .APK AOT & Compil e and Link .NET C# Bindings IL + JIT Runs natively .NET C# Bindings
  14. None
  15. Shared C# Business Logic • Platform APIs • User Interface

    Xamarin App Architecture Shared C# codebase • 100% native API access • High performance Desk- top C# C# C#
  16. Xamarin.Forms: Cross-Platform Native UI Desk- top C# C# Shared C#

    Business Logic Xamarin.Essentials C# Xamarin.Forms - UI
  17. Xamarin.Essentials aka.ms/xamarinessentials Flashlight Geolocation Preferences Device Info Device Display Info

    Secure Settings Accelerometer Battery Clipboard Compass Connectivity Data Transfer Email File System Geocoding Gyroscope Magnetometer Phone Dialer Screen Lock Sms Text to Speech Vibration
  18. None
  19. Desk- top C# C# Shared C# Business Logic Xamarin.Essentials C#

    Xamarin.Forms - UI
  20. Model View ViewModel Xamarin.Forms Data Binding Events Data Model-View-ViewModel (MVVM)

  21. None
  22. None
  23. None
  24. None
  25. None
  26. None
  27. None
  28. None
  29. None
  30. Xamarin er svaret hvis dere vil: Enkelt verifisere all logikk

    og UX programmatisk før release Benytte domemodell, validering og annen kode fra .Net backend Utnytte .Net, C# / F# og kjenner til hva som er hot or not i økosystemet Kode naDve eller kryssplaEorm i et mer moderne språk enn Java, SwiJ eller ObjecDve-C, og med bedre tooling Få en større nedlasDngstørrelse enn ren naDve
  31. Xamarin er svaret hvis dere vil: Enkelt verifisere all logikk

    og UX programmatisk før release Benytte domemodell, validering og annen kode fra .Net backend Utnytte .Net, C# / F# og kjenner til hva som er hot or not i økosystemet Kode native eller kryssplattform i et mer moderne språk enn Java, Swift eller Objective-C, og med bedre tooling Få en større nedlastingstørrelse enn ren native
  32. hMps://github.com/folkehelseinsDtuMet/Fhi.SmiMestopp.App hMps://github.com/Sankra/GraphQLDotNet

  33. Konsepter og mønstre - MVVM ❤ - Hot Reload -

    Kompilert XAML - Kompilerte Bindings - Dependency Injection - Sterkt typet navigasjon - Testing - AppCenter - CollectionView - Custom renderers - Behaviors - Theming - Custom controls - Secrets - Converters - Nullable Reference Types (C# 8) - Meldinger - Platform spesifikk tilpasninger - Image fonts - Shell
  34. Lese/se/høre/prøve/bruke/lære Lese/se/høre - hjerpbakk.com - Planet Xamarin bloggaggregering - Xamarin

    Developers på YouTube - Merge Conflict Podcast - Gone Mobile Podcast - Microsofts dokumentasjon - Xamarin Inspector - Xamarin på GitHub - koden og SAMPLES - App Center - Xamarin Essentials - Polly - DIPS.Xamarin.UI - NotifyPropertyChanged.Verifier - Xamarin Profiler Prøve og bruke
  35. #xamarin