Venez découvrir le développement pour Windows Phone 8. Cette session vous donnera toutes les clés pour bien aborder les phases du développement d'une application Windows Phone 8 : le premier contact avec les outils, les types de projets, le déboggage, l'analyse de performance, la publication sur le Store...
Développez vos jeux multiplateformes grâce à Unity3D avec Visual Studio en C#
Introduction au développement Windows Phone 8
1. Donnez votre avis !
Depuis votre smartphone, sur :
http://notes.mstechdays.fr
De nombreux lots à gagner toutes les heures !!!
Claviers, souris et jeux Microsoft…
Merci de nous aider à améliorer les TechDays
http://notes.mstechdays.fr
2. Introduction au développement
Windows Phone 8
Julien Corioland
Développeur – Infinite Square
@beedoo
Jean-Sébastien Dupuy
Technical Evangelist – Microsoft France
@dupuyjs
Phone / mobilité
3. Agenda
• Pourquoi développer sous Windows Phone ?
• Comment démarrer ?
• Quel modèle applicatif pour mon application ?
• Et avec quels outils ?
• Publier sur le Windows Phone Store !
Introduction au développement Windows Phone 8
4. L’Accélérateur Windows
Ressources
Coaching
Visibilité
aka.ms/accelerateur-windows
Plus d’info ? RDV stand Windows 8
Accélérateur Windows
5. Introduction au développement Windows Phone 8
POURQUOI DÉVELOPPER SOUS
WP8 ?
Introduction au développement Windows Phone 8
6. Un lot de nouveautés …
• Résolutions d’écran : WVGA, WXGA et 720p
• Formats de vignettes (Tiles)
• Ecran de verrouillage (Lockscreen)
• NFC et Portefeuille (Wallet)
• Nouveaux Launchers
• Cartographie (Maps)
• Speech (Synthèse et Reconnaissance Vocale)
• Filtres (Lenses)
• Association de protocole (App to App communication)
• Etc …
Introduction au développement Windows Phone 8
7. Un lot de nouveautés …
Géolocalisation, Speech, Intégration : Tirez parti des nouveautés
de Windows Phone 8
Mardi 12 février : 14h30-15h30 (niveau : 200)
Trucs et astuces pour rendre votre application Windows Phone 8
plus visible
Mardi 12 février : 16h00-17h00 (niveau : 200)
Plus près, plus près… NFC et la communication à proximité dans
Windows 8 et Windows Phone 8
Jeudi 14 février : 14h30-15h30 (niveau : 200)
Introduction au développement Windows Phone 8
11. Back to 2012 : 54 applications par
utilisateur !
• Confiance. Établir un niveau de confiance élevé dans
le store et dans les applications qu'il offre.
– 75 000 nouvelles applications
– 300 000 mise à jours
• Commodité. Découverte des apps et achats facilités
– Collections (Les Essentielles, Saint-Valentin, …)
– PayPal, In-App Purchase, …
• Personnalisation. Permettre aux utilisateurs de créer
leur propre expérience.
– Live Apps (Vignettes et Ecran de Verrouillage)
Introduction au développement Windows Phone 8
12. Pour résumer …
• Innovation
– Profitez des nouvelles APIs pour offrir une expérience
unique à vos clients
– Expérience partagée entre Windows Phone et Windows 8
• Opportunité de distribution globale
– 180+ pays sont couverts actuellement
• Monétisation
– Choisissez le modèle qui vous convient : Gratuit, Payant,
Evaluation, Publicité, In-App Purchase, …
– Carte Bleu, Paypal, Opérateur Mobile, …
Introduction au développement Windows Phone 8
14. Le centre de développement Windows Phone
http://dev.windowsphone.com
Introduction au développement Windows Phone 8
15. Les différents SDKs
• SDK 8.0
• SDK Update for Windows Phone 7.8
• SDK 7.1
• SDK 7.1.1 Update
Introduction au développement Windows Phone 8
16. Prérequis SDK Windows Phone 8
• Système d’exploitation :
– Windows 8 64bits
• Matériel :
– 8GB d’espace disque disponible
– 4GB de mémoire vive (recommandé)
• Emulateur :
– Windows 8 Pro ou plus x64 (Hyper-V)
– Second Level Address Translation (SLAT)
Introduction au développement Windows Phone 8
17. Langages et APIs
• Microsoft capitalise sur les langages et
donc vos compétences
• C#, VB.NET et C++
• XAML
• HTML 5 / JavaScript / CSS (in browser)
Introduction au développement Windows Phone 8
18. Langages et APIs
APIs Windows Phone 8
Direct3D,
Windows Phone XAudio2,
Microsoft
Runtime MediaFoundation,
.NET
(WinPRT) Win32 & COM
Managé Managé & Natif Natif
19. Windows Phone Runtime
• WinPRT
• Sous-ensemble de WinRT + APIs
spécifiques à Windows Phone
Introduction au développement Windows Phone 8
20. Introduction au développement Windows Phone 8
QUEL MODÈLE APPLICATIF POUR
MON APPLICATION ?
Introduction au développement Windows Phone 8
21. Interface XAML et Code Managed (C#,
VB)
• La manière la plus traditionnelle de
développer des applications Windows
Phone
• Interface définie en XAML
• Logique écrite avec C# ou Visual Basic
.NET
• Accès aux APIs .NET et Windows Phone XAML & C#/VB
Runtime
.NET API for Windows
Windows Phone
Phone Runtime
Managed Managed
Introduction au développement Windows Phone 8
22. Jeux XNA en Code Managed (C#, VB)
• Vous pouvez développer des jeux pour
Windows Phone via XNA framework
• Mêmes fonctionnalités que Windows
Phone OS 7.1
• Logique écrite en C# ou Visual Basic .NET
• Accès aux APIs .NET 7.1, pas d’accès aux
APIs Windows Phone 8
XNA & C#/VB (+XAML)
• Modèles de projets identiques à ceux de
Visual Studio 2010 .NET API for XNA Libraries
for Windows
Windows
Phone 7.1 Phone 7.1
Managed
Introduction au développement Windows Phone 8
23. Application Direct3D
• Application Direct3D écrite en code
natif, utilise uniquement Direct3D
pour l’interface
• Développement de Jeux – permet de
partager des portions significatives de
code avec la version PC
• Accès aux APIs Windows Phone
Runtime
Direct3D & C++
• Plus simple de partager des
composants natifs : moteurs de rendu, Windows
Phone
Win32 &
COM
librairies graphiques et jeux d’APIs Runtime
Native Native
Introduction au développement Windows Phone 8
24. Direct3D et XAML
• Il est également possible de développer des applications en code
managed et XAML qui incorporent des graphiques Direct3D
– Contrôles DrawingSurface et DrawingSurfaceBackgroundGrid
XAML & C#/VB.NET & C++
.NET API for Windows Windows Win32 &
Windows Phone Phone Runtime COM
Phone Runtime (Direct3D)
Managed Managed Native Native
Introduction au développement Windows Phone 8
25. XAML/Managed + Code Natif
• Les Apps Managed peuvent interagir avec des composants natifs
– Ajoutez des composants Windows Phone Runtime à votre solution
XAML/Managed (Interop Win32 et COM possible)
• Les jeux d’API Win32 supportent les fonctions Winsock et File I/O pour
faciliter les portages applicatifs depuis du code natif
• Permet d’implémenter des composants ‘compute-intensive’ en code natif
pour améliorer les performances
– Traitement d’images, modules de calcul, moteur de rendu …
XAML & C#/VB.NET & C++
.NET API for Windows Win32 &
Windows Phone COM
Phone Runtime
Managed Native
Introduction au développement Windows Phone 8
26. Développement HTML5
• Le développement d’applications HTML5/JavaScript
‘Windows 8-style’ n’est pas supporté sous Windows
Phone 8
– Projections de la Windows Phone Runtime disponibles en
C#/VB.NET et C++ uniquement
• Cependant, Windows Phone 8 inclus Internet Explorer 10
– Même code partagée avec Windows 8
– Très bon support du code HTML5 (2x plus de fonctionnalités
supportées comparé à Windows Phone 7.5)
– Nouveau moteur de traitement JavaScript (4x plus rapides
que Windows Phone 7.5)
• Le même moteur est au cœur du contrôle WebBrowser
– Vous pouvez construire des applications HTML5 basée sur le
contrôle WebBrowser reposant sur du contenu local ou web
Introduction au développement Windows Phone 8
28. Introduction au développement Windows Phone 8
VISUAL STUDIO 2012 & BLEND
Introduction au développement Windows Phone 8
29. L’émulateur Windows Phone
• Support des différentes
résolutions
• Support des différents OS /
contraintes mémoires
• Possède sa propre IP
• Support du multi-touch !
• Captures, Accéléromètre, GPS…
Introduction au développement Windows Phone 8
30. Déploiement sur un terminal
• Windows Phone 7.1
– USB + Zune
• Windows Phone 8
– USB seulement
Introduction au développement Windows Phone 8
31. Windows Phone Developer Registration
• Enregistrement d’un
téléphone pour pouvoir
déployer des
applications dessus
Introduction au développement Windows Phone 8
32. Simulation dashboard
• Simulation de la vitesse de la
connexion Internet
• Verrouillage de l’écran
• Envoie de « rappels »
Introduction au développement Windows Phone 8
33. Application Analysis
• Analyse de l’application à l’exécution
• Rapport d’exécution
Introduction au développement Windows Phone 8
34. Le débogue
• Comme n’importe quel programme sous
Visual Studio
• Emulateur & Terminal
– Points d’arrêts
– Pas à pas
– Affichage & Modification de variables
Introduction au développement Windows Phone 8
35. Application Deployment Tool
• Déploiement
d’application dans
l’émulateur ou sur un
téléphone débloqué
Introduction au développement Windows Phone 8
36. Introduction au développement Windows Phone 8
PUBLIER SUR LE WINDOWS PHONE
STORE
Introduction au développement Windows Phone 8
37. De Visual Studio au Windows Phone Store
Windows Phone
myapp.xap device
Windows Phone
Emulator
Introduction au développement Windows Phone 8
38. Compte Développeur Windows Phone
• Il n’est pas nécessaire d’avoir un compte développeur Windows Phone
pour télécharger le SDK et débuter le développement des applications
• En revanche, il est nécessaire d’avoir un compte développeur pour
déverrouiller un téléphone et publier votre application sur le Windows
Phone Store (précédemment Windows Phone Marketplace)
• Pour obtenir un compte de Développeur
– Inclus dans les abonnements MSDN
– Gratuit pour les étudiants dans l’abonnement Dreamspark
– $99 par an dans les autres cas
• Demandez votre compte depuis le Windows Phone Developer Center
http://dev.windowsphone.com
Introduction au développement Windows Phone 8
40. Publiez comme vous voulez …
• Modèles de Publication
– Beta
– Publique
– Privé
• Monétisation
– Gratuit / Payant / avec ou sans version d’évaluation
– In-App Purchase ( Durables ou Consommables )
– Publicité
41. Et ensuite ?
Géolocalisation, Speech, Intégration : Tirez parti des nouveautés
de Windows Phone 8
Mardi 12 février : 14h30-15h30 (niveau : 200)
Trucs et astuces pour rendre votre application Windows Phone 8
plus visible
Mardi 12 février : 16h00-17h00 (niveau : 200)
Cycle de vie d'une application Windows 8 et Windows Phone 8
Mardi 12 février : 16h00-17h00 (niveau : 300)
42. Et ensuite ?
L'histoire d'HTML5 pour les développeurs Windows Phone 8
Mercredi 13 février : 16h00-17h00 (niveau : 200)
Bien soumettre et monétiser votre application Windows 8 et
Windows Phone 8
Jeudi 14 février : 11h00-12h00 (niveau : 200)
Plus près, plus près… NFC et la communication à proximité dans
Windows 8 et Windows Phone 8
Jeudi 14 février : 14h30-15h30 (niveau : 200)
43. Ressources
• Windows Phone Developer Center
• Communauté Développeurs Windows Phone (sur
facebook)
• Accélérateur Windows (aka.ms/accelerateur-
windows)
• http://www.juliencorioland.net
• http://blogs.msdn.com/jdupuy
44. Développeurs Pros de l’IT
http://aka.ms/generation-app Formez-vous en ligne www.microsoftvirtualacademy.com
http://aka.ms/evenements-
developpeurs Retrouvez nos évènements http://aka.ms/itcamps-france
Les accélérateurs
Faites-vous accompagner
Windows Azure, Windows Phone,
gratuitement
Windows 8
Essayer gratuitement nos http://aka.ms/telechargements
solutions IT
La Dev’Team sur MSDN Retrouver nos experts L’IT Team sur TechNet
http://aka.ms/devteam Microsoft http://aka.ms/itteam
ManagedManaged apps use XAML to define the user interface and Visual Basic or C# as the coding language. Existing Windows Phone apps that were written using these techniques are fully compatible with Windows Phone 8. XAML-based apps have gained new features such as new controls and auto-scaling to high resolution. New managed APIs coming to Windows Phone 8 include a new map control powered by Nokia maps and a wallet API for storing payment methods and enabling NFC-based payments.
NativeWindows Phone 8 SDK supports native development, including significant subset of the Windows 8 SDK, enabling developers to share a significant amount of code between Windows 8 and the phone, particularly for native apps. With the addition of native development support, Windows Phone 8 reduces the need to port and maintain components such as compute engines, graphic libraries, and API sets.In addition to native development, Direct3D is being added to the family of Windows Phone technologies. This means that for the first time, a Direct3D-based PC game can share much of its code base with a phone version, and developers can use state-of-the-art middleware tools and engines that power the industry’s biggest game titles to develop games for Windows Phone.Direct3D app refers to apps that are written entirely in native code, and which use only Direct3D for their UI. This type of app uses a completely different app model than managed apps, and can’t use many of the features of managed apps, such as live Tiles and push notifications.. However, in Windows Phone 8 Developer Preview several new features were added for Direct3D apps to provide software keyboard input support, device theme, and screen resolution detection, and a set of Launchers and Choosers for adding many common phone tasks to your Windows Phone app.Windows Phone 8 SDK supports a subset of the Direct3D library at the 9_3 feature level.
Direct3D and XAMLDirect3D and XAML app development is an attractive choice for developers who want the graphics capabilities of Direct3D but also want to use some of the features only available to managed apps such as Tiles and XAML controls. You can use the DrawingSurface and DrawingSurfaceBackgroundGrid controls to incorporate Direct3D graphics into managed apps to take advantage of managed code features with a very small performance loss.
XAML/Managed + NativeWindows Phone 8 SDK supports the development of solutions where the primary UI is written in XAML using C# or VB, but where a native project is included to perform some processing in native code. This allows the porting of existing components written in C++ for other platforms to Windows Phone and allows managed apps to use them. Developers can enjoy all the productivity and benefits of developing most of the UI of their app using XAML and managed code, but still call out to ported components that have previously been developed in C++ for other platforms.These could be components such as compute engines, graphic libraries, and API sets.
HTMLHTML-based phone apps are not a supported app model in Windows Phone 8 SDK. However, a developer can create an app that uses an embedded browser control to display local HTML content. Also, in Windows Phone 8 SDK, the phone’s browser has been upgraded to Internet Explorer Mobile 10, with a host of new features such as a robust HTML5/CSS3 implementation, Scalable Vector Graphics (SVG), ES5, IndexedDB, gesture events, and the addition of the high-performance scripting engine, creating new, interesting possibilities for Windows Phone 8 SDK HTML developers.