微软在3月2日召开的“Ignite 2021”大会上宣布,开源低代码语言Power Fx。这是一种基于Microsoft Excel的通用、强类型、声明性和函数式编程语言,同时支持文字表述。
简单来说,只要你会使用Excel公式,那么就会使用该编程语言。微软此举动标志着,一个全民开发人人都是程序员的时代已来临,同时对RPA、智能自动化、BPM等行业产生积极的推动作用。
微软的Power Apps便是基于Power Fx开发而成,未来将在更多的产品中使用该语言。目前可以在Github上下载该开源项目。
微软开源Power Fx,开启人人都是程序员时代
随着全球数字化经济呈指数级增长,组织中开发人员的项目交付速率越来越跟不上时代的步伐,往往当项目完成时已错过最佳时机,因此,低代码开发应运而生。据Forrester分析师预计,2021年,75%的企业软件将由低代码技术构建而成。
简单来说,低代码开发就是让一线业务人员也具备程序员的水准,迅速开发出自己想要的任何程序,来提升业务的敏捷性、效率性从而创造更高的业务价值。
微软发现,市面上提供低代码产品的厂商很多,但提供开源低代码编程语言的却很少,这对于推广低代码开发和业务人员学习造成了很大障碍。所以,微软以Excel为基石同时吸取了Miranda、Mathematica和Pascal等优秀编程语言的灵感,开发了Power Fx并将其开源。
Power Fx诞生于2015年,由Vijay Mital、Robin Abraham、Shon Katzenberger等多位科学家,经过7年的开发时间和多个项目淬炼而成。微软选择Excel为Power Fx的基石,是因为全球每天有数以亿计的人在使用Excel并且能熟练掌握表达公式,这对于一线业务人员来说无需进行额外的专业编程培训就能快速掌握Power Fx,迅速创建出自己想要的任何程序来满足业务需求。此外,越来越高的专业开发人员成本,成为企业沉重的运营负担。
所以,微软希望通过开源Power Fx复制C#、.NET、C++取得的辉煌成就,开启一个全民开发人人都是程序员的新时代。
Power Fx专为低代码而生(简单技术介绍)
Power Fx以使用简洁功能强大著称,特别突出了“简”字。大多数繁琐、复杂的逻辑表达式已简化成一个表达式,同时还能满足复杂的功能需求。例如,想查找员工的名字。
如果使用传统的编程语言JavaScript来写,则需要输入一大段公式和函数;而使用Power Fx,只需要一个表达式就能完成查找。下面是两者的执行代码对比:
上面为Power FX,下面为JavaScript
对于专业的程序员来说,Power Fx同样是开发利器。Power Fx的公式可以存储在易于使用的Visual Studio Code,Visual Studio或任何其他文本编辑器的YAML源文件中,同时可以通过GitHub,Azure DevOps或任何其他源代码开发程序使用Power Fx。
Power Fx支持基于公式的组件进行共享和重用。前不久,微软宣布了对组件属性参数的支持,从而可以创建具有更多增强功能的定义函数。此外,Power Fx将专业人士构建的组件和服务结合在一起。
提供开箱即用的连接器和对数百个数据源和Web服务的访问,自定义连接器使Power Fx可以与任何REST Web服务进行通信,而代码组件使Power Fx可以与屏幕和页面上的自定义Java Script进行交互。
下面将详细介绍Power Fx所做的诸多编程优化(部分):
异步:Power Fx中的所有数据操作都是异步的。用户不需要指定名称,也不需要在通话结束后进行数据同步,更不需要知道什么是promise或lambda函数。
本地和远程:Power Fx对本地内存中的数据、数据库或服务中的远程数据使用相同的语法和功能。用户不必考虑这种区别,Power Fx自动将其委托给服务器进行过滤并进行更有效地更改。
本地化和兼容:在Power Fx中使用“first name” ,而在Java Script中则需要使用nwind_firstname 。如果组织中有使用多种语言的团队,则每个团队成员都可以使用自己的语言查看表和字段名称。在这种情况下,Power Fx会确保将正确的逻辑名自动发送到数据库中。
以下是Power Fx的设计原则介绍(部分):
简单:Power Fx主要面向没有任何编程经验,或者只需要简单的概念和函数培训的业务人员。以最简单、快捷的开发方法构建出最完善的应用程序。
强类型:所有值的类型在编译时都是已知的。这样在开发时可以及早发现错误和获取到更好的建议。支持多态类型,但是在使用多态类型之前,必须将其类型转化为静态类型,并且在编译时需要知道该类型。
和Excel一致:Power Apps大量借鉴了Excel公式中的语言,所以,类型、运算符和函数语义基本和Excel保持一致。
未来,微软将把Power Fx作为重要的开发语言,扩展至Power Platform低代码平台的其他产品,以帮助更多的业务人员参与到应用程序开发中。
举报/反馈

RPA中国

1209获赞 1343粉丝
推进中国RPA开发者和企业的发展生态
北京企智未来教育科技官方账号
关注
0
0
收藏
分享