微软开源Power Fx,基于Excel的低代码编程语言

喜欢就关注我们吧!

微软宣布推出新的开源编程语言 Power Fx,一种基于 Microsoft Excel 的低代码公式语言;将可以在整个 Microsoft Power Platform 中进行使用。该语言背后的动机是开发一些 Excel 用户熟悉的东西,以内容为中心而不是以程序为中心,并具有实时重新编译的能力。

微软 Power Apps 总监 PM Ryan Cunningham 称,“借助 Power Fx,我们可以在同一时间范围内将开发人员的影响放大许多倍。通过为开发人员提供一种熟悉且易于使用的表达逻辑的方式,我们正在极大地扩展可以构建复杂解决方案的人员。通过使用专业人士期望的工具提供 Power Fx,包括能够在诸如 Visual Studio Code 的文本编辑器中直接编辑应用程序并使用源代码控制的功能,我们使开发人员可以更快地找到与数百万制造商的共同点。”

由于 Power Fx 基于 Microsoft Excel,因此它提供了与 Excel 相似的语法、函数和行为。例如,其公式是声明性的,可以像电子表格一样立即重新计算。微软方面称,Power Fx 帮助开发人员从手动保持变量和数据表更新的繁琐任务中解放了出来。

官方文档指出,所有编程语言(包括 Power Fx)都有表达式:一种表示对数字、字符串和其他数据类型进行计算的方式。例如,在大多数语言中,质量*加速度表示质量和加速度的乘法。表达式的结果可以放在一个变量中,作为一个过程的参数使用,或者嵌套在一个更大的表达式中。

Power Fx 在这一点上更进一步。一个表达式本身并没有说明它在计算什么。这取决于制作者是否将其放置在一个变量中或将其传递给一个函数。Power Fx 不是只写一个没有特定意义的表达式,而是写一个公式,将表达式与一个标识符绑定。人们把力=质量*加速度写成一个数学意义上的计算力的公式,这个公式永远是真的。当质量或加速度发生变化时,力会自动更新为新的值。一个表达式描述了一种计算方法,一个公式给这种计算方法起了一个名字,并把它作为一种配方。“这就是为什么我们把 Power Fx 称为公式语言。”

例如,Stack Overflow 上的这个公式,可以按照相反的顺序搜索一个字符串。在 Excel 中,它看起来如下图:

Power Fx 的工作原理与此公式相同,但将单元格引用替换为控件属性引用:

当输入控件的值发生变化时,Label控件会自动重新计算公式并显示新的值。这里没有像其他语言中常见的OnChange事件处理程序。

另一个例子,使用公式来计算屏幕的填充色。当控制红、绿、蓝的滑块改变时,背景色会自动改变,因为它正在重新计算。

滑块控件没有像其他语言中常见的 OnChange 事件。根本没有办法明确地设置Fill属性值。如果颜色没有按照预期工作,你需要看这一个公式来了解为什么没有工作。你不需要在应用程序中搜索,找到一段代码,在一个意外的时间设置属性。没有时间元素,始终保持正确的公式值。

当滑块设置为深色时,红色、绿色和蓝色的标签将更改为白色以进行补偿。这是通过在每个标签控件的Color属性上使用一个简单的公式完成的。

这样做的好处是,它与Fill颜色发生的情况是隔离的,这是两个完全不同的计算。代替大型的整体过程,Power Fx 逻辑通常是许多独立的较小公式。这更容易理解,并且可以在不干扰现有逻辑的情况下进行增强。

目前,Power Fx 已被集成到 canvas apps 中。微软方面透露,在接下来的 24 个月里,他们计划在整个 Power Platform 的范围内将 Power Fx 扩展为一种统一的语言。

更多详情可点击文末“阅读原文”查看。

觉得不错,请点个在看呀

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/304242.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python浅拷贝_Python中的浅拷贝和深拷贝

本文翻译自copy in Python (Deep Copy and Shallow Copy),讲述了在Python语言中浅拷贝与深拷贝的不同用法。全文系作者原创,仅供学习参考使用,转载授权请私信联系,否则将视为侵权行为。码字不易,感谢支持。以下为全文内…

常用计算机二级函数,计算机二级MS office常用函数

计算机二级MS office常用函数1、DAVERAGE用途:返回数据库或数据清单中满足指定条件的列中数值的平均值。语法:DAVERAGE(database,field,criteria)参数:Database 构成列表或数据库的单元格区域;Field指定函数所使用的数…

错误删除linux分区致Win7引导失败的修复方法

以前在Winxp和linux双启动时,若完全 删除了linux分区,重启进不了Winxp时,只需要用Winxp的光盘引导系统到命令行或故障恢复控制台,输入fixmbr和fixboot即可解决。现在是win7系统,命令行已经被修改。昨天我就遇到这问题&…

如何通过自学找到一份开发的工作?

01学习过程比较仔细的学习了《cprimer》,并对每个习题都自己写代码实现了一遍,包括稍微复杂一点的例子。认真读完了《effective c》,《effective stl》。比较仔细的学完了《数据结构与算法分析》,并把其中的每种数据结构和算法都用…

BeetleX使用bootstrap5开发SPA应用

在早期版本BeetleX.WebFamily只提供了vuejselement的集成,由于element只适合PC管理应用开发相对于移动应用适配则没这么方便。在新版本组件集成了bootstrap5可以更好地适配移动Web应用;同时也集成了Fontawesome和bootstrapIcons,这样在开发过程中使用字体…

计算机基础知识菜鸟教程,机器学习基础知识整理归纳

关于机器学习的一些基本概念的整理1.前言1.机器学习是一门致力于研究如何通过计算的手段,利用经验来改善系统自身的性能的学科。1997年Mitchell给出一个更形式化的定义,假设用P来评估计算机程序在某任务类T上的性能,若一个程序通过利用经验E在…

python echo函数_python如何调用php文件中的函数详解

前言python调用php代码实现思路:php文件可通过在terminal中使用php命令行进行调用,因此可使用python开启子进程执行命令行代码。函数所需的参数可通过命令行传递。测试环境1、操作系统:macos10.13.22、php版本:PHP 7.1.7(mac自带)…

今天换了ubuntu10.04

今天换成了ubuntu10.04,开机很快,17秒到登录界面,在我这台dell vostro 1500上很快很快了。快是ubuntu10.04给我的第一印象。至于界面什么的,我真觉得没什么区别,反正我也不开特效,管它呢!反正我…

Jupyter 常见可视化框架的选择

文末有福利!对于以Python作为技术栈的数据科学工作者,Jupyter是不得不提的数据报告工具。可能对于R社区而言,鼎鼎大名的ggplot2是常见的可视化框架,而大家对于Python,以及Jupyter为核心的交互式报告的可个视化方案就并…

AOP(面向切面编程)大概了解一下

前言上一篇在聊MemoryCache的时候,用到了Autofac提供的拦截器进行面向切面编程,很明显能体会到其优势,既然涉及到了,那就趁热打铁,一起来探探面向切面编程。正文1. 概述在软件业,AOP为Aspect Oriented Prog…

es6添加删除class_es6中class类的使用

在es5中我们是使用构造函数实例化出来一个对象,那么构造函数与普通的函数有什么区别呢?其实没有区别,无非就是函数名称用首字母大写来加以区分,这个不用对说对es5有了解的朋友都应该知道。但是es5的这种方式给人的感觉还是不够严谨…

搞定WordPress的日志自动截断

WordPress默认首页显示日志全文,这个很让人受不了,在IC之前就想搞定这个,可是一直没有时间,现在比赛过后,作为休闲,总算是搞定,很多人说用more标签,最后还是用了某位仁兄做的很好的插…

如何选择 WebClient HttpWebRequest HttpClient ?

当我们在用 .NET 调用 RestAPI 时通常有三种选择,分别为:WebClient, HttpWebRequest,HttpClient,这篇文章我们将会讨论如何使用这三种方式去调用 RestAPI,我还会提供相应的代码案例来帮助你更好的理解这三者的概念和使…

gre考试能用计算机么,新GRE考试必须知道的九大考场问题

参加GRE考试须知GRE考场问题1、计算机化GRE考试考场的环境怎样?计算机化考场按照全球统一标准建设,温度适宜,光线充足,隔音效果良好。各个考位由屏风分隔,相对独立。GRE考试须知GRE考场问题2、参加计算机化GRE考试需要携带什么文…

python property setter_Python:动态属性 property setter 以及 __getattr__ 属性

1. property引言:-- 假设有这样一个需求,我们需要创建一个 User 类,并初始化 birthday 参数,之后根据 birthday 计算得到年龄;-- 我们设计下面的代码实现该需求:>>> from datetime import date, d…

机器学习三部曲

随着科技的发展,计算机对人类的生产活动和社会活动产生了极为重要的影响,同时以强大的生命力飞速发展着。目前计算机正广泛用于社会各个领域,并朝着微型化、网络化、智能化和巨型化的方向前进。说到智能化,大家最先想到的应该就是…

AntDesign Pro + .NET Core 实现基于JWT的登录认证

很多同学说AgileConfig的UI实在是太丑了。我想想也是的,本来这个项目是我自己使用的,一开始甚至连UI都没有,全靠手动在数据库里修改数据。后来加上了UI也是使用了老掉牙的bootstrap3做为基础样式。前台框架也是使用了angularjs,同…

武汉大学计算机学院2019考研复试,2019年武汉大学硕士研究生复试及录取名单汇总...

原标题:2019年武汉大学硕士研究生复试及录取名单汇总考生可以通过录取名单了解到很多重要的信息,例如复试比例,进复试最低分,复试录取成绩,录取总评成绩等重要信息。以下是我们整理收集到的各学院复试录取名单汇总&…

ugui unity 取消选择_UGUI中几种不规则按钮的实现方式

前言UGUI中的按钮默认是矩形的,若要实现非矩形按钮该怎么做呢?比如这样的按钮:本文将介绍两种实现方式供大家选择。使用alphaHitTestMinimumThresholdImage类的alphaHitTestMinimumThreshold是一个浮点值,Raycast检测时只有图片中…

你的专业 VS 你妈口中你的专业

亲妈认证★英语语言文学我妈:她就是一个学英语的~我同学:你学英语的啊?那你看美剧不用看字幕的吧?你听英文歌都听得懂的吧?这个怎么翻译啊?这上面写的什么?你不是专八吗?哈喽~ 在吗&…