Qu'est-ce que Microsoft Power Fx ?
Comme l'explique Greg Lindhorst, gestionnaire principal du programme Power Apps chez Microsoft, Power Fx est le langage low-code qui permet d'exprimer la logique sur Microsoft Power Platform. C'est le même langage qui est au cœur des applications canevas de Microsoft Power Apps aujourd'hui et qui est inspiré de Microsoft Excel. Il permet un développement complet, du "no code" au "pro code", sans fossé entre les deux, ce qui permet à diverses équipes de collaborer et de gagner du temps et de l'argent. Microsoft a annoncé mardi qu'il rend désormais le langage open source afin de permettre à tout le monde de l'utiliser.
« L'annonce d'aujourd'hui est une déclaration d'orientation. Nous avons beaucoup de travail à faire pour extraire Power Fx de la maison Power Apps où il a grandi. Nous travaillons activement à l'intégration de Power Fx dans Microsoft Power Virtual Agents, Microsoft Dataverse et Model-driven Power Apps. Nous les utiliserons comme nos bancs d'essai pour obtenir les bons paquets pour le partage open source. Nous avons mis en place un dépôt GitHub pour notre open source sur https://github.com/microsoft/Power-Fx où vous pouvez commencer à partager vos idées sur le langage », a-t-il déclaré.
Lindhorst a déclaré que Power Fx est basé sur Excel pour faciliter son utilisation et attirer davantage de "citoyens" développeurs. Microsoft estime en effet que des centaines de millions de personnes créent des feuilles de calcul avec Excel tous les jours. Ainsi, Power Fx va leur permettre d'exploiter les concepts d'Excel qu'elles connaissent déjà pour créer une application aussi facilement qu'elles créent une feuille de calcul. Power Fx est un langage déclaratif, tout comme Excel. L'utilisateur définit le comportement qu'il veut, mais c'est au système de déterminer et d'optimiser comment et quand l'accomplir.
Quelles sont les caractéristiques de Power Fx ?
Voici les caractéristiques mises en avant par Microsoft pour Power Fx.
- asynchrone : toutes les opérations de données dans Power Fx sont asynchrones. Le créateur d'une application n'a pas besoin de le spécifier. En outre, le créateur n'a pas besoin d'être conscient de ce concept, il n'a pas besoin de savoir ce qu'est une promesse ou une fonction lambda ;
- local et distant : Power Fx utilise la même syntaxe et les mêmes fonctions pour les données qui sont locales en mémoire et distantes dans une base de données ou un service. Le créateur n'a pas besoin de réfléchir à cette distinction. Power Fx délègue automatiquement ce qu'il peut au serveur pour traiter les filtres et y trier plus efficacement ;
- données relationnelles : les tables sont différentes, mais liées par des relations. Les clés de base de données sont un autre concept que l'utilisateur n'a pas besoin de connaître. Il peut utiliser une simple notation par points pour accéder à l'ensemble du graphique des relations à partir d'un enregistrement ;
- projection : selon Microsoft, lors de la rédaction d'une requête, de nombreux développeurs écrivent naïvement "select * from …" qui ramène toutes les colonnes de données. Power Fx analyse toutes les colonnes qui sont utilisées dans l'ensemble de l'application, même en fonction des formules. La projection est automatiquement optimisée ;
- ne récupérer que ce qui est nécessaire : par exemple, si plusieurs enregistrements sont demandés à l'aide de la fonction Filter, pour laquelle des milliers d'enregistrements peuvent être qualifiés, une seule page de données est ramenée à la fois, de l'ordre d'une centaine d'enregistrements. L'utilisateur doit parcourir une galerie ou une table de données pour voir les données supplémentaires, et celles-ci sont automatiquement ramenées. Il peut raisonner sur de grands ensembles de données sans avoir besoin de penser à limiter les demandes de données à des morceaux raisonnables ;
- traduction de la syntaxe Excel : Excel est utilisé par des centaines de millions d'utilisateurs, dont la plupart savent que "&" est utilisé pour la concaténation de chaînes de caractères. JavaScript utilise "+" et d'autres langues utilisent ".". « Nous rencontrons les créateurs là où ils se trouvent, en tirant parti des connaissances qu'ils possèdent déjà », a déclaré Microsoft ;
- affichage des noms et localisation : si vous avez une équipe multilingue, chaque membre de l'équipe peut voir les noms des tables et des champs dans sa propre langue. Dans tous les cas, Power Fx s'assure que le nom logique correct est envoyé automatiquement à la base de données.
Autres caractéristiques de Power Fx
Always live
Selon Lindhorst, il existe une autre caractéristique d'Excel qui est essentielle pour les "citoyens" développeurs : le retour d'information immédiat. Si vous vous arrêtez pour y réfléchir, Excel n'a pas de mode d'édition, d'étape de compilation ou d'état d'exécution. Vous n'y avez probablement jamais pensé auparavant : vous chargez votre feuille de calcul, vous modifiez les formules et les valeurs librement, et vous obtenez vos réponses. La feuille de calcul est toujours "vivante" lorsqu'elle est dans Excel et aucune distinction n'est faite entre l'édition et l'exécution.
Les modifications de toute valeur ou formule sont immédiatement propagées dans le tableur et le créateur peut rapidement vérifier la bonne réponse. Toute erreur détectée par Excel est aussitôt signalée et n'interfère pas avec le reste de la feuille de calcul. D'après Lindhorst, Power Fx s'efforce d'offrir cette même expérience. Il intègre un compilateur incrémentiel pour mettre à jour les formules pendant que l'application est en cours d'exécution et sans en perturber l'état.
No code
Selon Lindhorst, il n'est pas nécessaire de lire et d'écrire Power Fx pour commencer à exprimer la logique. « Il y a beaucoup de personnalisations et de logique qui peuvent être exprimées par de simples commutateurs et des constructeurs d'interfaces utilisateur. Nous construisons ces outils "no code" pour lire et écrire Power Fx afin d'assurer qu'il y ait suffisamment de marge de manœuvre pour que quelqu'un puisse aller plus loin, en reconnaissant que les outils "no code" n'offriront jamais toute l'expressivité du langage complet », a-t-il déclaré.
« Même lorsqu'ils sont utilisés avec des outils "no code", nous avons délibérément gardé la barre de formule à l'avant et au centre des Power Apps afin d'éduquer le créateur sur ce que nous faisons en son nom pour qu'il puisse commencer à apprendre Power Fx », a-t-il ajouté.
Pro code
Selon Lindhorst, ceux qui utilisent les outils low-code pour construire des applications ont parfois besoin de l'aide d'un expert. En outre, les applications peuvent être reprises par un professionnel pour les maintenir et les améliorer. Il estime que les professionnels apprécient également le fait que le développement low-code peut être plus facile, plus rapide et moins coûteux que l'intégration d'un outil professionnel. Toutefois, les professionnels veulent parfois utiliser des outils professionnels pour être les plus productifs.
C'est pourquoi Microsoft a introduit un outil linguistique qui décompose une application de canevas en parties constitutives qui peuvent être éditées avec Visual Studio Code ou Visual Studio. Power Fx prend en charge les composants basés sur des formules pour le partage et la réutilisation. Il prend également en charge les paramètres des propriétés des composants, permettant la création de fonctions purement définies par l'utilisateur.
De plus, Power Fx permet d'assembler des composants et des services conçus par des professionnels. « Des connecteurs prêts à l'emploi donnent accès à des centaines de sources de données et de services Web, des connecteurs personnalisés permettent à Power Fx de communiquer avec n'importe quel service Web REST, et des composants de code permettent à Power Fx d'interagir avec des JavaScript entièrement personnalisés à l'écran et sur la page », a déclaré Lindhorst.
Sources : Microsoft (1, 2)
Et vous ?
Que pensez-vous de Microsoft Power Fx ?
Voir aussi
Forrester : l'utilisation des plateformes de développement low-code gagne du terrain dans les processus de transformation numérique des entreprises
Créer des applis sans coder : fantasme ou réalité ? Microsoft, Google, Amazon se positionnent via des plateformes cloud censées répondre à une pénurie annoncée de développeurs traditionnels
Buildbox : l'outil de création de jeux vidéo sans code est désormais proposé en version gratuite. Il est disponible sur Windows et Mac
Google annonce la fermeture d'App Maker, son outil de développement d'applications low-code de G Suite, dans au plus un an, la faible utilisation du service serait la cause