What’s New in Visual Studio & Blend for XAML Developers (3-321)

Session animée par Unni Ravindranathan

La session commence par le fait que l’on apprend que les templates de création de projet ont été mis à jour.

Édition du xaml

  • Améliorations de l’éditeur
  • Nouvelle expériences dans Blend
  • Amélioration dans la performance et la robustesse du designer

Diagnostics

  • Détection des problèmes de responsivité de l’UI
  • Profiling de la consommation d’énergie

Debug d’async

Windows Azure Mobile Services Integration

Store integration

Coded UI testing

.NET

  • Possibilité de voir la valeur de retour des méthodes dans la watch
  • 64 bit edit and continue est maintenant supporté

C++

  • Améliorations de l’éditeur

API Deprecation

  • Ajout du support de la dépréciation des API dans le XAML aussi

Démo Hub avec toutes les nouvelles fonctionnalités de VS2013

Partie spéciale Blend :

  • Retour des behaviors dans Blend
  • Ajouts des règles et des guides dans Blend qui peuvent se réutiliser de page en page
  • Amélioration de la partie device
  • Retour et amélioration de la partie Data
  • Gestion des commandbar
  • Édition des Template avec les données courantes

Une session très intéressante avec pas mal de fonctionnalités que l’on attendait pas/plus.

John Thiriet

What’s new for XAML (2-164)

Session animée par Tim Heuer

Débute une session énumération de nouveautés

Nouveaux contrôles

  • TimePicker et DatePicker

Flyouts

  • Contrôle de Flyout même en markup avec la propriété attachée Flyout
  • Contrôle MenuFlyout

SettingFlyout contrôle qui fait le truc par défaut

Thèmes

  • RequestTheme dans chaque élément ca permet de Template chaque Flyput différemment
  • Ajout de ThemeResource à la place de StaticResource

Hub

  • Hub, HubSection (une sorte de grille groupée)

CommandBar, AppBarButton

  • PrimaryCommands à gauche
  • SecondaryCommands à droite
  • SymbolIcon avec un nom et plus un code
  • FontIcon
  • BitmapIcon
  • PathIcon

SearchControl

Media

  • Nouvelle API pour la gestion des médias avec le truc de base

Graphics

  • SwapChainPanel

WebView

  • Correction de la webview pour ne plus être en premier plan tout le temps
  • Lecture de html local
  • NavigationStarting, NavigationCompleted, NavigationFailed
  • Custom uri
  • Possibilités de l’animer

RenderTargetBitmap

Performance

  • Startup
    • DeferLoading des ressources avec clef
    • Chargement tardif des thèmes respurces
    • Primitive composition
    • Xaml Binary Format
  • ListView et GridView performance Startup et panning

Test and Input

  • Hyperlink est de retour
  • Améliorations variées de textblock et textbox
  • Améliorations des API de manipulation
  • Feeling scroll areas dans le Scrollviewer

Binding

  • TargetNullValue
  • FallbackValue
  • Access to BindingExpression

Navigation

  • NavigationStack

Others

  • Multiple DPI
  • HIGH contrats awareness
  • Accessibility
  • FlipView animations improvements
  • Pdf render api
  • 650+ api

Une session très intéressante à voir absolument !

John Thiriet

What’s new for Working with files (2-119)

Session animée par Marc Wautier

Cette session va présenter comment on travaille avec les fichiers utilisateurs

Rappel sur le FilePicker pour accéder aux fichiers ainsi qu’aux capabilities

Rappel des concepts clefs sur le stockage des fichiers

Présentation des nouveautés

NeighbouringFilesQuery

UserLibrary : StorageLibrary

Navigation facilitée dans les namespaces

Découverte de contenus : StorageLibrary : Abonnement sur des dossiers ou fichiers pour surveiller des modifications

Démo ouverture d’une application via le clic droit sur un fichier et ouvrir avec.
Démo intégration de fichiers située sur Skydrive

En bref agrégation de fichiers et dossiers distants ou locaux et situés hors du scope de l’application

On parle pas mal du fait que Skydrive est intégré à Windows 8

Introduction des placeholder files : Représentent des fichiers distants qui n’ont pas de copie locale

Vérifier la présence des fichiers en local : StorageFime.IsAvailable et la refléter en local.

Bien penser à mettre des progressring car maintenant si on va chercher des fichiers sur skydrive ça met beaucoup plus de temps qu’en local.

Utilisation des thumbnails pour les images : StorzgeItem.GetScaledImageAsThumbnailAsync

John Thiriet

Keynote – Day 1

C’est toujours plaisant de retrouver Steve Ballmer sur scène, même si cette année son discours avait moins d’humour !

Pour commencer, la preview de Windows 8.1 et des autres outils sont disponibles sur http://preview.windows.com.

Globalement pas de vrais grosses surprises autour de Windows 8.1, ceux qui avaient regardé la vidéo du Computex 2013 ont retrouvé les mêmes annonces :

  • Le retour du bouton démarrer
  • La possibilité de booter directement sur la partie Desktop
  • Un swipe up depuis l’écran de démarrage pour afficher toutes les apps installées
  • Des fonds d’écrans animés
  • La possibilité de lancer Skype ou prendre une photo depuis le lockscreen sans avoir à se logguer
  • Un clavier visuel amélioré avec de nouvelles gestures pour une saisie plus rapide comme le choix d’un mot recommandé avec un swipe sur la barre espace ou la saisie d’un nombre avec un swipe up sans basculer sur le mode numérique
  • Le mode Hands Free qui détecte des mouvements via la caméra pour naviguer
  • On peut désormais ouvrir 4 apps en même temps (x2 si on a un second moniteur)
  • L’annonce pour l’automne d’une nouvelle version des apps Mail et XBox Music + une nouvelle version de PowerPoint
  • Et bien sûr la nouvelle recherche intégrant Bing et les apps déjà installées dans une même fenêtre de résultat, avec la possibilité de lancer un action directement depuis cet écran

Une chose important à noter est que tous les speakers ont insisté sur le fait que les apps Desktop sont toujours là, et qu’elles gardent une place très importante dans les usages sur Windows. Il est vrai que depuis la sortie de Windows 8, les apps Desktop (qui constituent toujours le plus gros volume d’apps sur la plateforme) avaient un peu disparues du discours officiel.

Le store qui va avoir droit à une application complètement relookée a dépassé les 100 000 apps. L’installation des updates va pouvoir être automatique.

Côté matériel, toujours plus de touch et de devices hybrides, et aussi un nouveau format : les petites tablettes. On va d’ailleurs revenir avec une tablette 8 pouces Acer, qui ira très bien avec la Surface Pro aussi en cadeau !

Une nouvelle version de Visual Studio arrive avec notamment des outils de diagnostic de performance et un debug amélioré des appels asynchrones.

Autre annonce, le support de natif Web GL (3D) et MPEG-Dash (vidéo HD) dans IE11 et dans les apps Modern UI.

Et pour finir, la plateforme Bings va s’ouvrir aux développeurs en proposant des API pour intégrer plein de features intéressantes dans nos apps : cartographie, imagerie 3D, OCR, traduction et bien sûr de la recherche.

Pierre-Yves.

Windows Phone 8 : Enterprise Development

Et voilà, ma dernière session pour la build. La salle est pleine…

Le but est de permettre aux entreprises de déployer de manière sécurisé et privée des applications.

-> Pas d’interaction avec Microsoft

-> Contrôle de quelle app sont déployées sur quel phone

-> Mécanisme d’enrôlement sécurisé

  • L’installation nécessite la confirmation de l’utilisateur mais pas les mises à jour
  • Les deux types d’applications (entreprise et marketplace) sont séparées et les données aussi
  • L’entreprise à le contrôle de ses apps pas celle du marketplace

Création du compte et obtention du certificat :

–  C’est la première étape : l’entreprise doit disposer d’un compte (Microsoft portail)

  • Prix 99/Year

–  Le certificat est obtenu auprès de symantec (le certificat servira à signer les apps)

  • Le certificat contient
    • un PublisherId qui identifie l’entreprise
    • Un Publisher Name
    • Une période de validité
  • Prix 299/year

Enrolement et déploiement de l’application

– Il y a une différence entre le fait que le téléphone soit géré ou pas par un serveur d’entreprise :

  • Cela affecte la méthode de déploiement, la capacité de faire l’inventaire des applications, la possibilité de faire des updates silencieux …

Managed Enrolment :

– Au niveau du téléphone on rentre un compte d’entreprise et l’adresse du serveur de gestion du parc

Il n’y a pas de certification pour les applications d’entreprise, l’entreprise est responsable et ne passe pas le MarketPlace. On peut utiliser le kit de test.

Processus de déploiement :

  • L’application est NGENée
  • Signée
  • Déployée dans le store de l’entreprise
  • Déployée sur le téléphone avec un protocole sécurisé

Quand une application est lancée : il y a une vérification d’effectuée pour savoir si le publisher est autorisé puis le téléphone peut contacter (une fois par jour) la plateforme de gestion qui valide l’application / device

Sujet suivant : mettre en place un Hub d’entreprise

  • Il faut d’abord générer un token qui va identifier l’entrerprise
  • On part d’unpfx
  • On utilise un outil AETGenerator
  • On obtient un fichier aetx à déployer sur les phones.
  • L’ensemble des app doivent être signés
  • Lors de la signature on signe les dll,exe et le XAP (XAPSignTool)

Installer / lister les applications :

  • On peut installer/lister les apps avec InstallationManager.AddPackageAsync / FindPackagerForCurrentPublisher()

Cet appel est effectué depuis une application installée sur le device et signée avec le même certificat.

Roch

Windows Phone 8 : App to App communication

On commence par une introduction sur le mode “sandbox” introduit par Windows phone et les conséquences : à savoir que les applications ne peuvent pas directement interagir directement ensemble. Cependant au fur et à mesure certaines fonctionnalités ont été autorisées.

-> Une des premières fonctionnalités sont l’association d’applications à des URI au travers d’un préfix (scheme) custom.

-> Les possibilités sont par exemple d’activer skype.

Une autre fonctionnalité est l’association avec des types de fichiers qui permet d’activer directement l’application en fonction du type de document.

Première démo : intégration de lien vers des documents office dans une application et ouverture dans office.

-> On utilise Launcher.LaunchFileAsync

NB : il s’agit ici d’une fonctionnalité de visualisation

Attention il n’est pas possible de connaitre la liste des applications installées et dans le cas ou l’application cible n’est pas installée c’est l’OS qui propose de rechercher une App adéquate sur le store.

Deuxième démonstration :

  • Lancement d’un jeu à partir d’un SMS

Exemple ici : activation d’un niveau dans le jeu par sms

Exemple sms : unite :level=10

Quand on reçoit le sms le texte est en fait un lien …

  • Les protocoles se déclarent dans le manifest dans la balise Extensions.
  • On utilise ensuite un URIMapper pour résoudre l’URI

On revient ensuite sur l’explication du fonctionnement des associations  de fichier.

  • Le principe est que l’application source obtient un token de partage de son fichier avec le « Data Sharing Service » et passe l’uri avec un token au « Execution Manager ». Cela permet de ne partager une copie du fichier qu’avec l’application cible.

Démonstration : gestion d’un  type de fichier custom

-> Dans le manifest on crée dans la partie Extensions une entrée SupportedFileType qui contient les différents types de fichiers associés (type mime + extension)

-> On crée ensuite un UriMapper pour associer l’Uri entrante avec une page et passer le token du fichier

-> On appel le SharedStorageAccessManager pour récuperer le fichier avec le token

Sujet suivant : il est possible avec la même technique de lancer une application sur un autre téléphone avec les fonctionnalités  Proximity (NFC)

-> Cela se fait de la même manière. Il n’y a pas de besoin d’utiliser les api Proximity sur l’application cible

-> Sur l’application source on utilise PublishUriMessage (api Proximity)

Roch