IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Microsoft a reconstruit Teams de A à Z et promet des performances deux fois plus élevées
La nouvelle application Teams est deux fois plus rapide et utilise 50 % de ressources en moins

Le , par Bruno

103PARTAGES

4  0 
Microsoft a annoncé la sortie de la nouvelle version de Microsoft Teams dans un post publié le 27 mars. Elle arrive avec d'importantes améliorations des performances et des changements d'interface utilisateur. Microsoft Teams a été totalement remanié pour fonctionner plus rapidement et avoir une interface plus simplifiée. Microsoft Teams a été entièrement repensé, et un nouvel aperçu est disponible pour permettre aux entreprises d’essayer la grande refonte qui a été élaborée pendant des années. « Le nouveau Teams est plus rapide, plus simple et plus flexible que jamais », déclare Sumi Singh, CVP de l'ingénierie pour Microsoft Teams, dans une interview. « Nous avons fait d'énormes progrès en matière de performances et de convivialité. La nouvelle application Teams est deux fois plus rapide et utilise 50 % de ressources en moins.

Microsoft Teams est une application de communication collaborative propriétaire en mode SaaS officiellement lancée par Microsoft en novembre 2016. L'installation de la nouvelle application Microsoft Teams devrait être trois fois plus rapide et le lancement ou la participation à des réunions deux fois plus rapide. Microsoft indique que la nouvelle application Microsoft Teams devrait également consommer 50 % de mémoire en moins et 70 % d'espace disque en moins. Il s'agit là d'améliorations significatives des performances, en particulier si l’utilisateur constate des ralentissements dans l'application Teams actuelle.

Microsoft Teams : Avantages de la nouvelle architecture

Microsoft Teams a réalisé un investissement important dans la réarchitecture de son client de bureau, en mettant l'accent sur la simplification de l'expérience utilisateur. Ce billet donne un aperçu des objectifs et des avantages attendus de la modularisation et de la stratification qui ont été mises en œuvre. La version grand public de Microsoft Teams a déjà commencé à utiliser cette nouvelle architecture, et la version preview de la mise à jour pour les clients commerciaux sera d'abord disponible pour Windows, avec une prise en charge pour le web, Mac, EDU (éducation), et VDI (infrastructure de bureau virtuel) qui suivra plus tard dans l'année.


Le client classique de Microsoft Teams utilisait des logiciels open-source tels qu'Electron comme hôte, AngularJS comme cadre de développement web, et une variété de contrôles personnalisés construits à l'aide de HTML et CSS. Lorsque le développement de Teams a commencé en 2015, ces choix ont permis la livraison rapide de clients multiplateformes pour le web et les ordinateurs de bureau. Cependant, au fur et à mesure que les capacités et l'innovation de Teams se sont développées de manière significative au fil du temps, elles ont mis à rude épreuve les ressources des appareils.

Consciente de cette situation, l'équipe a commencé à analyser les technologies disponibles, à effectuer des analyses comparatives, à construire des prototypes et à définir la nouvelle architecture, connue en interne sous le nom d'« étoile polaire ». Parmi les décisions clés prises, citons la participation et la normalisation de la collection de contrôles UX Fluent UI, le passage d'Angular à React pour la construction des interfaces utilisateur, le déplacement du traitement des données du fil principal vers un travailleur de couche de données client et, enfin, le passage d'Electron à l'utilisation de WebView2 en tant qu'hôte.


Afin d'assurer une transition en douceur pour nos clients et de continuer à fournir une nouvelle valeur pendant le développement de la nouvelle architecture, l'approche stratégique suivante a été mise en œuvre. Nous avons d'abord intégré certains des composants construits à l'aide de React/Fluent dans le client Teams classique.

Bien que cela ait amélioré les performances des composants, cela a entraîné une lenteur générale et une utilisation accrue des ressources, car nous faisions fonctionner deux frameworks dans le client Teams classique. Le client grand public a ensuite été construit sur la base de la nouvelle architecture, parce qu'il nécessitait moins de fonctionnalités que le client commercial et ne disposait pas d'un client Teams classique à partir duquel basculer.

Cela a réduit les risques en nous permettant de valider les mesures de performance et de fiabilité de la nouvelle architecture dans le client grand public et, en parallèle, de continuer à ajouter des fonctionnalités très demandées dans le client Teams classique. La phase suivante a consisté à étendre la base de code du client grand public afin d'ajouter la prise en charge des fonctionnalités commerciales pour soutenir cette nouvelle version de Teams tout en validant les résultats de l'amélioration des performances.

Chaque couche comporte des avantages et des bénéfices pour une nouvelle expérience Teams :

Fluent UI

La collection de contrôles d'expérience utilisateur (UX) Fluent UI nous a permis de standardiser les composants communs et d'obtenir des résultats cohérents sur toutes les plateformes. L'utilisation de ces styles et contrôles réactifs et multiplateformes a permis d'améliorer la réactivité par rapport à la plupart de nos contrôles personnalisés et d'assurer une expérience cohérente et cohésive sur tous les appareils. Nous sommes en train de migrer vers Fluent v9, qui offre des avantages notables en termes de performances avec CSS-in-JavaScript.

React

La décision de passer d'AngularJS à React a été principalement basée sur les caractéristiques de performance et les résultats d'analyse comparative spécifiques à nos cas d'utilisation. Ce changement et les choix avec la réécriture ont abouti à une base de code plus petite et plus modulaire, un meilleur support pour les composants partageables et une réactivité accrue. Nous avons observé que React était mieux adapté à nos scénarios et que ce changement a été bénéfique pour les performances globales de l'application.

Couche de données du client

L'une des principales caractéristiques de JavaScript est sa nature monothématique. Pour surmonter cette limitation, nous avons mis en œuvre une solution en déplaçant la gestion des données vers un travailleur séparé, connu sous le nom de couche de données du client. Cela a permis de récupérer des données, de les stocker, d'effectuer des opérations de conformité des données, de transmettre des notifications push et d'exécuter des fonctionnalités hors ligne dans des threads parallèles, sans ajouter de contention au thread principal de l'interface utilisateur.

La couche de données du client est accessible via une couche GraphQL à partir du fil d'exécution principal, et la communication interprocessus (IPC) sert de connexion entre ces couches. En déchargeant le traitement des données du fil principal, nous avons observé une amélioration de la réactivité de l'expérience utilisateur. En outre, la séparation des tâches a permis d'obtenir un code plus propre et plus optimisé.

WebView2

Les principaux avantages observés lors de la transition d'Electron à WebView2 sont une utilisation réduite de la mémoire et une empreinte disque réduite, les ressources étant partagées avec Edge. En outre, nous avons été en mesure de tirer un meilleur parti des capacités natives fournies par WebView2 et d'assurer la prise en charge de versions plus récentes de Chromium (dernières mises à jour de performance et de sécurité).

WebView2 est disponible en tant que SDK pour la création d'applications hybrides multiplateformes, ce qui permet une utilisation plus efficace des ressources et une meilleure intégration avec la plateforme sous-jacente, avec pour résultat une application plus performante et plus fiable. Cette transition a été une étape positive pour offrir une meilleure expérience à l'utilisateur.

Au-delà de la mise à niveau de la technologie de base, Microsoft a également investi massivement dans la performance, la stabilité, la facilité d'utilisation et une plus grande flexibilité. Voici quelques exemples de ces investissements.


Pipeline de rendu vidéo amélioré

Les habitudes et les attentes des gens en matière de réunions en ligne ont considérablement changé pendant la pandémie. La demande d'utilisation accrue de la vidéo dans les réunions et l'intensité de cette utilisation ont explosé.

Alors que l'équipe de Teams s'efforcait d'augmenter rapidement son infrastructure dorsale de diffusion audio/vidéo, elle a également reconstruit l'architecture de rendu vidéo côté client dans Teams pour l'adapter à la complexité et à l'intensité de l'utilisation de la vidéo. Microsoft a développé de A à Z un plan de réunion plus efficace pour une meilleure gestion de la vidéo, une liste virtualisée pour une navigation plus fluide, et nous sommes passés à un compositeur et à un moteur de rendu natifs pour le...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de archqt
Membre émérite https://www.developpez.com
Le 28/03/2023 à 15:58
Pourquoi ne pas le faire en C++ avec un framework multi-plateforme ? Sauf erreur il y a un rapport 2 de vitesse entre javascript et le C++. Il me semble que Skype, racheté pas Microsoft, était fait soit en Pascal (Delphi) soit en C++ en fonction de l'OS.
0  0 
Avatar de chasis.fan
Nouveau membre du Club https://www.developpez.com
Le 02/11/2023 à 15:40
Voila pour les constations ancien vs nouveau teams en terme de ressources mémoire et occupation disque
0  0