F8 : Facebook fonce sur l'open source pour les développeurs, Workplace plus mûr

F8 : Facebook fonce sur l’open source pour les développeurs, Workplace plus mûr

Mais il partait de loin

Avatar de l'auteur
Vincent Hermann

Publié dans

Logiciel

21/04/2017 11 minutes
1

F8 : Facebook fonce sur l'open source pour les développeurs, Workplace plus mûr

Après les réalités augmentée et virtuelle, la connectivité et les contenus à 360°, Facebook avait en réserve de nombreuses annonces pour les développeurs lors de sa conférence F8. La société est un gros fournisseur d’API et de frameworks en tous genres, et elle a cette année encore tiré dans toutes les directions.

Facebook est un acteur important dans le développement logiciel et web. Non seulement parce qu’il est incontournable dans les réseaux sociaux – ce qui entraine une « mise en conformité » presque obligatoire – mais aussi parce qu’il fournit bon nombre de technologies diverses, dont une bonne partie en open source.

L’un des projets les plus connus est par exemple React Native. Ce framework mobile hybride permet d’utiliser des ressources et langages web pour développer des applications natives. Il n’est pas le premier dans ce domaine, mais Facebook tente de promouvoir ici la simplicité qu’il a à n’utiliser qu’une base de code pour l’ensemble des plateformes. De quoi expliquer aussi en partie le poids énorme de ses applications mobiles.

À l’occasion de sa conférence F8 cette semaine, l’entreprise en a remis une couche, en profitant pour effectuer de nombreuses annonces de passage à l'open source.

Apprentissage profond : Caffee2 passe en open source

Caffee – initialement un projet de l’université de Berkeley en Californie – sert chez Facebook pour tout ce qui touche aux réseaux de neurones et donc à l’apprentissage profond. Il s’agit d’un framework modulaire, utilisable aussi bien sur des appareils mobiles que dans les structures beaucoup plus grandes, comme les centres de données.

La version 2 ne fait que renforcer ces caractéristiques. Elle se dote au passage d’un nouveau site, mettant désormais l’accent sur l’open source, bien que le projet en lui-même ne soit pas nécessairement libre. La licence est en effet multiple, le code contenant différents copyright en fonction des intervenants (Facebook, Google…). Une bonne partie toutefois sous licence BSD, et la redistribution, comme l’inclusion, sont permises avec ou sans modification, dès lors que l’avertissement sur le copyright reste en place.

Facebook semble en tout cas particulièrement fier de son framework, l’éditeur voulant s’associer avec les « ténors » de leurs domaines : Intel et NVIDIA pour le matériel, Qualcomm pour le mobile, Amazon et Microsoft pour le « Cloud ». Mais n’en déplaise au réseau social, d’autres sont présents dans le domaine.

Le fait de proposer un tel framework en open source n’a plus rien d’extraordinaire depuis un moment. Tous proposent leurs technologies sous cette forme pour attirer l’attention, et ce pour une raison simple : en plus de la visibilité, la participation des développeurs peut se révéler un accélérateur.

En outre, et comme nous l’avons répété à bien des reprises, mettre en place une telle infrastructure est une chose, l’alimenter en est une autre. L’apprentissage profond n’apprend justement que s’il reçoit suffisamment de données. Facebook insiste cependant sur un point : Caffee2 peut très bien être utilisé par une simple application mobile. Le framework est d’ailleurs utilisé pour l’ensemble des traitements internes.

React va faire peau neuve et devenir React Fiber

Rien à voir avec la fibre ici. Avec Fiber, Facebook a tout simplement décidé de reprendre depuis zéro son framework servant à concevoir les interfaces. L’objectif principal de cette nouvelle version, qui sera diffusée plus tard dans l’année, sera la réactivité.

Elle est en travaux depuis maintenant deux ans et était jusqu’à présent expérimentale. Facebook commence cependant à voir le bout du tunnel et compte proposer Fiber en même temps que la version 16 de React. Sous le capot, Fiber sera très différent de l’actuel React. Comme indiqué dans le dépôt GitHub du projet, Fiber s’occupera de tout ce qui touche aux animations, à la disposition des éléments et à la gestion des interactions (surtout les gestes tactiles).

Le rendu sera incrémentiel, l’ensemble du travail de rendu étant divisé en morceaux avant d’être envoyé dans des structures multiples. Fiber embarque d’ailleurs ses propres primitives pour effectuer ces tâches. Point important, cette nouvelle version de React sera pleinement compatible avec l’ancienne.

Relay change également et devient Relay Modern

Même traitement pour Relay, un framework JavaScript servant à bâtir des applications centrées sur le traitement des données. À ceci près que Relay Modern est maintenant disponible et peut donc être utilisé. Le travail effectué sur le projet est similaire, avec un cap très net sur les performances.

Comme indiqué dans le dépôt GitHub du projet, les développeurs peuvent faire transiter leurs applications vers la nouvelle version, sans avoir à tout réécrire. Relay s’utilise en combinaison de React et de GraphQL, le langage maison de requêtes. Ce concept de base reste le même avec Modern, mais est simplement étendu et simplifié.

Le fonctionnement de l’API doit donc être plus accessible aux développeurs, avec davantage de fonctionnalités et – un point à clairement noter – une taille réduite de framework. Modern introduit principalement deux améliorations notables. D’abord, les requêtes statiques, qui permettent aux développeurs une « préconstruction » et un envoi sur les serveurs de Facebook. L’application réduit alors le nombre de requêtes complexes qui circulent sur le réseau. L’infrastructure de Facebook attend simplement de recevoir les paramètres pour compléter les opérations.

Ensuite, les optimisations de type AOT (ahead-of-time). Elles complètent en fait les requêtes statiques en analysant la structure générale et en préparant des optimisations afin qu’elles s’exécutent plus rapidement. Facebook assure que le mélange des deux permet d’obtenir des gains substantiels en réaction.

Dans l’onglet Marketplace de l’application Facebook sur Android, le passage de Relay à Relay Modern aurait ainsi fait gagner 900 ms en moyenne sur les requêtes. Un gain largement suffisant pour sentir une différence selon l’éditeur.

Litho, pour les interfaces Android, passe lui aussi à l’open source

Facebook semble décidé passer en open source tout ce qui ne l’était. Litho, un framework déclaratif pour la conception des interfaces dans les applications Android, fait lui aussi le grand saut.

Litho a été créé initialement pour dépasser les limites de RecyclerView, le composant d’Android dont Facebook se servait avant pour son application, afin d’afficher le flux de l’utilisateur. L’éditeur n’était cependant pas satisfait des performances et cherchait à atteindre systématiquement les 60 images par seconde. Il fallait également résoudre d’autres problèmes de réactivité, l’interface faisant appel le plus souvent à des éléments dynamiques qui viennent s’ajouter petit à petit.

Les développeurs de Facebook se sont inspirés en fait du travail réalisé sur React Fiber, en décomposant le travail à accomplir en plusieurs composants plus petits, avant de les réunir dans le flux. L’éditeur assure avoir gagné ainsi jusqu’à 35 % de réactivité supplémentaire, mais il ne dit rien sur les conditions de cette mesure.

Évidemment, Litho est conçu essentiellement pour répondre aux exigences de Facebook, mais puisque le code est désormais open source, les développeurs pourraient s’en servir également pour leurs propres applications.

Des améliorations pour Facebook Analytics, Login Kit et Account Kit

Même s’ils ont une ampleur moindre, ces apports restent importants car ces composants sont beaucoup plus utilisés, puisqu’ils assurent la liaison avec le réseau social d’une part, et les analyses de croissance d’autre part.

C’est particulièrement le cas avec Facebook Analytics, puisque le composant est utilisé par les développeurs pour obtenir des statistiques sur les interactions avec le réseau social. Principale amélioration, des tableaux de bord personnalisables pour surveiller différentes métriques en même temps.

Analytics propose également de fournir des informations provenant des moteurs d’apprentissage profond de Facebook. L’idée est de fournir des corrélations entre les informations et davantage de retours aux développeurs, qui auraient par ce biais de plus amples renseignements sur la manière dont les utilisateurs « s’engagent » sur leurs créations. Analytics pourra donc fournir notamment des tendances, qui s’afficheront sous forme de flux, en plus de pouvoir relier l’activité sur les Pages aux ventes de produits.

Ces améliorations sont liées en partie à de nouvelles versions d’Account et Login Kit, puisque leurs activités seront elles aussi intégrées dans Analytics. Pour Account, Facebook a ajouté dans la foulée la personnalisation de l’interface de l’authentification, pour que les entreprises proposent des éléments graphiques à leur image.

Workplace continue tranquillement de s’améliorer

Enfin, et en marge des annonces faites pour les développeurs, Facebook est revenu sur Workplace, un outil de communication qui se veut en quelques sorte le Facebook pour entreprise, avec flux d’activité, groupes de discussion, appels audio et vidéo et ainsi de suite.

L’outil, lancé à l’automne dernier, a tranquillement muri. Il faut dire que le produit s’éloignait très largement des activités habituelles de Facebook, d’ordinaire centré sur le grand public. Cette fois, il s’agissait de s’adresser exclusivement aux clients professionnels, qui avaient évidemment des remarques et suggestions.

Aussi les améliorations dévoilées durant la conférence F8 sont-elles assez proches de ce que Slack propose déjà depuis un moment : une ouverture aux bots, l’intégration d’outils tiers ou encore le partage de fichiers, qui était curieusement absent.

Plus en détails, Facebook a annoncé des partenariats avec Box, Dropbox, Microsoft et Quip/Salesforce. L’intégration facilite la recherche des fichiers stockés dans les espaces cloud, l’affichage d’une miniature plutôt que d’un lien, et surtout l’ouverture directe d’une interface d’édition après un clic. Là encore, rien de bien incroyable puisque c’est le type d’intégration qu’on retrouve dans des outils du même acabit.

Les bots, qui font leur entrée, disposent des mêmes capacités que ceux déjà vus dans Messenger, en tenant compte des améliorations annoncées pour la Messenger Platform 2.0. Les bots créés pour Workplace pourront discuter avec ceux de Messenger, ouvrant des perspectives intéressantes. Une entreprise donnée peut ainsi faire appel au service client d’une autre sans quitter l’interface de Workplace.

Enfin, Facebook a indiqué avoir noué des partenariats avec CSDisco, Netskope, Smarsh et Skyhigh, des sociétés spécialisées dans la mise en conformité des produits avec certaines normes de sécurité ou encore d’interaction avec des outils de communication gouvernementaux. L’éditeur n’a donc pas souhaité réinventer la roue et a tout simplement puisé dans les services offerts par d’autres.

Selon Facebook, Workplace possède actuellement 14 000 entreprises clientes, qui ont ensemble créé 400 000 groupes. Cela étant, même si la société a des motifs de satisfaction, les chiffres sont à relativiser face à un Slack qui compte cinq millions d’utilisateurs actifs par jour.

Notre dossier sur la F8 2017 :

Écrit par Vincent Hermann

Tiens, en parlant de ça :

Sommaire de l'article

Introduction

Apprentissage profond : Caffee2 passe en open source

React va faire peau neuve et devenir React Fiber

Relay change également et devient Relay Modern

Litho, pour les interfaces Android, passe lui aussi à l’open source

Des améliorations pour Facebook Analytics, Login Kit et Account Kit

Workplace continue tranquillement de s’améliorer

Fermer

Commentaires (1)


QQn a déjà utilisé Litho par ici ? Des feedbacks ?