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 lance Power Fx, un nouveau langage de programmation low-code open source
Basé sur Excel

Le , par Bill Fassinou

52PARTAGES

3  0 
Comme l'a fait remarquer la société d'étude de marché Forester en 2019, l'utilisation des plateformes de développement low-code gagne du terrain. Cela serait en partie dû à une forte transformation numérique dans les entreprises et la facilité d'utilisation des plateformes de développement low-code. Microsoft, qui est l'un des principaux acteurs du domaine à travers sa plateforme Power Apps, croit en l'avenir de ces outils et continue d'innover dans ce sens. Mardi, à l'occasion de la première journée de l'événement Ignite 2021, Microsoft a présenté un nouveau langage de programmation low-code open source basé sur Excel.

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

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

Avatar de archqt
Membre expérimenté https://www.developpez.com
Le 03/03/2021 à 13:46
Bonjour,
l'article n'est pas assez détaillé pour ma part, j'ai quelques questions :
  • c'est pour travailler dans le cloud de microsoft ou avec les outils de microsoft uniquement ?
  • si c'est le cas peut on "exporter" le travail pour s'affranchir d'un cloud en particulier ?


Car si c'est un truc open-source mais fortement lié à microsoft ce serait dommage.

PS a priori y a un truc "buy" sur le site donc j'en déduis que c'est dans le cloud microsoft et payant donc
1  0 
Avatar de abriotde
Membre chevronné https://www.developpez.com
Le 03/03/2021 à 14:00
Je ne sais pas s'il est contraint a un cloud Windows ou pas. Néanmoins il a le mérite de présenter une vrai solution Open-Source low-code avec des idées intéressante.

Aujourd'hui, il y a peu de projets avancé low-code ouvert (et encore moins exportable/compatible), et pourtant il y a un réel mouvement. C'est tellement fermé qu'aujourd'hui j'ai du mal a voir l'intérêt au delà du maquettage d'une IHM basique.

Peut-on reprendre le code derrière pour l'affiner? Peut-on faire des fonctions complexe pour définir des composants et autres librairies?
0  0