从 NASL 说开:低代码编程语言能饭否

从 NASL 说开:低代码编程语言能饭否

Gartner说,低代码是应用开发的未来。在国内,目前市场普遍认为低代码的核心价值在于低成本、低门槛,而在开发的世界,这往往意味着需求简单、扩展困难。但偏偏一家叫做 易数帆的公司,直言要用低代码来开发复杂企业应用,并推出了一个NASL语言,这意味着把低代码和编程语言紧密结合。那么,低代码的新式编程语言,能带来新的饭碗吗NASL原理来一探究竟吧。

风口之上,国内的低代码、无代码方案数不胜数。如下图所示,对于 易数帆推出的轻舟低代码平台,NASL是其中的关键,也是最大的差异化。NASL全称是NetEase(Normal)Application Specific Language,是轻舟低代码平台提供给用户的应用建模语言。对于NASL, 易数帆内部有过争论,有人强调NASL是一种DSL,有人则强调是一门编程语言,深入探讨后团队发现这两种说法都有道理,认知差异主要来自于看待问题的不同视角。

模型抽象时,我们通常需要通过分层、分解、切面等思维拆解复杂度;框架实现时,通常要用扩展(extends)、实现(implements)、hook、表达式填充等技术体现开放性。

低代码框架核心就是要抽象一种编程模型:它既要能简单及高效的支撑用户编程意图的表达,又要能具备足够的通用性灵活性(但又不用做到MDA的程度)。要达到这样的目标,需要具备以下一些条件:

  • 首先,需要在应用软件开发领域具备非常丰富的知识和经验。具体点来说要对各种通用编程语言、框架和各种编程模式优缺点有清晰的认知,对传统研发模式影响效率和质量的因素有清晰的认识,只有如此才能给出有价值的设计。这也是很多低代码平台宣传“by developer for developer”的原因。
    – 如果考虑的是如何打造完整平台,还需要对现代软件工程需要的配套设施,包括是云原生技术体系有清晰完整的认知。
  • 其次,要对低代码框架的使用者有清晰界定和认知,框架设计要尽可能贴近这个人群的认知模型,同时要把复杂度控制在这个人群普遍能接受的程度。
    – 模型可以针对不同人群体现不同的可变性,比如mendix通过Mendix Studio和Mendix Studio Pro为专业开发者和非专业开发者提供低、无代码两种开发模式。可变性差量的设计在这篇文章 https://zhuanlan.zhihu.com/p/64004026里有比较深入的解读。
  • 最后,也是最重要一点是要有上帝视角。对很多程序员来说从框架使用者转变成框架设计者是一个非常大的跨越,需要有非常强抽象思维和站在更高的视角才能做到。

发起轻舟低代码项目的技术团队有着十多年数百个业务系统开发经验,同时团队在多年实践中培养了多位编程框架设计专家,这是轻舟团队在低代码领域创新所具备的优势。

NASL是轻舟低代码框架的建模语言

低代码框架实现了一个编程模型,NASL是这个模型的建模语言,用于描述模型中可变性的那部分。NASL根据编程模型来设计,通过框架来实现。

从这两点来说,NASL就是一门编程语言。当然NASL不是一门严格意义上的编程语言(例如JAVA、C++),因为它没有实现编译器后端部分也没有自己的运行时。但如果大家能把TypeScript看成编程语言,那把NASL同等视之好像也不过分。

– 从编程语言的视角,NASL凸显了轻舟低代码跟零代码平台的差异。参考《聊一聊低代码和零代码的差异》

NASL可视化编写能力来自设计器

NASL理论上可以跟通用编程语言一样提供文本代码编写能力,但是基于降低难度、提升效率考虑,我们提供了可视化设计器。应用开发主要涉及UI、逻辑和数据三方面开发需求。

  • UI的可视化设计的价值很清楚,实现方案也有很多,这里不展开详细说。讲一下轻舟低代码UI可视化特点:轻舟UI组件属性具备类型的,因此按照从数据、逻辑到UI的应用设计流程,UI通常可以根据类型被推导出来。这也是后续轻舟低代码进一步实现智能化编程很重要的一个方向。
  • 数据可视化设计,在传统开发中也需要,只不过以往我们设计完ER之后,需要给出DDL让DBA去实施,低代码平台可以有设计自动生成DDL并部署到数据库中。此外数据查询这里低代码平台提供了可视化生成NASL,再解释成SQL并执行的能力。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年10月16日
下一篇 2022年10月16日

相关推荐