Développement Mobile
Les solutions pour Windows, Android et iOS
Etienne Margraff
Microsoft – Technical Evangelist
@meulta
Jean-Sébastien Dupuy
Microsoft – Technical Evangelist
@dupuyjs
Mobile-first Cloud-first
Chaque application Chaque développeur
DevOpsDéveloppement CloudDéveloppement mobile
Visual Studio 2015 Community
Visual Studio 2015 Professional / Enterprise
Windows 10
Looking for you…
09:50
12 13
Tuesday, June 30, 2015
Hello Kevin!
09:50
12 13
Tuesday, June 30, 2015
Windows Hello
Provide reliable, friction free authentication with
full access to all experiences and commerce.
App discovery
and promotion
is built into the
Start menu
Live tiles drive
re-engagement
Action center
Notifications invite the user to come back to
and engage with the app
Interactive notifications
User can take direct action on a notification, in
the Action Center or from the toast notification
Cortana makes app
suggestions based
on user context
She’ll prompt with
locally relevant apps
wherever the user is
Continuum for 2-in-1 delivering
tablets that can replace your
laptop
Continuum for phones – where
any screen becomes your PC
Pour tous.
Un code unique.
XboxIoT
Une plateforme unifiée
Phone
Device
Xbox
Device
Desktop
Device
Windows Core
Universal Windows Platform
<TargetDeviceFamily Name="Windows.Universal"
MinVersion="10.0.10069.0"
MaxVersionTested="10.0.10069.0" />
Des API spécifiques aux plateformes
Phone
Device
Xbox
Device
Desktop
Device
Windows Core
Universal Windows Platform
Phone
extension
Xbox
extension
Desktop
extension
IoT
extension
Un binaire universel
Phone
Device
Xbox
Device
Desktop
Device
Windows Core
Universal Windows Platform
Phone
extension
Xbox
extension
Desktop
extension
IoT
extension
Windows Application
Debug
Copier l’identité Microsoft n’est
aucunement une garantie de succès
MenuFlyout mf = new MenuFlyout();
mf.ShowAt(sender, e.GetPosition(sender));
TOUR
Demo
Adaptive Code & Design
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Image x:Name="img" …/>
<StackPanel Grid.Column="1" …>
<TextBlock x:Name="title" …/>
<TextBlock x:Name="filmMaker" …/>
<TextBlock x:Name="summary" …/>
<Button Content="Download" …/>
</StackPanel>
</Grid>
Permet de positionner les éléments les uns par rapport aux autres
Les panels tradionnels peuvent être compliqués pour des layout complexes
<RelativePanel>
<Image x:Name="img" …/>
<TextBlock x:Name="title" RelativePanel.RightOf="img" RP.AlignTopWith="img" …/>
<TextBlock x:Name="filmMaker" RP.RightOf="img" RP.Below="title" …/>
<TextBlock x:Name="summary" RP.RightOf="img" RP.Below="filmMaker" …/>
<Button Content="Download" RP.RightOf="img" RP.AlignBottomWithPanel="True" …/>
</RelativePanel>
Exemple
Utiliser State et Setters pour des Design Responsive avancésNote: Replacer RP par RelativePanel dans les attributs (ici réduits pour la lisibilité)
<RelativePanel>
<Image x:Name="img" …/>
<TextBlock x:Name="title" RelativePanel.RightOf="img" RP.AlignTopWith="img" …/>
<TextBlock x:Name="filmMaker" RP.RightOf="img" RP.Below="title" …/>
<TextBlock x:Name="summary" RP.RightOf="img" RP.Below="filmMaker" …/>
<Button Content="Download" RP.Below="img" RP.AlignLeftWithPanel="True" …/>
</RelativePanel>
Exemple
<VisualState.Setters>
<Setter Target="splitView.DisplayMode" Value="Inline" />
</VisualState.Setters>
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="720" />
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target="splitView.DisplayMode" Value="CompactInline" />
</VisualState.Setters>
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth= "0" />
</VisualState.StateTriggers>
Triggers and Setters (XAML équivalent des Media Queries)
Si la fenêtre est ≥ 720 pixels effectifs, alors on affiche le SliptView en mode Inline
Print support on mobile
Drag/drop
Action center APIs and triggers
Backup / Restore
Game DVR
Contacts APIs
Calendar & Email APIs
Unified modern VOIP apps
Media creation APIs
HLS, Dash, Closed Captioning
Technologies Web
Technologies Natives
Applications web
Visual Studio tools for
Apache Cordova
Visual C++ for cross-platWin32
Application bureau– WPF
Universal Windows Apps
.NET
.NET et Xamarin
Partager la logique des app
100% des APIs sont exposées
C# + XIB C# + AXML C# + XAML
Native UI Native UI Native UI
Créer une UI en faisant du drag&drop
Cibler plusieurs tailles d’écrans
Les interfaces sont stockées dans le
format natif
Le meilleur éditeur UI Android et
maintenant dans Visual Studio !

iOS app designer dans Visual Studio
Android app designer dans Visual Studio
Demo: & Visual Studio
Créer une experience riche
proche du natif pour
Windows, iOS et Android
en réutilisant du code
Apps mobile
cross-platform
en C++
Installation simple
Un seul IDE pour le dev cross-
plateformes C++
Expérience de debug puissante
Emulation rapide
Tools for
Apache Cordova
Apps hybrides HTML
Outils Cordova dans Visual Studio Black Box
Demo: Visual Studio Tools for Apache Cordova™
Créer une application
hybride HTML en utilisant
Visual Studio 2015 et
Cordova
Nouveaux
scenarios pour
les développeurs
Visual Studio
www.visualstudio.com
Ouverte pour
chaque développeur,
chaque application

MobileDay - Session 3 La Mobilité selon Microsoft