文章来源:本文根据嘉为蓝鲸2021研运治理实践大会嘉宾周宗沛的演讲总结得出
原文作者:嘉为蓝鲸
低代码的定义,同时也是低代码的核心理念和价值:即无需编码或通过少量代码就可以快速生成应用程序的工具,其一方面可以降低企业应用开发人力成本,另一方面可以将原有数月甚至数年的开发时间成倍缩短,从而帮助企业实现降本增效的价值。
基于表单/引擎驱动的模式
主要面向流程场景,通过建立多张表单,使用流程串联,定义报表输出方式,构建表单类轻应用。该类模式的技术壁垒不高,主要支持开发表单类应用,场景有一定局限性,主要服务中小客户。
基于aPaaS平台的模式
主要面向应用开发场景,包含多种具体的技术手段和路径,例如模型驱动、代码生成、可视化编程等,底层技术涉及云原生、元数据、多租户等。这类模式的技术壁垒较高,颗粒度更细,复杂度、灵活度更高,能够支持广泛场景的复杂应用开发,具备服务大客户和中小客户的能力。
在运维领域,低代码主要解决两大问题:
运维工作流方向
在运维工作流方向,低代码能够结合流程引擎,大大减少工作难度,同时支持个性化能力及可扩展能力。
在蓝鲸平台上,我们已经实现部分场景下的低代码、跨系统等流程设计,例如ITSM、ESM审批流程,标准运维中的发布、变更流程,DevOps平台的流水线持续集成流程,以及数据平台对数据的处理流程等。
运维开发方向
对于运维开发团队,开发和运维都十分耗费时间,开发团队关注的核心点在于,如何提升工具的研发效率。低代码在这一场景下,能大大降低运维开发的入门门槛,让运维人员能够基于已有平台去开发各种运维SaaS层工具,从而提升运维开发价值。
推广落地通常会分成两个层面来进行,首先是面向前端的UI交互页面呈现层,主要是负责前端页面设计和交互;
其次是后台API逻辑开发,包括数据库表结构设计和DB操作等。前后端通过HTTP协议的API进行交互,结合前后端落地可用的低代码开发模式。
前端落地方式
在前端UI交互页面呈现上,业界的实现方案可以分为以下三类:
后台落地方式
在后台方面,从浅层和深层两种做法来实现:
在设计之前,先要确定设计目标。通过对运维领域低代码的潜在客户的分析,明确低代码平台的设计目标,就是让客户开发SaaS更快速,同时我们并不是提供一个简单的页面拖拽工具,而是让运维开发人员可以基于平台,学习并掌握一门通用的运维开发技术,避免技能和平台绑定,限制了开发人员的技术发展。
有了比较清晰的用户画像和场景,接下来就是确定平台需要具备的特性:
嘉为蓝鲸持续关注于运维开发领域,上文所提到的落地形式丰富多样,在对比了多种落地方式后,为了满足我们的设计目标,我们选用以下形式进行了落地构建。
蓝鲸低代码平台采用拖拽组件组装页面 + 函数式编码交互逻辑的方式。此举对于复杂交互场景有很好的适应性,可以灵活地通过函数编码实现;并且有利于运维开发技术入门和能力提升,与纯代码开发技术和工具库不冲突,做到能力互补。
蓝鲸低代码平台通过提供后台框架、在线可视化建数据库表、集成数据库增删改查API、WebIDE 开发,达到支撑更强大功能的目的,让用户尽可能在线完成数据库表设计和API开发。
基于Vuejs+webpack前后端分离的模式:
Vuejs,是基于MVVM模式,视图和数据双向绑定;前端代码是一个独立的工程,侧重于数据绑定的场景,如一些需要操作复杂数据的页面。蓝鲸也提供了BKUI脚手架等便捷的开发工具。
前后端分离的开发模式后,蓝鲸PaaS平台升级到了3.0,提供了更强大的部署服务。
让前端UI交互页面呈现,实现在线一站式开发:
在明确目标人群及需求,选取相对高效的落地形式的基础上,蓝鲸低代码平台设计在实践中不断升级,逐步实现在线一站式开发,为实战场景奠定坚实基础。
基于蓝鲸低代码开发平台在线拖拽组装的一站式开发模式,从底层的平台物料库、页面布局编辑能力、一键部署能力和二次开发能力上实现渐进式赋能和提升。
平台物料库:
具备丰富度及高度拓展性两大特点。从内置基础UI组件库、内置图标库、内置布局模板库、拓展自定义业务组件库、拓展场景模板库和拓展JS函数库全面覆盖。
页面布局编辑能力:
从画布区域、页面组件数、页面函数,组建属性配置和页面路由方面进行配置,形成一个真正的项目,让各个项目之间的跳转能够符合开发逻辑。
一键部署能力:
运维上,集成PaaS的部署托管能力,实现一键部署,直接生成在线应用。框架上,集成前端的开发框架,项目内置登录、日志处理等模块。环境上,兼备预发布和生产两套部署环境,方便线上调试。
灵活的二次开发能力:
可基于平台项目代码进行拷贝和再开发,也可基于平台开发单独页面进行集成和二次开发。
蓝鲸低代码开发平台既是一个提效工具,也是一个学习工具,是助力运维开发团队技能和研发效率提速的利器。基于低代码开发平台,我们能够实现各类低代码SaaS开发,助力开发团队快速构建运营系统,提高研发效能!
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。