3年才能驾驭新技术,不如试试这个低代码魔方
此账号为华为云开发者社区官方运营账号,提供全面深入的云计算前景分析、丰富的技术干货、程序样例,分享华为云前沿资讯动态
本文分享自华为云社区《【云驻共创】玩魔方?来试试华为云应用魔方低代码平台!》,作者:启明。
前沿技术,低代码开发为何如此火爆?
国际惯例,我们先来介绍“低代码开发”的概念:低代码开发平台(Low-CodeDevelopment Platform, LCDP)是无需编码(0代码)或通过少量代码就可以快速生成应用程序的开发平台。通过可视化进行应用程序开发的方法,使具有不同经验水平的开发人员可以通过图形化的用户界面,使用拖拽组件和模型驱动的逻辑来创建网页和移动应用程序。
从其介绍,我们就可以发现它的火爆其实是一件必然的事情。
企业数字化趋势明显。不管在哪个行业,目前企业的“热点新闻”,都是数字化转型。从下图2018年的一份Gartner的CEO调研表明,42%的CEO认为数字化是企业的核心或者提倡数字化优先战略,而超过半数的CEO都计划在2019年增加IT投资。
而低代码在数字化时代大行其道的背后,是企业数字化转型过程中面临的一些问题。以制造行业为例,制造企业发展历史久远,“传统”和“复杂”是它的特性,但是工业互联网势在必行。那么在制造企业IT环境和社会环境如此复杂,且这些传统企业的人员数量和能力无法匹配诉求的情况下,我们目前一些新的技术,比如5G、大数据、物联网等,该如何融入到这些企业呢?
据IDC的一份调研,一个人要驾驭一门新技术,需要三年的时间。而对于整个制造企业,面对如此之多的新技术,所需要的时间恐怕更长。我们该如何解决这个问题呢?
低代码理念:让凡人做非凡之事
或许答案就在彼得·德鲁克的一句话中:企业永远没有足够的优秀人才,……关键是让凡人做非凡之事!
具体来说就是,解决现在企业面临的人才的数量以及能力方面不能匹配新的技术的出现,与业务快速转型和业务效率提升需求的之间的矛盾问题,唯一的突破点就是让凡人做非凡的事。
而这正是隐藏在华为云AppCube低代码设计开发的理念和思想。不知道大家有没有听说过《人月神话》(wrote byFrederickP.Brooks.Jr.)里一个关于软件工程师的故事:在很早以前,有一头巨兽,它不小心陷到了焦油坑里,而上帝只能看着它在焦油坑里越挣扎陷得越深,最后死在焦油坑里。
而软件开发,其实和上述的故事是一样的。软件开发是一件非常复杂的事情:
当前实际的软件开发成果,是红色这条曲线。白色这条曲线,则是人员投入的工作量。而中间部分,就是他们的差距。当前软件的复杂性以及业务的要求越来越高,变化越来越快,以及新技术的出现等等,太多不确定性的因素就会导致其中Gap的产生。
而低代码开发平台的重点,就是让不确定因子变成确定性因子。把简单的事情让开发人员去做,把复杂留给平台,是华为云AppCube一致努力的方向。
AppCube开发模式的改变,助力应用快速实现定制化开发
在有了低代码开发之后,软件开发模式将会迎来更大的变化。比如我们在做项目的时候,会在基线上面进行定制和扩展,case by case的去完成,研发人员苦不堪言。
而在未来,开发的模式将大大改变:
把基线分为成两部分,平台作为底部支撑。就像前文所说,把复杂留给平台,在平台上建立新技术的接口,并封装好;一些模板以及可复制的经验,我们称之为“资产”。
随着可复制经验的增多,平台的沉淀的能力越来越强,留给定制人员的门槛就会大大降低,工作量也会大大减少。
在这种模式下,我们会出现两方人员:
一方就是现在的软件开发人员,聚焦于可复制的经验的积累,包括业务层面服务的抽象,可以做成相应的微服务放到平台里面去。聚焦于业务、流程、设计等等。基于这种业务的设计和流程的设计,实现企业里面核心的业务或者核心的流程及算法。
另外一方则是业务人员。随着业务的发展,对软件人员的需求量会越来越增大。在这种情况下,我们把这部分简单的问题抽象出来,降低定制的东西门槛,让不懂软件开发的人员在平台就可以做相关定制工作,从而解决软件产能的问题。
总而言之,让有强软件开发能力的人,聚焦于资产和平台,让业务人员做相关定制化开发,共同完成企业效率提升和应用开发的改进。
数据时代,华为云AppCube助力企业分钟级应用开发
数据时代的到来,给很多企业开发者带来红利的同时,也同时给他们带来了挑战,尤其是企业应用类开发者,比如说开发时间长,复用性低,且行业标准不规范等等难题。
针对当前企业数字化过程中的上述问题,或者说是针对企业应用开发难的问题以及复制难的问题,华为在这方面已经做了相当时间的沉淀,并且基于自身应用开发的经验以及技术方面的积累,推出了一款叫应用魔方低代码开发平台。
正如其名字说表达的意思,“魔方”,代表着应用的开发可以将不同场景不同复杂度不同需求的应用,像玩魔方一般开发出来。其主打的能力也是10分钟之内就可以解决5种不同行业的应用开发的难题,具体是如何做到的呢?我们接下来具体讲解!
几款应用模板介绍
在软件应用方面,从刚开始的开发,0~1的开发以及0~1开发完之后,1到N的复制,行业内都有诸多方式,而华为云在AppCube代码开发平台沉淀了非常多的行业模板。通过这些应用的模板,企业开发者可以很快进行应用开发或者是直接基于已经完成0~1这种应用开发的模板,很快实现自己应用的快速开发。
我们来通过实际操作来给演示一下AppCube的强大功能!
如前文所说,我们是有相当多的相关应用模板,我们可以从应用模板开始。首先,我们把这些现有的行业应用的模板在这儿给大家简单做一个介绍。
轻应用模板:设备维修管理应用开发
设备维修管理系统是来自于企业的设备维修应用的实践。比如说有些园区里面空调坏了,或者是有些其他的设备坏了,面临维修。一般是遇到这个问题的客户打电话给客服人员;客服人员接收到后,创建一个维修的工单;维修的工单很快就会派给工程师,工程师上门维修完之后把整体的维修情况记录然后进行闭环,通过客服人员反馈给最终的客户。以上就是设备维修的应用场景,如下图:
行业应用模板:智慧烟感应用开发
智慧烟感是基于一个园区的智慧烟感消防系统。智慧烟感提供了常见消防安全应用所涉及的设施管理、告警分析、告警预警等。在火灾重点防范区域,如加油站、化工厂等,安装烟感、摄像头等设备后,设备对接物联网设备管理平台来实时上报烟雾浓度等数据。
智慧烟感应用接入物联网设备管理平台上报的设备数据,监控设备数据变化并进行处理分析后,对于超过阈值的数据进行告警上报。
智慧烟感具体场景主要包含如下几点:
1、烟感、摄像头等设备需要在“智慧烟感”应用侧进行管理,例如新增设备、删除设备、设置设备告警触发器等。
2、上报设备数据,例如烟感设备会实时感应周围环境的烟雾浓度,将烟雾值进行上报至物联网设备管理平台。
3、“智慧烟感”应用接入物联网设备管理平台上报的设备数据,并进行处理分析,比如获取烟雾值、查询相关设备数据、判断是否产生告警等。
4、“智慧烟感”应用将告警展示在前端页面,例如呈现设备告警具体位置、告警信息、视频监控以及相关应急联动操作等。
轻应用模板:调查问卷应用开发
调查问卷是一组与产品、社会活动等有关的问题,或者说是一份以进行调查而编制的问题表格,又称调查表。调研人员借助该调查表可对产品使用过程或社会活动过程进行准确、具体的测定,并应用社会学统计方法进行量的描述和分析,获取所需要的调查资料。
调查问卷应用模板的场景式调查开发者对AppCube使用反馈的问卷内容。开发者可在此模板上进行改造,快速自定义为自己产品的问卷调查内容。
除上述几个经典的应用模板之外,还有健康打卡应用开发模板等为疫情而生的轻应用模板及绩效审批所用的绩效评价应用开发模板等。
轻应用开发实际操作演练
经过简单的开发应用模板介绍,对华为云AppCube低代码平台有了一定的认知,我们接下来进行实操演练,来实际看看简单易用的轻量应用是如何基于平台进行开发完成的。
1、登录到我们华为云的首页(华为云-提供云计算服务 智能,见未来-华为云),进行登录或者注册,并进行实名认证
2、进入AppCube产品服务页(应用魔方AppCube_低代码开发平台_软件开发工具_应用开发工具_华为云),点击“立即使用”
3、进入AppCube服务页面,点击“进入开发环境”
4、进入低代码开发平台面向开发的交互界面
5、以应用魔方开发“设备维修管理”应用为例,点击“使用模板”
6、创建轻应用
7、进入开发页面后,点击“预览”,可看到预览效果
8、在此页面,可以看到相关的一些功能,比如说“增加一个空调设备”。点击“设备管理”–“设备列表”–“新建设备”(右侧),即可进行相关操作
9、再填写相关信息,保存即可完成新增设备操作:
10、同时,点击“设备监控”,可以获取设备位置
11、假设此设备出现故障,作为客服人员,即可在“工单管理”–“新建工单”,进行新增工单的任务
12、填写相关内容字段并保存提交
13、点击“我的工单”进行工单查看
14、点击“所有工单”,点击“派单”操作进行派单
15、作为维修工程师,可以点击“维修处理”,领取工单,查看工单相关详情
16、点击“处理”,进行工单处理
17、维修完毕之后,再点击“处理”,即可进行“关单”动作
以上就是一个工单维修的闭环,可以轻松的在低代码开发平台完成。
同时,对于一些固定的一些字段,可以进行定制化和自定义的修改。路径为:
Equipment–Page–customName1223edit
进入页面之后,可以根据业务需求,进行删改,点击保存即可直接生成新的应用。
以上流程,2-3三分钟内即可轻松完成,实现真正意义上的魔方式应用开发。
轻应用开发流程定制化修改
除了上述对于页面定制化修改之外,还可以对整体的流程(flow)进行修改。
点击Equipment–Flow–customName,查看当前应用流程
或者WorkOrder–Flow进行修改
行业应用开发实际操作演练
对于行业应用开发来说,实际操作和轻应用开发大同小异。以原有的模板“智慧烟感”为例,
点击“使用模板”即可基于原有的模板进行相关开发:
同样点击“预览”的小眼睛,即可查看预览页面:
从预览效果可以看出,该应用能够监控园区里面的一些设备。如果是某些地方着火了,IoT设备会监控到告警的设备所在位置,并把设备的信息名称进行上报,上报完成之后,系统会提示给管理人员,管理人员即可发起相关的处理,完成后置的处置流程。
其中,还可实现短信发送、应急告警、图片组件等多种功能。对于技术小白而言,其操作也是非常“无脑”,可以说,在10分钟之内,一个技术小白也能实现至少5个行业应用的创建。那么华为云AppCube低代码开发平台究竟是如何做到这么易上手的呢?
AppCube背后的故事详解
定义:AppCube是全云化的代码编写、重构、编译、测试、发布、上线的一站式开发和运行平台。
一般来说,要开发的应用需要包括三部分(如上图):数据对象、逻辑编排和页面编排。而在完成相关功能开发之后,系统会生成一些逻辑的文本代码,这些代码打包即可运行在底座平台。在此基础上,我们就可以在底座上正常的上线和运行所看到的一些相应的应用。
简单来说,AppCube其实上就是一个程序开发的环境以及一个程序的运行平台。
深入研究,我们发现,华为云AppCube的的底层的设计架构图如下:
首先从中间红色部分开始讲解。可以看出,在此处,华为云AppCube提供了“引擎”,作用是用来执行上文所说的编排产生的一些文本逻辑的代码包。即,代码包是跑在引擎上面的。而我们所说的代码包,我们也成为了“元数据”。
总的来说,华为云AppCube的设计思想是,由元数据驱动的低代码开发平台。
接下来,是“集成对接工具”。AppCube提供了对第三方系统对接工具,诸如IoT、视频云和其他第三方系统等等。
另外,就是“运营运维平台”。运营运维平台可以保障第三方开发平台比较健壮的运行,从而能够稳定的执行相应的程序。
一整套下来,作为开发者,其实需要关注的就更少了,只需要在华为云开通开发账号,并且订阅华为云AppCube,即可开启属于自己的开发之旅。
华为云AppCube主要行业应用介绍
那么华为云AppCube开发平台主要那些核心能力和特性呢?
从上图可以看出,华为云AppCube主要有5个关键能力:
零代码:支持开发者在不用开发代码的情况下,业务人员经过界面和流程的拖拽编排,即可完成应用的开发,从而解决业务人员不懂技术,技术人员不懂业务的矛盾,快速构建企业应用;
低代码:除了零代码,华为云AppCube也提供了低代码能力。其主要面向软件开发工程师的。软件开发工程师基于低代码平台提供的相应的编排能力,及复杂的逻辑可以实现相关应用的开发。减少代码量,做大量编排,即可构建一些复杂的应用场景;
多屏多端:对于前面两种方式开发的应用,在华为云AppCube可以实现不同终端的发布:PC端和手机端等。同时还提供了一种经验可复制的能力,基于这种能力,可以在已经开发完成的模板上,完成0到1的开发,解决相关场景的应用。开发人员基于模板应用进行定制或者直接用。
资产中心:比如说有些资产,包括一些组件、界面、服务流程以及AP相关都可以进行复用。华为云AppCube把可复制的经验放在资产中心,让开发者在资产中心拿到可以复用的东西。
线上开发,一键发布:在开发环境里面开发完之后,可以一键发布到测试环境和运行环境,实现从开发、测试、上线以及运维的一站式发布平台,进而让开发效率得到大幅的提升。
开发人员基于零代码开发或者低代码开发,开发出来千行百业(智慧园区、智慧办公、智慧城市等)的应用,使能开发者进行敏捷开发。
华为云AppCube更强大的功能在于,假设零代码开发完之后,有些功能无法实现,可以将其交给软件开发工程师,低代码进行开发。零代码和低代码开发完全打通融合。
低代码开发,极速编排,降本增效
接下来,我们重点讲解上面5点特性中的“低代码”功能。
界面编排:基于界面编排功能,可以实现组建界面的拼装和图形化界面的设计
业务逻辑编排:在低代码开发平台,可以进行逻辑的编排和设计,比如到银行里面转一笔账,需要有转出和转入两个账,那么至少要进行平衡,此时就可以用逻辑编排实现。
数据模型构建:实现业务逻辑编排之后,会产生相关的业务数据。可以将数据保存在数据库里。而数据库的设计,在开发之时,即可针对性的进行模型的设计、构建以及最后的数据保存。
BPM流程场景化编排:对于一些人为干涉的流程,比如说审批流各方面的处理,可以基于BPM的能力,对相关业务流程的进行编排和设置。
基于以上4个重点的能力,华为云AppCube可以支持企业快速实现应用的开发和优化,从而能够节省人力成本,提高企业运转效率。
用技术“打败”技术痛点,一起来体验华为云AppCube吧~
点击关注,第一时间了解华为云新鲜技术~华为云博客_大数据博客_AI博客_云计算博客_开发者中心-华为云