Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

What's New, Hot, & Awesome for Xamarin Developers!

426 views

Published on

Presented at: https://www.meetup.com/SeattleMobileDevelopers/events/262787576/

It is official! We are back and officially on the East Side! Join us on July 17th as we re-ignite the user group and have a huge overview of Xamarin including what's new, hot, and awesome! This will be coming off of the Xamarin Developer Summit where there will be tons of announcements so you don't want to miss it!

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

What's New, Hot, & Awesome for Xamarin Developers!

  1. 1. Seattle Mobile .NET Developers! • https://www.meetup.com/SeattleMobileDevelopers/
  2. 2. What’s New, Hot, & Awesome for Xamarin Developers @JamesMontemagno | jamont@microsoft.com
  3. 3. https://devblogs.microsoft.com/xamarin/recapping-xamarin-developer-summit/
  4. 4. Xamarin Developer Summit • 2 Days • 2 Keynotes • 30+ Sessions • 300 Attendees • Live Streamed to YT • Videos on Demand https://youtube.com/c/XamarinDevelopers
  5. 5. .NET: Your platform for building anything Desktop Web Cloud Mobile Gaming IoT AI .NET
  6. 6. Shared C# Business Logic • Platform APIs • User Interface Xamarin App Architecture Shared C# codebase • 100% native API access • High performance .NET C# C# C#
  7. 7. Delight Developers
  8. 8. Our proud tradition • Native-first • Anything you can do with Java, Objective-C, or Swift you can do in Visual Studio with C# or F# • Same-day releases for new platform capabilities • Make mobile development delightful
  9. 9. aka.ms/xamarin-showcase
  10. 10. Developer Productivity Cross-Platform Everything 100% Native & Optimized
  11. 11. 100% Native & Optimized
  12. 12. Preview Available Today! aka.ms/xamarin-ios13
  13. 13. Visual Studio 2019 16.3 Preview 2
  14. 14. Leaner Apps
  15. 15. xxhdpi Base xxxhdpi xhdpihdpi enfr esx86 arm64armv7a
  16. 16. Specific Languages Proper Resource Screen Densities Best Match ABIs arm64 en xxxhdpi fr Base Optimized APK (20-50% size reduction)
  17. 17. Absolutely no code changes made by you. Optimized APK (20-50% size reduction) Visual Studio 2019 16.3 Preview
  18. 18. Faster App Startup
  19. 19. Execution modes 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 .APPAOT .NET C# Bindings .APKCompile and Link .NET C# Bindings IL + JIT Runs natively AOT ?
  20. 20. Startup Tracing for Android
  21. 21. Startup Tracing
  22. 22. Startup Tracing
  23. 23. Startup Tracing for Android Available in ALL versions of Visual Studio 2019 16.2
  24. 24. Cross-Platform Everything
  25. 25. aka.ms/xamarinessentials Flashlight Geolocation Preferences Device Info Device Display Info Secure Settings Accelerometer Battery Clipboard Compass Connectivity Share Email File SystemGeocoding Gyroscope Magnetometer Phone Dialer Screen Lock Sms Text to Speech Vibration Xamarin.Essentials Email Attachments Open Files Share File Detect Shake
  26. 26. Xamarin.Essentials1.3-beta available today!
  27. 27. Xamarin.Essentials1.3-beta available today! +
  28. 28. .Forms
  29. 29. An open source mobile UI framework from Microsoft for building iOS, Android, & Windows apps with .NET from a single shared codebase.
  30. 30. Xamarin.Forms Pull Requests 2017 314 2019 457 1.5x January-June
  31. 31. Community Pull Requests 2017 44 2019 116 2.6x January-June
  32. 32. Common Controls
  33. 33. YOU
  34. 34. The Little Things Entry/Editor - IsSpellCheckEnabled - MaxLength - DetectReadingOrderFromCo ntent (UWP) - Text prediction options - Autocapitalization - AutoResizable Editor - ButtonType for return button - Position and Color of caret - Placeholder color Label - Bindable Spans - Commandable Spans, Span Gestures - LineHeight SearchBar IsSpellCheckEnabled ImeOptions DesignModeEnabled Android Bottom Tabs WebView mixed content (Android) WebView evaluate JS Binding Mode OneTime ProgressBar colors Switch colors Slider colors Hide scroll bars Button AccessKey ListView - full width separators - SelectionMode Label MaxLines Entry Read-Only ImageButton PinsSource on Forms.Map WebView Zoom Controls (Android) TabbedPage Icons (UWP) Drop Shadows (iOS/UWP) App DI Container Hooks Button Padding Page TitleView BoxView rounded corners WKWebView for iOS CheckBox RelativeSource Binding Map ItemTemplate BindableLayout Bindable AutomationID UIModalPresentationStyle TabIndex Pending Label Padding Polylines RadioButton Entry ClearButtonMode CharacterSpacing VSM Target Label HTML CameraView MediaElement FAB …..
  35. 35. Visual & Material Design Renderers
  36. 36. Native Controls and the OS
  37. 37. Visual
  38. 38. Simplicity of Shell • Single Container • URI Routing • Templating
  39. 39. Flyout Made Simple <FlyoutItem Title="Browse" Icon="tab_feed.png"> <ShellContent ContentTemplate="{DataTemplate local:ItemsPage}" /> </FlyoutItem> <FlyoutItem Title="About" Icon="tab_about.png"> <ShellContent ContentTemplate="{DataTemplate local:AboutPage}" /> </FlyoutItem> <MasterDetailPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:d="http://xamarin.com/schemas/2014/forms/design" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" xmlns:views="clr-namespace:App6.Views" x:Class="App6.Views.MainPage"> <MasterDetailPage.Master> <views:MenuPage /> </MasterDetailPage.Master> <MasterDetailPage.Detail> <NavigationPage> <NavigationPage.Icon> <OnPlatform x:TypeArguments="FileImageSource"> <On Platform="iOS" Value="tab_feed.png"/> </OnPlatform> </NavigationPage.Icon> <x:Arguments> <views:ItemsPage /> </x:Arguments> </NavigationPage> </MasterDetailPage.Detail> </MasterDetailPage> <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:d="http://xamarin.com/schemas/2014/forms/design" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006 mc:Ignorable="d" x:Class="App6.Views.MenuPage" Title="Menu"> <StackLayout VerticalOptions="FillAndExpand"> <ListView x:Name="ListViewMenu" HasUnevenRows="True"> <d:ListView.ItemsSource> <x:Array Type="{x:Type x:String}"> <x:String>Item 1</x:String> <x:String>Item 2</x:String> </x:Array> </d:ListView.ItemsSource> <ListView.ItemTemplate> <DataTemplate> <ViewCell> <Grid Padding="10"> <Label Text="{Binding Title}" d:Text="{Binding .}" FontSize="20"/> </Grid> </ViewCell> </DataTemplate> </ListView.ItemTemplate> </ListView> </StackLayout> </ContentPage>
  40. 40. Shell UI 1 Page Bottom Tabs Bottom & Top Tabs FlyoutTop Tabs
  41. 41. CollectionView & CarouselView
  42. 42. How Do You See the World Windows or Mac iOS or Android Native UI or Drawn Forms or Classic XAML or C# MVVM or Reactive or MVU
  43. 43. Embrace the Best of All Worlds Windows AND Mac iOS AND Android Native UI AND Drawn Forms AND Classic XAML AND C# MVVM AND Reactive AND MVU
  44. 44. .Forms
  45. 45. Developer Productivity
  46. 46. Get Started Faster
  47. 47. Install Faster, Load Faster • Faster solution creation • Faster solution/project load Visual Studio 2017 Visual Studio 2019
  48. 48. Code Faster
  49. 49. Optimized Code Editor Available now in Visual Studio 2019 for Mac
  50. 50. XAML IntelliSense Available in Preview in Visual Studio 2019 for Mac
  51. 51. IntelliCode Available now in Visual Studio 2019 (Windows)
  52. 52. Android XML + Designer
  53. 53. And in the next release of Visual Studio:.AXML .XML Android XML
  54. 54. Build Faster
  55. 55. • 800x480 display at 252ppi • 256 MB RAM • 1GHz • Adreno 200 GPU • 5 megapixel camera Nexus One (2010) • 1080x2160 resolution at 443 ppi • 4GB RAM • Octa-core (4x2.5 GHz, 4x1.6GHz) • GeekScore: 2,353 single core, 7,628 multi-core) • Dual 12MP wide-angle & telephoto cameras • Adreno 630 GPU • 12.2 MP camera Pixel 3 (2018)
  56. 56. Today, apps are more complicated
  57. 57. SmartHotel360 Reference App Step VS 2017 (15.8) VS 2019 (16.0) Delta First Build 01:04.20 00:50.13 -21.95% Incremental Build (XAML Change) 00:10.62 00:07.47 -29.66% Deploy (XAML Change) 00:09.03 00:04.44 -50.83%
  58. 58. Iterate Faster
  59. 59. Announcing XAML Hot Reload for Xamarin.Forms Iterating on UI
  60. 60. Demo:
  61. 61. XAML Hot Reload for Xamarin.Forms Intelligent and resilient No setup or code changes Emulator, Simulator, or Device Interact with your real data Works with custom controls, third party libraries and frameworks, Shell, resources, and more! Android or iOS
  62. 62. Private Preview Available Today https://aka.ms/XAMLHotReload
  63. 63. Developer Productivity Cross-Platform Everything 100% Native & Optimized
  64. 64. .Forms
  65. 65. Thank you. James Montemagno Principal Program Manager – Mobile Developer Tools, Microsoft motz@microsoft.com Montemagno.com @JamesMontemagno Weekly development podcast mergeconflict.fm Weekly development show xamarinshow.com

×