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

DevMovKai Microsoft Ignite 2016 Feedback

DevMovKai Microsoft Ignite 2016 Feedback

Taiji HAGINO

October 31, 2016
Tweet

More Decks by Taiji HAGINO

Other Decks in Technology

Transcript

  1. Taiji HAGINO Software Engineer Mitsui Knowledge Industry Research & Development,

    Education, and DevRel (Mobile/Web/IoT) taipon.rock @taipon_rock taijihagino
  2. Silo approach iOS Windows Android Objective-C Xcode C# Visual Studio

    Java Android Studio No shared code • Many languages and development environments • Multiple teams
  3. Write once, run anywhere Lua Javascript Actionscript HTML+CSS Limited native

    API access • Slow performance • Poor user experience App generator
  4. iOS C# UI Windows C# UI Android C# UI Shared

    C# logic Xamarin’s unique approach Shared C# codebase • 100% native API access • High performance
  5. iOS – 100% API coverage MapKit UIKit iBeacon CoreGraphics CoreMotion

    System.Data System.Windows System.Numerics System.Core System.ServiceModel System.Net System System.IO System.Linq System.Xml C#
  6. Android – 100% API coverage Text-to-speech ActionBar Printing Framework Renderscript

    NFC System.Data System.Windows System.Numerics System.Core System.ServiceModel System.Net System System.IO System.Linq System.Xml C#
  7. Code sharing stats Mac iOS Android Windows iCircuit Touch Draw

    86% 14% 72% 28% 70% 30% 61% 39% 88% 12% 76% 24% 90% 10%
  8. Native performance Xamarin.iOS Xamarin.Android ARM BINAR Y Runs natively .APP

    AO T .NE T C # Bindings .APK Compil e and Link .NE T C # Bindings IL + JIT Runs natively
  9. ✓ Always up-to-date Same-day support: • iOS 5 • iOS

    6 • iOS 7 • iOS 8 • iOS 9 • iOS 10 Full support for: • Apple Watch • Apple TV • Android Wear • Amazon Fire TV • Google Glass • and much more
  10. Anything you can do in Objective-C, Swift, or Java can

    be done in C# and Visual Studio with Xamarin
  11. Build native UIs for iOS, Android, and Windows from a

    single, shared C# codebase. Meet Xamarin.Forms
  12. Xamarin Development Approaches iOS C# UI Windows C# UI Android

    C# UI Shared C# Logic Shared C# Logic Xamarin.Forms
  13. What’s included ✓ 40+ Pages, layouts, and controls (Build from

    code behind or XAML) ✓ Two-way data binding ✓ Navigation ✓ Animation API ✓ Dependency Service ✓ Messaging Center Shared C# Logic Shared UI Code
  14. ActivityIndicator BoxView Button DatePicker Editor Entry Image Label ListView Map

    OpenGLView Picker ProgressBar SearchBar Slider Stepper TableView TimePicker WebView EntryCell ImageCell SwitchCell TextCell ViewCell Controls
  15. Native UI from shared code • <?xml version="1.0" encoding="UTF-8"?> •

    <TabbedPage xmlns="http://xamarin.com/schemas/2014/forms" • xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" • x:Class="MyApp.MainPage"> • <TabbedPage.Children> • <ContentPage Title="Profile" Icon="Profile.png"> • <StackLayout Spacing="20" Padding="20" • VerticalOptions="Center"> • <Entry Placeholder="Username" • Text="{Binding Username}"/> • <Entry Placeholder="Password" • Text="{Binding Password}" • IsPassword="true"/> • <Button Text="Login" TextColor="White" • BackgroundColor="#77D065" • Command="{Binding LoginCommand}"/> • </StackLayout> • </ContentPage> • <ContentPage Title="Settings" Icon="Settings.png"> • <!-- Settings --> • </ContentPage> • </TabbedPage.Children> • </TabbedPage>
  16. Shared C# codebase • 100% native API access • High

    performance iOS C# UI Windows C# UI Android C# UI Shared C# Mobile C# Server Linux/Mono CoreCLR Azure Shared C# Client/Server
  17. REST API Offline sync Facebook Twitter Microsoft Google Azure Active

    Directory Azure Mobile Apps Windows Android Chrome iOS OSX In-App Kindle Backend code SQL Mongo Tables O365 API Apps Offline Sync
  18. • • Notification Hub • Maps between tags and handles

    1. Get PNS handle 4. Send to device 2. Store PNS handle 3b. Request notification Use device handles 3a. Request notification Use logical users/tags 5. Manage device handles
  19. Taiji HAGINO Software Engineer Mitsui Knowledge Industry Research & Development,

    Education, and DevRel (Mobile/Web/IoT) taipon.rock @taipon_rock taijihagino