0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

技术速递 | 华为云Astro低代码平台关键能力技术浅析

华为DevCloud 来源:未知 2023-07-13 18:25 次阅读

1 背景介绍

低代码开发基于可视化开发的概念,结合了云原生和多终端体验技术,它可以在大多数业务场景中,帮助企业显著的提升效率。同时为专业开发者提供了一种全新的高生产力开发方式,让不懂代码的人通过“拖拉拽”开发组件来完成应用程序的构建。从某种意义上说,低代码可以弥补日益扩大的专业技术人才缺口,同时也可以促进企业与技术之间深度协作的最终敏捷形式。

本文以技术方案视角,对华为云Astro低代码平台的一些核心功能进行简要介绍。

2 关键能力介绍

|2.1 数据建模和数据管理

华为云Astro的一个核心特性就是运行时提供数据建模和与数据存储,帮助开发者做到所见即的的发布,在其表现形式上,通常低代码平台通常分为”表单驱动”和”模型驱动”两种模式。不管是哪种模式,都要求低代码平台具备灵活存储用户自定义数据模型的能力。当下主流的低代码平台主要有以下一下两种大的方案。

方案一:

使用关系型数据库,将数据模型的定义和修改直接转化为数据库中DDL的表操作。该方案的优势在可以直接利用关系型数据库的能力,包括SQL优化与事务一致性等。弊端在于有大量的DDL语句操作,并且关系型数据库的Schema数量和表的数量也都都是有限制的,在成本控制上面临着较大挑战。因此该方案适用于一些线下交付,单租形态的低代码。

方案二:

Meta+Data的宽表模型,将模型的定义转化为宽表的模型存储。该方案的优势在于可以灵活的定义数据模型,不需要考虑因模型变化导致的DDL语句。再具体实践中,宽表可以有不同的选型,例如文档数据库,搜索、分析型数据库、关系数据库等。不同类型的存储的宽表选型面临着事务一致性、行列扩展限制、索引构建不同的挑战。

|2.2 页面编排

页面编排是低代码的核心功能。狭义上的页面一般指的是表单表格,广义上的页面还可以包含登录Portal页、大屏页等多种样式。对于页面编排目前实现方式也基本相同,采用JSON格式的页面Schema定义,同时提供页面编排的设计引擎和页面运行时的渲染引擎。技术方案基本围绕Vue与React两大技术框架与相关UI实现。

在交互逻辑处理方面,页面编排基本上采用两种思路来处理。

思路一:

固定交互行为,通俗的说法就是平台预置的组件与组件的行为方式。所以,组件的多少、组件的能力、组件的扩展性也是衡量低代码平台竞争力的一个指标。

思路二:

使用扩展性脚本语言,JS和TS都是常用的选择。在代码中包含循环、递归、变量等抽象操作,这些抽象的逻辑是无法通过拖拉编排来完成的。脚本语言作为低代码平台的胶水部分,在执行安全性、沙箱环境等方面仍然面临较大挑战。一份权威机构的报告中,编程接口被认定为企业级低代码开发平台的重要标志,不具备编程接口的“低代码”被划归为“无代码”,转移到那些只适用有限用例的平台报告中。

|2.3 流程和业务逻辑

流程编排是低代码平台的的另一基础能力。低代码平台能否构建出复杂的流程来支撑企业业务和流程编排的易用性是衡量流程能力的重要指标。

通常我们再说”流程编排”的时候,指的是工作流的编排。BPMN2.0的规范之上,开源工作流已经具备了非常成熟的能力。业界的低代码厂商在实现工作流的方案商通常有两种,一是基于开源框架扩展和封装,二是基于BPMN2.0规范来自己来实现。

另个”流程编排”的概念指的是集成流编排基于EIP(Enterprise Integration Patterns)协议。目前Spring Integration、 Apache Camel等都是比较成熟的集成流框架。

上述两种编排在协议、框架和使用场景上有着明确区分,目前国内的低代码平台大多数只提供工作流编排的能力。

|2.4 接口和集成

为了避免“数据孤岛”现象,企业级应用通常需要与其他系统进行集成,协同增效。此时,内置的集成能力和编程接口就变得至关重要。

这里涉及到连接器的概念,连接器是API的代理和包装器。连接器的定义广泛使用OpenApi的规范,基于Swagger2.0或者Swagger3.0的规范来实现。API的调用大多采用HttpClient的方式,基于Oauth等授权协议完成调用。

除了Rest接口的集成,云厂商的低代码在系统集成商还有着更多方面的拓展。基于云上的网络方案与授权协议,可以与用户的MQ、DB、K8S集群等打通,完成与用户托管方案的深度集成。

|2.5 代码生成与低代码高代码融合

基于华为云Astro完成表单构建、模型构建之后,很容易基于模型元数据定义生成对应后端模型和与之对应的模型操作接口。在一些复杂的业务场景下,需要开发者以高代码的形式对这些模型和接口进一步重载或复写。

在高代码融合上,基础功部分提供了预置函数和用户自定义函数功能,通过条件表达式引擎来实现。高级代码部分,通常与Servless框架进行整合,将计算资源通过独立集群或者沙箱的方式单独承载。

3 总结

在介绍了原理之后,华为云Astro距离实现低代码的能力高上限、门槛低下限的要求仍然有大量细致工作要做。

戳下方“阅读原文”,立即体验华为云Astro


原文标题:技术速递 | 华为云Astro低代码平台关键能力技术浅析

文章出处:【微信公众号:华为DevCloud】欢迎添加关注!文章转载请注明出处。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 华为
    +关注

    关注

    215

    文章

    33946

    浏览量

    248021

原文标题:技术速递 | 华为云Astro低代码平台关键能力技术浅析

文章出处:【微信号:华为DevCloud,微信公众号:华为DevCloud】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    中国唯一!华为入选 Gartner®企业低代码应用平台魔力象限

    唯一入选厂商,华为已连续两年入选 Gartner®企业低代码应用平台魔力象限。 华为Astro
    的头像 发表于 11-25 17:44 488次阅读

    智能低代码洪流涌动程序员节,华为Astro 触发 1024 的乘法效应!

      从人工智能至量子计算,再到最新的云原生技术,越来越多的荣耀被程序员斩获。今年 1024 程序员节,华为Astro 向全民致敬:「低代码高产出 拓荒数字化版图——人人皆是程序员」
    的头像 发表于 11-13 09:39 274次阅读
    智能低<b class='flag-5'>代码</b>洪流涌动程序员节,<b class='flag-5'>华为</b>云 <b class='flag-5'>Astro</b> 触发 1024 的乘法效应!

    剖析华为Astro代码开发平台技术价值与使用体验

    面对企业 IT 专业人员紧缺的挑战,华为Astro代码平台提供创新解决方案。让非编程专业人士能快速构建、部署应用,缓解开发资源压力,并高度整合
    的头像 发表于 10-11 20:20 386次阅读
    剖析<b class='flag-5'>华为</b>云 <b class='flag-5'>Astro</b> 低<b class='flag-5'>代码</b>开发<b class='flag-5'>平台</b>的<b class='flag-5'>技术</b>价值与使用体验

    HarmonyOS/OpenHarmony原生应用开发-华为Serverless云端服务支持说明(一)

    华为还提供了端一体化开发的开发体验。开发者可以在DevEco Studio中基于统一的技术栈,高效、协同地完成端、代码的编写、调试、编
    发表于 10-08 10:22

    HDC.Cloud 2023 | 重塑未来的 1 课:组装式交付新引擎——智能化低代码平台

    紧跟低代码技术飞速发展——华为Astro 智能工作流惊艳 HDC.Cloud 2023!企业对未来智能化组装式交付的期待已不是空想。智能化低代码
    的头像 发表于 09-06 23:27 218次阅读
    HDC.Cloud 2023 | 重塑未来的 1 课:组装式交付新引擎——智能化低<b class='flag-5'>代码</b><b class='flag-5'>平台</b>

    智能化新服务即将惊艳亮相 HDC2023 |华为Astro 爆发低代码能量

    跃跃欲试的开发者们,是否对 2023 华为云开发者大会充满期待?华为Astro 将引领新一轮低代码技术革命!贯穿 AIGC
    的头像 发表于 09-06 23:17 283次阅读

    华为Astro代码三侠「踢馆」 ,学员:也带带我!

    终日专注「敲代码」的三位华为Astro 平台开发者,7 月 9 日,在华为开发者大会 2023 极客挑战赛上,给学员们开上了「小灶」。
    的头像 发表于 09-05 22:47 741次阅读
    <b class='flag-5'>华为</b>云 <b class='flag-5'>Astro</b> 低<b class='flag-5'>代码</b>三侠「踢馆」 ,学员:也带带我!

    华为Astro代码平台关键能力技术浅析

    华为Astro 的一个核心特性就是运行时提供数据建模和与数据存储,帮助开发者做到所见即的的发布,在其表现形式上,通常低代码平台通常分为”表单驱动”和”模型驱动”两种模式。不管是哪种
    的头像 发表于 09-03 09:35 467次阅读

    HDC.Cloud 2023 | 重塑未来的 1 课:组装式交付新引擎——智能化低代码平台

    HDC.Cloud 2023 | 重塑未来的 1 课:组装式交付新引擎——智能化低代码平台 紧跟低代码技术飞速发展——华为
    的头像 发表于 09-03 00:37 277次阅读
    HDC.Cloud 2023 | 重塑未来的 1 课:组装式交付新引擎——智能化低<b class='flag-5'>代码</b><b class='flag-5'>平台</b>

    智能化新服务即将惊艳亮相HDC2023——华为Astro爆发低代码能量

    跃跃欲试的开发者们,是否对2023华为云开发者大会充满期待?华为Astro将引领新一轮低代码技术革命!贯穿AIGC
    的头像 发表于 09-03 00:35 193次阅读

    华为云零代码平台 AstroZero 新手操作指南 | 3 分钟体验创建培训报名表

    华为Astro 轻应用 Astro Zero 是华为云为行业客户、合作伙伴、开发者量身打造的低代码/零
    的头像 发表于 08-25 15:59 541次阅读
    <b class='flag-5'>华为</b>云零<b class='flag-5'>代码</b><b class='flag-5'>平台</b> AstroZero 新手操作指南 | 3 分钟体验创建培训报名表

    绘出「星辰大海」:华为Astro 轻应用新手指南Ⅰ

    收藏这份实用又有趣的新手指南,零基础踏上华为云低代码开发的奇妙旅程。 第Ⅰ章 旅程的开端 发现 Astro 轻应用地图 第 1 站:创建账户 首先,你需要在华为
    的头像 发表于 08-25 15:58 431次阅读
    绘出「星辰大海」:<b class='flag-5'>华为</b>云 <b class='flag-5'>Astro</b> 轻应用新手指南Ⅰ

    绘出「星辰大海」:华为Astro 轻应用新手指南Ⅱ

    收藏这份实用又有趣的新手指南,零基础踏上华为云低代码开发的奇妙旅程。 第Ⅱ章 Astro 轻应用奇遇——用鼠标「拖拽」的开发 不被编程所困,像玩拼图一样打造订购系统! 今天,我们用鼠标拖拽的方式开发
    的头像 发表于 08-25 15:58 263次阅读
    绘出「星辰大海」:<b class='flag-5'>华为</b>云 <b class='flag-5'>Astro</b> 轻应用新手指南Ⅱ

    资讯速递 | ArkUI-X 预览版已正式开源!

    OpenHarmony项目群技术指导委员会(以下简称“TSC”)-跨平台应用开发框架TSG所孵化项目 —— ArkUI-X,近期已正式开源 ,开发者基于一套主代码,就可以将在OpenHarmony上
    发表于 08-11 16:10

    FPGA:基于Cortex-M33的平台技术参考手册

    FPGA:基于Cortex-M33的平台技术参考手册
    发表于 08-02 14:53