Démo du Snapshot debugger de Visual Studio 2017

Annoncée à la //Build 2017 cette fonctionnalité propose la possibilité de prendre un snapshot (une image) de l’état de l’application en production et pouvoir débugger cette image dans Visual Sutdio.

Disponible en Preview depuis fin aout 2017.

Je vous propose de voir une démo de la mise en place et de l’utilisation de cette fonctionnalité.

Quelques liens :

//Build 2017 Day 3 – Sessions

Pour ce dernier jour de la build nous avons eu plusieurs sessions sur le future des outils/langages de Microsoft.

1- The future of Visual Studio

Cette session présentée par Amanda Silver, Tim Sneath avec une intro de Sadiq Shaikh que le grand public a découvert lors de la //Build 2016 avec le projet des lunettes connectés pour aveugle.

Sadiq Shaikh est intervenu pour nous montrer comment un aveugle peut coder. Il a commencé par énuméré les différentes nouveautés coté accessibilité dans Visual Studio et enfin il a terminé par une démo époustouflante du développement d’une appli console « Hello World » !

Amanda Silver a enchainé avec les nouveautés dans la version courante de VS 2017 et la prochaine MAJ (l’update 3 qui est en preview) :

    • Live Unit Testing qui arrive sur .NET Core.
    • Les nouvelles fonctionnalités de refactorisation (qui vont visiblement évolués encore plus)
    • L’amélioration de l’intellisense
    • Une nouvelle UI pour la recherche de références
    • Les moyens de rajouter un container Docker (windows ou Linux) dans la dialog de création de projet et avec un clique droit sur un ancien projet web.
    • Une extension Continuous delivery qui permet d’être notifié des differents evenements qui se passent sur VSTS

Tim Sneath a terminé la session sur plusieurs démo qui concerne le développement C++ d’un projet Linux qui s’exécute (avec du debug) en local sans VM en utilisant le subsystem linux de Windows 10.

2- The future of C#

Le nom de cette session est encore une fois trompeur, je n’ai vu que deux ou trois évolution de C# lors des 10 dernières minutes de la session, le reste était plus un rappel des dernières évolution de C# 7 (notamment les out variables, Is-expressions with patterns,  … ).

Les nouveautés présentés sont :

3- What’s new with the Microsoft Bot Framework

Plusieurs annonces:

4- Modern front-end web development in Visual Studio 2017

Dans cette session, Mads Kristensen l’inventeur de Web Essentials nous a fait quasiment que des démos pour nous présenter les fonctionnalités qui améliorent la vie d’un développeur front-end dans Visual Studio 2017 via des plugins:

Avec une mention spécial pour Client-Side Library Installer qui sera proposé dans un premier temps via un plugin et plus tard intégré nativement dans Visual Studio. Ce Plugin permet d’installer (restaurer) et de consommer facilement des bibliothèques côté client tiers: il suffit de précisé la source (cdnjs, npm (à venir), filesystem …) la lib avec sa version, le ou les fichier à récupérer, et la destination (voir le readme sur GitHub). Super plugin !

Et aussi une petite partie sur comment le compilateur TypeScript peut maintenant dans Visual studio (via une option activable dans le tsconfig + doc JSdoc) faire de l’analyse et des contrôles dans un fichier JavaScript sans aucun fichier .ts ou .d.ts

Et pour terminer, une belle découverte JavaScriptServices un ensemble de techno client-side pour ASP.NET Core qui fournit l’infrastructure pour:

  • Utiliser Angular 2/ React / Vue / Aurelia / Knockout / etc.
  • Compiler les ressources du front avec Webpack.
  • Exécuter le JS sur le serveur au runtime.
  • Faire du prerendering coté serveur pour un affichage instantané de l’HTML coté client et pour l’indexation dans les moteurs de recherche.

//Build 2017 Day2 – Sessions

Lors de cette journée consacrée à Windows, j’ai assisté à plusieurs sessions où malheureusement le  contenue tournaient autour de quasiment le même sujet.

App Model evolution

Dans cette session  Andrew Clinick a présenté les évolutions de l’app Model:

  • Simplification et l’amélioration de la vitesse de distribution.
  • Les delta de MAJ
  • Self UWP updating apps (pour les applications installées en dehors du store)
  • Microsoft conseille fortement l’utilisation du desktop bridge, non pas pour être dans le store, mais pour améliorer fortement l’expérience utilisateur, dans le sens où l’installation/désinstallation de l’application sera « propre » avec 0 impact sur le système.

Quelques infos sur le Desktop Bridge :

  • Il ne convertit pas les applications mais plutôt le MSI, xcopy …
  • l’application ne change quasiment pas
  • Office et Microsoft teams utilisent le desktop bridge
  • Amélioration de l’engagement des utilisateurs avec plusieurs outils :
    • Le project Rome
    • Les adaptatives cards (via la nouvelle fonctionnalité de Windows « timeline » ou via Cortana/Bots)
    • Microsoft Graph (sujet récurant lors de la build)

What’s New in TypeScript

Le nom de cette session est trompeur. Aucune nouveauté n’a été présentée. Anders Hejlsberg a déroulé exactement les mêmes slides qu’il utilise depuis plusieurs mois, avec exactement les mêmes démos.

Les nouveautés listées (ou vues lors des démos) sont celles des versions 2.0 à 2.2 et non pas des futures versions:

  • Non-nullable types
  • Literal types
  • Async Await ( pour de l’ES3/ES5)
  • type checking pour du JavaScript (dans VS Code)
  • Quick fixes (dans VS Code)

//Build Day 2 Keynote

La Keynote du deuxième jour de la //Build était consacré à Windows et on a eu droit à plusieurs annonces:

  • Fall Creators Update, la prochaine MAJ de Windows 10.
  • Story Remix, une app, probablement le successeur de Movie Maker (qui n’existe plus depuis Windows 10) avec une grande différence : la forte présence de l’IA !
  • Fluent Design System, le nouveau design des apps Windows 10 (anciennement project NEON)
  • Le retour des Placeholders de OneDrive. Nouveau nom => Files on Demand. La différence c’est que c’est au niveau de l’OS.
  • Cloud-powered clipboard ! Pour faire du copier coller cross-platform/devices.
  • Windows Timeline
  • XAML standard 1.0
  • La disponibilité du SDK du project Rome pour iOS
  • Visual Studio Mobile center supporte désormais UWP
  • iTunes sera prochainement disponible dans le Windows Store
  • Xamarin live player (On a assisté à une session pour en savoir plus)

//Build 2017 Day1 – Sessions

Pour cette première journée j’ai participé à plusieurs sessions:

1- Bring your desktop apps to UWP and the Windows Store using the Desktop Bridge

Dans cette session on nous a expliqué le but du bridge => Créer un pont entre l’ancien App model de Windows qui existe depuis les premières versions de celui-ci et le nouveau App model qui existe depuis 2011/2012 avec Windows 8.

Avantages:

  • Simplicité
  • Pas d’élévations de droit lors de l’installation/utilisation
  • Installation sûre (qui ne va pas aller modifier les clés de registre par exemple)
  • Offrir la possibilité d’avoir des MAJ automatiques et différentielles
  • Ouverture à la monétisation simple (via le store)
  • ….

Le fonctionnement est assez simple, il faut fournir un MSI à l’outil, celui-ci va le convertir en APPX (Si la conversion ne marche pas, c’est qu’il faut changer du code qui n’est pas supporté (ou pas encore) par le Bridge)

Le Bridge est en constante évolution avec le support de plus en plus d’API: la règle est simple, toutes les API publiques – non cassées – sont ou seront supportées.

Les dernières nouveautés sont:

  • Support du préinstall
  • Objets com
  • Déclaration de règles firewall
  • Support du wack
  • Support des applications sans MSI (un .exe avec des dll)

La version complète d’office qui sera bientôt dans le store utilise ce même Bridge !

 

2- Bot capabilities, patterns and principles

Cette session est orientée sur les patterns qu’il faut/qu’il ne faut pas utiliser pour créer un bot, exemple :

  • A NE PAS FAIRE => un bot avec un seul dialog (1 question) qui utilise 100 LUIS intents (choses que le bot peut faire) avec 100 différents énoncés == 10000 diférentes choses que l’utilisateur peut dire (ET n possibilités non prévues)
  • A Faire => Guider l’utilisateur, avec des questions précises, avec une UI (questions avec des boutons de réponses)

3- Cortana skills development: Get started

Super nouveauté qui ouvre énormément de  possibilités . Malheureusement inutile en France pour l’instant, Cortana skills n’est disponible qu’aux USA et on a pas d’informations d’infos sur la date de disponibilité dans les autres pays.

Cortana skills permet de déployer des skills (l’équivalent d’un bot) directement dans Cortana (PC, téléphone ou autre device qui supporte Cortana)

Un skill c’est une « unité d’intelligence conversationnelle » qui aide les utilisateurs via un service, ou autrement un Bot qui utilise le channel Cortana (et donc l’UI de cortana) pour interagir et fournir de l’information à un utilisateur.

L’authentification avec un compte d’une organisation est possible, la récupération des données de l’utilisateur aussi (par le service/bot)

On a eu droit à deux démos :

  • Commande d’une pizza Domino’s (sans application installée sur le PC)
  • Recherche d’un collègue pour faire du code review (le bot va chercher de l’information avec Microsoft Graph => scénario avec l’authentification)

Ressources dispo ici

4- Snapshot debugging and profiling in Microsoft Azure: Next generation diagnostics for your in-production cloud apps 

Super session qui montre les futures fonctionnalités de Visual Studio/Azure (qui seront complètement ouverts en preview à la fin de l’été).

  • Snapshots

Cette nouvelle fonctionnalité d’Application Insights permet de prendre un snapshot de l’application en prod quand une exception se déclenche via la télémétrie.

On peut aussi via Visual Studio Enterprise avoir des snappoints ( l’équivalent d’un point d’arrêt mais pour faire un snapshot et non pas arrêter l’exécution du code) et des logpoints (qui nous permettent d’insérer des logs sans redéployer l’application ni écrire du code !)

Les snapshots sont téléchargeable et peuvent être rejoués dans Visual studio.

  • Application Insight Profiler

Outil pour analyser et améliorer les applications déployés dans Azure pour plus détails voir https://azure.microsoft.com/en-us/blog/app-insights-app-map-and-profiler/

//Build 2017 Day1

Cette année la build est de retour à la « maison » à Seattle. Avec @timothelariviere nous couveront les trois jours de la conférence.

Contrairement aux anciennes version de la //Build, cette année la première journée est consacrée à l’IA et Azure

Les annonces de la Keynote:

  • Quelques chiffres:
    • 500 millions de devices sous Windows 10 !
    • 100 millions d’utilisateurs actifs office 365
    • 12 millions d’organisations dans l’Azure Active Directory
    • 90% des TOP 500 entreprises utilisent le Cloud de Microsoft
  • Microsoft passe du Mobile First Cloud First au Intelligent Cloud/Intelligent Edge
  • Azure Iot Edge (fonctionne sur Windows/linux et les petits devices)
  • Plusieurs démos qui démontrent l’utilisation de l’IA : Workplace safety (analyse en temps réel de flux vidéos pour détecter les risques sur un chantier) , Intelligent meetings, Cortana …
  • Azure :
    • Cloud shell : CLI disponible directement dans la version Web (et app) d’azure, sans rien installé !
    • Azure mobile App dispo sous iOS et Android (la version UWP arrive bientôt)
    • Debug de la prod avec des snapshot (super feature)
    • MySQL et PostgresSQL as a service (grosse annonce)
    • Azure Cosmos DB
    • Azure Stack (l’extension d’azure pour avoir un « Azure en local »)
  • Visual Studio 2017 for mac passe en GA avec .Net Core 2.0 en preview !
  • Support des Azure Functions et des logic Apps dans VS 2017
  • Cognitive Services : 4 nouveaux services : Bing custom search, custom Vision Service, Custom Decision Service et Video indexer
  • Bots : Trois nouveaux canaux : Cortana Skills, Skype for Business (ENFIN !) et Bing.
  • AI translation for PowerPoint : plugin de traduction en live d’une présentation PowerPoint

Et pour finir, je vous laisse admirer cette vidéo =>

Tricks : can’t see my LOB app in the Windows Business Store !

If like us you’re desperately trying to publish a new LOB app in your Microsoft Business Store, here is 2 tricks to solve the issue…

Context

Your Windows 10 LOB app is ready to be deployed to your organisation, so you submit it to the store. In the « Pricing and availability » > « Distribution and visibility » section of the submission, you chose « LOB distribution » and checked the store corresponding to your organisation.

Publish LOB app

The certification process is OK, the publication is OK, but the new app doesn’t appear in the Business Store… 😦

Empty Business Store

Trick 1

The first trick is you can check if your app is in the store using the URL https://businessstore.microsoft.com/en-us/store/apps/anything/my_app_storeid (to get the store ID of your app, you open the dashboard of your app and go to App management > App Identity).

Business Store LOB app detail

Trick 2

You see your app thanks to the trick 1, but still not in Manage > New LOB Apps page in the Business Store… So the second trick is to check the language you used to describe your in the submission of you  app to the store. In our case, it was in French only. If I switch from en-us to fr-fr in the URL https://businessstore.microsoft.com/fr-fr/lob/AppDetails, I can now see my app !

Add LOB app to the inventory

And I can add it to the inventory of my private store !