Publicité
Publicité

Contenu connexe

Publicité

Plus de Microsoft(20)

Publicité

Uwp + Xamarin : Du nouveau en terre du milieu

  1. Android Studio java Xcode swift objective-c Visual Studio .net javascript ApplicationsNativesHybrides
  2. Un code C# pour les unir, et par le framework .net les lier.
  3. UWP on Xbox One Windows Inking (InkToolbar) Cortana Insights/Actions Windows.UI.Composition Desktop Bridge (Centennial) UWP Community Toolkit What’s new ?
  4. DirectX Family Windows.UI.Composition Windows.UI.XamlFramework Layer Visual Layer Universal Windows Application Graphics Layer Controls, layout, markup, accessibility, data binding Text rasterization, shapes & vector rasterization, ink rendering, meshes, shaders etc. Visuals, Animations & Expressions, Effects, Input Routing & Manipulations
  5. Visual Layer Windows.UI.Composition Content Visuals • SpriteVisual • Solid color content • Image content • D2D/D3D content • XAML interop Animation system • KeyFrame Animations • Expression Animations • Implicit Animations Effects system • Shadows • Scene Lightning • Blur • Exposure, Hint, Temperature • Grayscale • Blend …
  6. N° 15
  7. Why ? N° 17 Incomplete Uninstalls Registry Bloat and “PC Rot” Untrustworthy Installers DLL Hell Distribution visibility and trust No access to most new UWP APIs (no app identity)
  8. Developer Workflow N° 18 Setup AppX
  9. Support new and existing customers • • • • .appx Windows 10 .msi Windows 7 Classic Windows App win32 | wpf | winforms | vb6 | delphi | more desktop app converter existing installer build process
  10. Keep the user safety / privacy promise Your App Windows 10 Your App Windows 7 Virtualized HKCU Registry.dat Full Windows Registry UWP AppData folder Windows AppData folder no code changes required!
  11. Use Windows 10 features Your Classic Windows App, in UWP app package, with Identity Windows 10 Cortana Live Tiles Store Camera and Devices more
  12. N° 22
  13. Plateforme Xamarin Storyboard/XIB XAML/HTMLXML Code C# Partagé C# APIs iOS C# APIs WindowsC# APIs Android
  14. Partage de code Réutilisation de compétences Visual Studio Xamarin N° 25 C# partout Performance Expérience utilisateur 100% des fonctionnalités Apps natives iOS, Android Android Wear/TV Apple Watch/TV macOS Toujours à jour
  15. Open source Inclus avec Visual Studio Mature Xamarin N° 26
  16. TOUT ce qui est possible en Objective-C, Swift ou Java est possible en C# avec Xamarin Xamarin N° 27
  17. • LINQ • Event handlers • HttpClient • Json.NET • Async/Await Compétences .NET C# N° 28
  18. • Portable Class Library • Shared Project • NuGet Compétences .NET Partage de code N° 29
  19. • Intellisense • Refactoring • Déploiement • Debugging Visual Studio N° 30
  20. Développement iOS Sous Windows ! N° 31 • Connexion à un Mac obligatoire • Simulateur iOS à distance • Transfert de port USB
  21. Démo ! Xamarin natif
  22. N° 33
  23. N° 34
  24. N° 35
  25. Xamarin vs Xamarin.Forms Approche traditionnelle (ou native) Approche Xamarin.Forms iOS C# Windows C#Android C# C# Commun UI (C# / XAML) C# Commun
  26. Xamarin vs Xamarin.Forms Approche traditionnelle (ou native) Approche Xamarin.Forms iOS C# UI Windows C# UIAndroid C# UI C# Commun UI (C# / XAML) C# Commun
  27. Xamarin.Forms XAML N° 38 <?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="XamlSamples.XamlPlusCodePage" Title="XAML + Code Page"> <StackLayout> <Slider VerticalOptions="CenterAndExpand" /> <Label Text="A simple Label" Font="Large" HorizontalOptions="Center" VerticalOptions="CenterAndExpand" /> <Button Text="Click Me!" HorizontalOptions="Center" VerticalOptions="CenterAndExpand" /> </StackLayout> </ContentPage>
  28. Pages + Layout Stack Absolute Relative Grid ContentView ScrollView Frame Content MasterDetail Navigation Tabbed Carousel
  29. ActivityIndicator BoxView Button DatePicker Editor Entry Image Label ListView Map OpenGLView Picker ProgressBar SearchBar Slider Stepper TableView TimePicker WebView EntryCell ImageCell SwitchCell TextCell ViewCell Contrôles …
  30. Partage de code important Expérience utilisateur moins importante Application peu complexe Interface unifiée et simple, peu de fonctionnalités natives Peu d’exigences en performances Le prix à payer pour une couche d’abstraction App B2B (ou POC) Priorité au fonctionnel, avant la forme Compétences XAML Réutilisation des connaissances XAML, moins exigeant en connaissances natives Quand choisir Xamarin.Forms ? N° 41
  31. Démo ! Xamarin.Forms
  32. Screenshots, métriques Xamarin Test Cloud
  33. HockeyApp
  34. TFS/Git Build, Test, Deploy Visual Studio Team Services
  35. 70+ classes Xamarin University
  36. Evénements N° 47 Meetup Xamarin Xamarin Dev Days Ce soir 19h ! Microsoft Experiences 26 novembre Microsoft Accelerator Paris
  37. N° 48
  38. @microsoftfrance @Technet_France @msdev_fr N° 49
  39. N° 50

Notes de l'éditeur

  1. La bataille du cross plateforme fait rage
  2. Who of you have had to deal with any of these issues? Like Messy Uninstall? Using external tools for patching and updates? Registry bloating? DLL Hell? Distribution problems? Maybe you have wanted to use UWP APIs from a Win32 desktop app? The tools we have provided you so far made it hard to address these issues for both users and you as developers. We took your feedback and made Project Centennial UWP using Desktop Conversion extensions is a bridge that enables you to convert your Windows desktop application (like Win32, Windows Forms, and WPF) or game to a Universal Windows Platform (UWP) app or game. For more info, see Guide to UWP apps. After conversion, your Windows desktop application is packaged, serviced, and deployed in the form of a UWP app package (an .appx or an .appxbundle) targeting Windows 10 Desktop.
  3. Your desktop app can use any desktop application compilation technology which targets the win32 desktop today. Basically non WinRT/UWP app you use on your PC. If you want to use the new distribution stack, you don’t need to change any code. Just add the desktop app converter / Appx build as part of your overall build process. You can leave your Windows 7-targeted code exactly the same, and use the same MSI technology you’re using today. Appx Supports side-loading One-click install Clean and guaranteed uninstall Cannot install drivers or require administrator rights
  4. Your desktop app can use any desktop application compilation technology which targets the win32 desktop today. Basically non WinRT/UWP app you use on your PC. If you want to use the new distribution stack, you don’t need to change any code. Just add the desktop app converter / Appx build as part of your overall build process. You can leave your Windows 7-targeted code exactly the same, and use the same MSI technology you’re using today. Appx Supports side-loading One-click install Clean and guaranteed uninstall Cannot install drivers or require administrator rights
  5. When running in the app package, your app accesses virtualized versions of HKEY Current User and the AppData folder. When installed via MSI, it works exactly as it did before. This preserves your app and also keeps the promise to users for safety and reliability.
  6. Once your app has been packaged, it has a UWP Identity. This identity allows access to more APIs than you can reach via Win32 alone. Cortana, Live Tiles …
  7. Attention ! Chiffres potentiels, ce qu’on peut espérer obtenir dans le cas d’une bonne architecture et d’une app pas trop orientée UI Partageable : Appels aux web services Base de donnée locale Logique métier => Tout ce qui n’est pas UI (sauf XF) ou spécifique plateforme
  8. Partage de code important Interface unifiée, au détriment de l’expérience utilisateur Application peu complexe Peu de fonctionnalités natives et interface simple Peu d’exigences en performances Le prix à payer pour une couche d’abstraction App B2B (ou POC) Priorité au fonctionnement avant la forme Compétences XAML Réutilisation des connaissances XAML, moins exigeant en connaissances natives
  9. $99 / mois : 1 device à la fois + 1h / jour => avec MSDN $75 $249 / mois : 2 devices à la fois + 3h / jour => avec MSDN $187
Publicité