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

Microsoft Build 2017 Mobile Wrap-Up

Microsoft Build 2017 Mobile Wrap-Up

- Back on Build 2016
- Xamarin.Forms
- XAML Standard
- Xamarin Native
- Visual Studio & Tools
- Mobile Center
- Fluent Design System
- UWP

Cyril

May 18, 2017
Tweet

More Decks by Cyril

Other Decks in Programming

Transcript

  1. About us • John Thiriet • Consultant / Trainer @

    Cellenza • Microsoft MVP • Xamarin MVP • https://john-thiriet.com/ • @johnthiriet • Cyril Cathala • Consultant / Trainer @ Soat • Microsoft MVP • @cyrilcathala
  2. About the meetup • Native Mobile Cross Platform • Xamarin

    • ReactNative • NativeScript • ... • Created in may 2016 • Always looking for subjects and venues • Special 1 year anniversary meetup coming soon
  3. What about last year • Xamarin Studio 6 • Open

    Sourcing • iOS Simulator + iOS USB Remoting • Workbooks • Native HTTP Handlers • Test Cloud Live • Xamarin Insights HockeyApps
  4. Xamarin.Forms 2.3.5 • Pre-release • Fast Renderers for Android •

    Button, Label and Image • Support for macOS (preview) • Better accessibility • Map renderer extensibility • .NET Standard Compatible (1.1+) • 160+ bug fixes
  5. Performance Grid StackLayout Grid Label Button Image Label Panel Panel

    Panel LabelRender Button Renderer Image Renderer Label Renderer TextBlock Button Image TextBlock Forms UWP
  6. Performance Grid StackLayout Grid Label Button Image Label Panel LabelRender

    Button Renderer Image Renderer Label Renderer TextBlock Button Image TextBlock Forms UWP Compression
  7. Performance Grid StackLayout Grid Label Button Image Label Panel LabelRender

    Button Renderer Image Renderer Label Renderer Forms UWP Compression + Fast Renderer
  8. Xamarin.Forms 3.0+ • FlexLayout • CSS inspired • ListView improvements

    • Faster loading • Direct item insertion • Remove need to use ViewCell • Standardized Renderer API
  9. Xamarin.Forms 3.0+ • OneTime binding • Continued XAMLC Improvements •

    Remove more reflection • Compile faster • CSS-Like Styling • CSS support with selectors • Visual State Manager • Better adaptive layout • RelativeLayout
  10. Xamarin.Forms 3.0+ • Embedding Xamarin.Forms into Xamarin native apps •

    New backends • macOS , Tizen, GTK#, WPF • Pre-release soon! http://aka.ms/xfroadmap
  11. XAML Standard • Vocabulary spec • XAML Standard 1.0 later

    this year • Draft v1 in progress • Unify UWP and Xamarin.Forms • Xamarin.Forms will implement XAML Standard http://aka.ms/xamlstandard
  12. .NET Core / .NET Standard 1.6 • 1.6 had not

    enough API making the port of existing .NET Framework application code to .NET Core almost impossible • Issue with third-party library if it doesn’t implement .NET Standard 1.x
  13. .NET Core / .NET Standard 2.0 • +20k api compared

    with 1.x • 70% of NuGet packages are compatible • Support for referencing .NET framework libraries and projects • .NET Core 2.0 treats all linux distros as a single OS • Removing OpenSSL on Mac and using Apple’s crypto librairies • Live testing support for .NET Core projects within Visual Studio 2017 • Visual Studio support for side-by-side .NET Core SDKs
  14. Binding to native Libs • Improved • Java binding projects

    • ObjectiveC binding projects • Added • CocoaPods Importer • Soon (this summer) • SwiftNetifier (fully automated)
  15. Apple - Extensions • Fully supported • Multi process debugging

    • Shared .NET runtime between the main application and its extensions
  16. AOT comes to Android and Mac • Improved performance and

    runtime (LLVM optimization) • Hybrid mode possible • Pre-compile, optimize, obfuscate • Dynamic code generation is still here • Dynamically loading assemblies works
  17. Visual Studio 2017 for Mac • Xamarin Studio rebranding •

    Roslyn-based C# IntelliSense, refactoring, analyzers and code fixes • NuGet-based package management • Visual Studio compatible project format • MSBuild build engine • Integrated unit testing • Support for F# out-of-the-box
  18. Visual Studio 2017 for Mac • C# 7 Support •

    Mono 5.0 Support • Concurrent SGen garbage collection • Roslyn C# compiler • Ongoing convergence with .NET Class Library • .NET Core Support • Web Tooling • Publish ASP.NET Core Web Apps to Azure • Multi-Process Debugging
  19. Xamarin Live Player - Preview • Install the Xamarin Live

    Player app on the phone • Pair Visual Studio and the phone via QRCode • Two mode for using it • Debug the app remotely • Live edit a screen • Streams the source code to the mobile and runs it locally
  20. Xamarin Live Player - Limitations • Android AXML files not

    supported • “ Some” iOS storyboards features not supported • iOS XIB not supported • Limited reflection support (troubles with SQLite or JSON.NET nugets) • Some system classes cannot be overriden • Some features that require provisioning might not work (ex: HealthKit) • Problems with big projects • Problems with firewalls
  21. Fastlane integration • iOS signing workflow updates • Create new

    signing identities and install them to the local Keychain • Create new Provisioning Profiles • Add a new signing identity to an existing profile • Provision new devices
  22. Cross Platform APIs • SkiaSharp • Skia is the 2D

    graphics library that powers Google Chrome and Android • Android, iOS, Mac, UWP, tvOS, Windows • Shapes, Curves, Paths, Transformations, Effects, Shaders • GPU accelerated where possible • SVG Loading • Urhno • 3D engine • Android, iOS, Mac, UWP, tvOS, Windows • Mixed reality ready (VR and AR) • 3D scenes, effects, shaders
  23. Embeddinator-4000 • .NET in every program • Embeds .NET into

    a native library for each platform • Android => jar • Swift => framework • ObjectiveC => framework • C/C++ => native library(.a, .so ....) • Also works with UI code • Idiomatic bindings • Thoughts about embedding Xamarin Forms into native apps
  24. Project Rome • Cross-device & cross-platform experiences • Using Microsoft

    Graph • Interaction through Microsoft or Azure AD account • Remote systems and remote sessions API • Discover, launch, and message to your apps on other devices
  25. Mobile Center • Continuous everything • Build • Test •

    Distribute • Tables • Identity • Crashes • Analytics • Push • API first • Everything on the portal is usable through an API • A Swagger is available • No need for a Mac to build iOS • Use what you want • Integration with other tools • VSTS, Github, BitBucket • HockeyApp • Mobile Center Test Cloud • ...
  26. Mobile Center Cons • Still in preview • No pricing

    known • No known release date • No possibility to add custom build tasks (annoying for resigning apps) • A lot of components that sometimes feels not correctly joined together Pros • No need for a Mac as a Build Machine • Fast build • Uses VSTS under the hood • Analytics feels promising • Team listening to feedbacks
  27. Fluent Design System • New Microsoft design guidelines • Light,

    Depth, Motion, Material, Scale • Acrylic material • Connected animations • Reveal highlight http://fluent.microsoft.com
  28. UWP

  29. UWP • Ease integration for Fluent Design System • Acrylic

    brush • Reveal highlight styles • Connected and implicit animations
  30. UWP • New Controls! • NavigationView • ParallaxView • RefreshContainer/RefreshVisualizer

    • SwipeContainer • TreeView • ColorPicker • RatingsControl • Future: Repeater
  31. UWP • Improved text APIs: CharacterReceived, CharacterCasing, IsTrimmed • Advanced

    color and HDR for Image • SVG support for Image • Context menu support everywhere • Keytips support for XAML • UI creation optimization (x:Load) • Embed UWP API within Win32 apps • and more!