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

Xamarin Forms - From DUPLO to Lego

Xamarin Forms - From DUPLO to Lego

Xamarin Forms is ready for prime time! I show how easy it is to create testable applications with a large degree of code sharing.

https://github.com/Sankra/GraphQLDotNet

396eb98ecde29fe1fc8bcddbbf398f8f?s=128

Runar Ovesen Hjerpbakk

November 28, 2019
Tweet

Transcript

  1. Xamarin Forms - From Duplo to Lego Runar Ovesen Hjerpbakk,

    Manager https://hjerpbakk.com @hjerpbakk Bekk NNUG 28.11.2019
  2. None
  3. Agenda WTF, XAMARIN STATE OF XAMARIN FORMS ANNO 2019 ARCHITECTURE

    AND ADVICE XAMARIN FORMS IS AMAZING AND I'LL USE IT FOR MY NEXT PROJECT!
  4. Which approach should you use? Full naDve! Webviews (hybrid app)

    Cross platform
  5. Shared C# Business Logic • Platform APIs • User Interface

    Xamarin App Architecture Shared C# codebase • 100% native API access • High performance .NET C# C# C#
  6. Native performance Xamarin.iOS does full Ahead Of Time (AOT) compilation

    to produce an ARM binary for Apple’s App Store. Xamarin.Android takes advantage of Just In Time (JIT) compilation on the Android device. ARM BINARY Runs natively .APP AOT .NE T C# Bindings .APK AOT & Compile and Link .NET C# Bindings IL + JIT Runs naDvely .NET C# Bindings
  7. Xamarin.Forms: Cross-Platform Native UI .NET C# C# Shared C# Business

    Logic Xamarin.Essentials C# Xamarin.Forms - UI
  8. Before release, we had internally called Xamarin.Forms "duplo," to emphasize

    that it was for childishly-simple apps and screens
  9. The smartphone is all grown up

  10. None
  11. None
  12. Xamarin Forms 2019 ✓ 40+ Pages, layouts, and controls (Build

    from C# or XAML) ✓ Two-way data binding ✓ Navigation ✓ Visual State Manager ✓ Animation API ✓ Dependency Service ✓ Messaging Center Shared C# Business Logic .NET C# C# C# Xamarin.Essentials Xamarin.Forms - UI
  13. 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
  14. Concepts and patterns - MVVM ❤ - Hot Reload -

    Kompilert XAML - Kompilerte Bindings - Dependency Injection - Strongly typed navigation - Testing - Dev Ops flow - Collection View - Custom renderers - Behaviors - Theming - Custom controls - Secrets - Converters - Nullable Reference Types (C# 8) - Messages - Platform specific tweaks - Image fonts - Shell
  15. MVVM

  16. Code

  17. Concepts and patterns redux - MVVM ❤ - Hot Reload

    ⭐ - Kompilert XAML ⭐ - Kompilerte Bindings ⭐ - Dependency Injection ⭐ - Strongly typed navigation ⭐ - Testing ⭐ - Dev Ops flow ⭐ - Collection View - Custom renderers - Behaviors - Theming - Custom controls - Secrets - Converters - Nullable Reference Types (C# 8) - Messages - Platform specific tweaks - Image fonts - Shell (for now)
  18. You’ve learned that ... … App Center is fully integrated

    with Xamarin and trivializes the setup of a fully automated release pipeline … C# 8 is an awesome programming language and the Visual Studio family of tools are pleasant to work with … XAML, ViewModels and MVVM are easy to work with and makes end to end tesDng a breeze … Xamarin Forms makes it fun to create any app sharing a GREAT deal of code between the plaborms!
  19. Thriving community Read / Watch / Hear - hjerpbakk.com -

    Planet Xamarin blog - Xamarin Developers - YouTube - Merge Conflict Podcast - Gone Mobile Podcast - Microsoft's documentation - Xamarin Inspector - Xamarin on GitHub - source and SAMPLES - App Center - Xamarin Essentials - Polly - DIPS.Xamarin.UI - NotifyPropertyChanged.Verifier - Xamarin Profiler Try and use
  20. Thank you