Windows Universal App – Premier pas avec Windows 10

Après quelques essais sur les plateformes mobile (Windows Phone 8.0 Silverlight, Windows Phone 8.1) il était naturel de plancher sur la dernière génération d’application universel de Microsoft. Pour cela j’ai attendu l’arrivé de Windows 10 et de Visual Studio 2015 avec impatience. Ça y est, j’ai tout installé ! Bon qu’est ce qu’il change ? A première vu pas grand chose. Si ce n’est que nous développeur devrions passer moins de temps à développer 15 applis suivant l’OS. Normalement le but est d’en développer qu’une seule pour n’importe quelle support, du moment qu’il tourne sur Windows 10 ou plus. L’ennuis c’est que j’ai eu du mal a switcher entre windows phone silverlight et 8.1 et que maintenant on a encore une nouvelle couche. Et je trouve très mal faite la MSDN. Je dois constament me poser la question de savoir si la doc est destiné pour quel environnement. Et franchement c’est pas clair ! Pour partir sur de bonnes bases, Microsoft met à disposition un bon paquet de code source bien ficelé pour pas mal de cas bien isolé. Voici le repo Git : https://github.com/Microsoft/Windows-universal-samples Et voici la liste des exemples : faites vos choix : App settings App package information Application data Audio, video, and camera Adaptive streaming Advanced casting Audio categories Audio graphs Background audio Basic camera app Basic face detection Basic face tracking Basic media casting Camera face detection Camera preview frame Camera profiles Camera resolution DASH streaming Direct2D photo adjustment High dynamic range Media editing Media transport controls MIDI Playlists Simple imaging Spatial audio System media transport controls Transcoding media Video playback Video stabilization Windows audio session (WASAPI) Windows media import Communications Bluetooth RFCOMM chat Communication blocking and filtering Phone call Real-time communication SMS send and receive Voice over IP (VoIP) Contacts and calendar Appointment calendar Contact cards Contact picker UserDataAccountManager Controls, layout, and text AutoSuggestBox migration Clipboard Commanding Context menu Context menu (XAML) Disabling selection Display orientation Downloadable fonts (DirectWrite) Downloadable fonts (XAML) Drag and drop Focus visuals Full screen mode Line spacing (DirectWrite) ListView and GridView Lock screen apps Message dialog Multiple views OCR Printing Pull-to-refresh Responsiveness techniques Scaling according to DPI Splash screen State triggers Tailored multiple views Title bar UI basics (XAML) User interaction mode WebView control (HTML) Window resizing Custom user interactions Basic input Complex inking Inking Low latency input Simple inking Data Blobs Compression Content indexer Form validation (HTML) IndexedDB Logging Serializing and deserializing data x:Bind x:DeferLoadStrategy XML DOM XmlLite Deep links and app-to-app communication App services Sharing content source app Sharing content target app Devices and sensors Accelerometer Activity detection sensor AllJoyn consumer experiences AllJoyn producer experiences Altimeter Background sensors Barcode scanner Barometer Bluetooth advertisement Cash drawer Compass Custom HID device Custom sensors Custom serial device Custom USB device Device enumeration General Purpose Input/Output (GPIO) Gyrometer Inclinometer Inter-Integrated Circuit (I2C) Lamp device Light sensor Magnetic stripe reader Near field communication (NFC) NFC enterprise provisioner Orientation sensor Pedometer POS printer Proximity sensor Relative inclinometer Relative orientation sensor Serial Arduino Serial Peripheral Interface (SPI) Simple orientation sensor Files, folders, and libraries File access File and folder thumbnail File picker File picker provider File search Folder enumeration HomeGroup Library management Semantic text query Gaming Direct3D game DirectX and XAML game Globalization and localization Application resources and localization Calendar Date and time formatting Globalization preferences Japanese phonetic analysis Language font mapping Linguistic services Number formatting and parsing Text segmentation Text suggestions Unicode string processing Graphics and animation Animated GIF playback (XAML) Animation library (HTML) Animation metrics Composition visual without framework Direct2D custom image effects Direct2D gradient mesh Efficient animations (HTML) Transform3D animations Transform3D parallax Identity, security, and encryption Credential locker Credential picker Disabling screen capture Enterprise data protection KeyCredentialManager Lock screen personalization Smart cards User information UserConsentVerifier Web account management WebAuthenticationBroker Launching and background tasks Association launching Background task Maps and location Geolocation Geotag MapControl Navigation Back Button Master/detail Navigation menu (XAML) Pivot Projection XHR, handling navigation errors, and URL schemes Networking and web services Background transfer DatagramSocket Exchange Active Sync (EAS) HttpClient JSON Mobile broadband Radios RSS reader end-to-end (JavaScript) Socket activity trigger stream socket StreamSocket Syndication USSD protocol WebSocket Wi-Fi Direct Wi-Fi Direct services Wi-Fi scanning Platform architecture In-process component authoring In-process component authoring Out-of-process component authoring Speech and Cortana Cortana voice command Speech recognition and synthesis Threading JavaScript Web Workers app multithreading Tiles, toasts, and notifications Notifications Secondary tiles Yeah ! Bon code !