程序员

注册

 

发新话题 回复该主题

人人都是程序员微软开源低代码语言Pow [复制链接]

1#

微软在3月2日召开的“Ignite”大会上宣布,开源低代码语言PowerFx。这是一种基于MicrosoftExcel的通用、强类型、声明性和函数式编程语言,同时支持文字表述。

简单来说,只要你会使用Excel公式,那么就会使用该编程语言。微软此举动标志着,一个全民开发人人都是程序员的时代已来临,同时对RPA、智能自动化、BPM等行业产生积极的推动作用。

微软的PowerApps便是基于PowerFx开发而成,未来将在更多的产品中使用该语言。目前可以在Github上下载该开源项目。

微软开源PowerFx,开启人人都是程序员时代

随着全球数字化经济呈指数级增长,组织中开发人员的项目交付速率越来越跟不上时代的步伐,往往当项目完成时已错过最佳时机,因此,低代码开发应运而生。据Forrester分析师预计,年,75%的企业软件将由低代码技术构建而成。

简单来说,低代码开发就是让一线业务人员也具备程序员的水准,迅速开发出自己想要的任何程序,来提升业务的敏捷性、效率性从而创造更高的业务价值。

微软发现,市面上提供低代码产品的厂商很多,但提供开源低代码编程语言的却很少,这对于推广低代码开发和业务人员学习造成了很大障碍。所以,微软以Excel为基石同时吸取了Miranda、Mathematica和Pascal等优秀编程语言的灵感,开发了PowerFx并将其开源。

PowerFx诞生于年,由VijayMital、RobinAbraham、ShonKatzenberger等多位科学家,经过7年的开发时间和多个项目淬炼而成。微软选择Excel为PowerFx的基石,是因为全球每天有数以亿计的人在使用Excel并且能熟练掌握表达公式,这对于一线业务人员来说无需进行额外的专业编程培训就能快速掌握PowerFx,迅速创建出自己想要的任何程序来满足业务需求。此外,越来越高的专业开发人员成本,成为企业沉重的运营负担。

所以,微软希望通过开源PowerFx复制C#、.NET、C++取得的辉煌成就,开启一个全民开发人人都是程序员的新时代。

PowerFx专为低代码而生(简单技术介绍)

PowerFx以使用简洁功能强大著称,特别突出了“简”字。大多数繁琐、复杂的逻辑表达式已简化成一个表达式,同时还能满足复杂的功能需求。例如,想查找员工的名字。

如果使用传统的编程语言JavaScript来写,则需要输入一大段公式和函数;而使用PowerFx,只需要一个表达式就能完成查找。下面是两者的执行代码对比:

上面为PowerFX,下面为JavaScript

对于专业的程序员来说,PowerFx同样是开发利器。PowerFx的公式可以存储在易于使用的VisualStudioCode,VisualStudio或任何其他文本编辑器的YAML源文件中,同时可以通过GitHub,AzureDevOps或任何其他源代码开发程序使用PowerFx。

PowerFx支持基于公式的组件进行共享和重用。前不久,微软宣布了对组件属性参数的支持,从而可以创建具有更多增强功能的定义函数。此外,PowerFx将专业人士构建的组件和服务结合在一起。

提供开箱即用的连接器和对数百个数据源和Web服务的访问,自定义连接器使PowerFx可以与任何RESTWeb服务进行通信,而代码组件使PowerFx可以与屏幕和页面上的自定义JavaScript进行交互。

下面将详细介绍PowerFx所做的诸多编程优化(部分):

异步:PowerFx中的所有数据操作都是异步的。用户不需要指定名称,也不需要在通话结束后进行数据同步,更不需要知道什么是promise或lambda函数。

本地和远程:PowerFx对本地内存中的数据、数据库或服务中的远程数据使用相同的语法和功能。用户不必考虑这种区别,PowerFx自动将其委托给服务器进行过滤并进行更有效地更改。

本地化和兼容:在PowerFx中使用“firstname”,而在JavaScript中则需要使用nwind_firstname。如果组织中有使用多种语言的团队,则每个团队成员都可以使用自己的语言查看表和字段名称。在这种情况下,PowerFx会确保将正确的逻辑名自动发送到数据库中。

以下是PowerFx的设计原则介绍(部分):

简单:PowerFx主要面向没有任何编程经验,或者只需要简单的概念和函数培训的业务人员。以最简单、快捷的开发方法构建出最完善的应用程序。

强类型:所有值的类型在编译时都是已知的。这样在开发时可以及早发现错误和获取到更好的建议。支持多态类型,但是在使用多态类型之前,必须将其类型转化为静态类型,并且在编译时需要知道该类型。

和Excel一致:PowerApps大量借鉴了Excel公式中的语言,所以,类型、运算符和函数语义基本和Excel保持一致。

未来,微软将把PowerFx作为重要的开发语言,扩展至PowerPlatform低代码平台的其他产品,以帮助更多的业务人员参与到应用程序开发中。

分享 转发
TOP
发新话题 回复该主题