这周我差不多花了两个半天的时间进一步研究了下网上的低代码开发平台,也就是原来我们经常说的快速开发平台。研究这个的一个主要原因就是我们看到在新的微服务,DevOps,ServerLess技术,前端新技术的发展趋势下,低代码开发在时隔多年后被再一次的提起。
在微服务和云原生解决方案不断发展的情况下,我们看到当前的云服务已经从最传统的弹性计算和存储能力,提升到了我们常说的PaaS平台层,即提供更多的类似消息,缓存,数据库,中间件,安全,大数据平台等平台层服务能力。
有了这些共性技术服务能力后,应用开发就能够基于这些共性技术服务能力,应用开发能够更加只关注业务流程和业务逻辑的实现,再加上当前主流的微服务+DevOps+容器调度的云原生解决方案思想。即我们当前的应用开发更加敏捷和高效,能够快速的响应业务的需求。
那么我们接着能够考虑的就是再平台层足够强大后,我们的开发能否进一步更加简化,能够实现无代码或少量代码就能够完成一个功能的开发和朝云端的部署上线。比如我们现在看到的亚马逊的公有云提供的ServerLess就是一个典型的场景。你只需要写少量的配置文件或函数方法,就能够完成一个类似网页爬虫,信息搜索,图片存储等互联网功能。
第一:传统的快速开发平台
为了搞清楚低代码开发,我们可以看下在原来我们经常提到的快速开发平台。对于原来我们谈的快速开发平台,我想可以初步分为两种典型的类型。
1. 面向业务人员:完全不需要开发经验,不用接触代码。典型是类似各种BPM高度流程表单可定制产品。
2. 面向技术人员:提供快速开发平台和工具,比如代码自动生成,功能大部分可配置+脚本编写模式。
对于面向业务人员方式的平台往往就是一个高度灵活的空平台,所有的对象,数据,流程,规则,权限等你都可以随意的配置和定制。类似各类BPM产品,但是实际上可以看到这类产品无法开发规则业务复杂的系统。
对于面向技术人员的快速开发平台,类似我们常说的普元,JeeSite, JEPaaS,起步科技的PaaS平台等都属于这种类型。但是这种类型的平台本身又细分为了两种,一种是仅仅辅助开发和代码生成,即所有的开发内容都生成代码,脱离开发平台环境也能够成功运行;还有一种就是强绑定,平台很大内容不生成代码,对你黑盒,无法脱离环境运行。
我原来比较强调技术开发类平台是否提供源代码,是否进行强绑定,但是最近思考了下这个反而不是重点,真正重要的还是这个平台对各类场景,各类业务需求下的通用模式抽象能力,这个将直接影响到平台本身的好坏。比如一个平台本身黑盒无法扩展,但是你的业务场景又很难配置出来,那么整个平台的可用性就大大的打折扣。
其次,对于一个快速开发平台,我们可以有一个重要结论:
你对不同业务,不同场景下的通用性适配能力越强大,那么你实际运行的黑盒代码性能就越低。
也正是这个原因,我们看到很大快速开发平台代码臃肿,性能低下,你开发的时候速度倒是快了。但是后续系统的性能完全跟不上,也无法扩展,这些都是要命的问题。
第二:从传统快速开发到低代码开发平台
为了进一步谈我自己对低代码开发平台的理解,我先引用下网上对低代码开发的一些定义和说明。
低代码开发平台是无需编码(0代码或无代码)或通过少量代码就可以快速生成应用程序的开发平台。它的强大之处在于,允许终端用户使用易于理解的可视化工具开发自己的应用程序,而不是传统的编写代码方式。构建业务流程、逻辑和数据模型等所需的功能,必要时还可以添加自己的代码。完成业务逻辑、功能构建后,即可一键交付应用并进行更新,自动跟踪所有更改并处理数据库脚本和部署流程,实现在 IOS,Android,Web 等多个平台上的部署。
低代码开发平台(LCDP)英文全称为Low-Code Development Platform,一个显著的特点是,更多的人可以参与到应用程序开发当中,不仅是具有专业编程能力的程序员,非技术背景的业务人员同样可以构建应用;对于大型企业来讲,低代码开发平台还可以降低IT团队培训、技术部署的初始成本。
从这个定义上面我们可以找到一些关键点,简单总结来说就是
1. 少量代码或者无代码,业务人员也能参与
2. 提供可视化,可配置的工具进行配置和建模
3. 可同时发布到多个平台或终端
4. 提供和云端的持续集成和发布能力,可持续交付,即我们常说的DevOps
对于低代码开发平台和快速开发平台区别,实际我想强调一个重点,我个人认为很重要,即:
低代码开发需要实现从最早的以数据库对象建模方式转变为服务化建模方式。
传统的快速开发平台不论是表单或流程涉及,更多的还是围绕数据库为核心进行,建立的对象可以生成数据库。相关的表单操作也围绕数据库进行。
而在低代码开发时代,我个人更加推荐一个转变,就是基于对象服务化的分层开发模式。这个本身也是更加贴近我当前中台和微服务的构建思路。即你首先去构建你的对象并发布你的服务,然后再考虑如何基于这些发布的服务类构建上层的应用。即我们的开发过程横向拆分为两端。而中间基于服务进行松耦合连接。
即:微服务 + 服务 + 前端应用。
不是简单的我们传统应用拆分小了,而且我们的前端应用模块,后端能力模块也全部微服务化,形成我们当前说的平台+中台+前端应用的分层模式。这种模式如果再和我们当前的DevOps和容器化技术结合,那么整个开发完成的应用就更加容易持续发布和交付,也更加容易在后续继续弹性资源扩展和调度。
对于初创的中小企业以及个体商户,一般初期运营的时候几乎很少打造自己的SEO团队,能够聘请一名专业的SEO人员就已经很不错了,但一个人去操作SEO项目有的时候也是捉禁见肘的,特别对于时效性特别强的产品,...
好的企业网站建设需要遵守这些内容: 一、有序排列 网页内容的有序排列,也会引起人们的注意。把网页内容整齐的放在一边,再加入一些文字的变化和一些有趣的边框,对用户的阅读和浏览更有帮助。 二、合理分...
你logo文件夹下放2张图片:pic1.gif,然后把下面的代码粘在你的网页里,看看效果:suspendlink1="";suspendimg1="logo/pic1.gif";functionran...
很幸运的告诉你,有的,上述视频特效就是我前段时间下载的,我经常剪辑视频并且自己也爱好AE软件,所以经常导出搜集AE模板,但是搜集的很多都是需要会员才可以免费下载的。 我经常用的免费AE模板网站就一个...
感谢邀请,网站这方面我自己没有做过,但是我可以做为一名消费者就给我们公司做的网站来说一下我也想法,考虑不周,希望大家海涵。 首先哈,我认为网站最重要的就是点击量了,我们之所以做推广就是因为它会给我们带...
所谓营销型网站就是为实现某种特定的营销目标,能将营销的思想、方法和技巧融入到网站策划、设计与制作中的网站。据企业传统盈利模式以及核心产品在传统中的销售渠道,设定网络目标客户群体,针对网络潜在目标客户群...
呕心沥血整理出个人最喜欢的也最常用的十个网站分享给你: 第一位:全集网(/) 蛋哥最喜欢的一个网站,基本上和院线是同步更新的,有的国际电影甚至比国内院线还早。全集网几乎所有的电影都可以下载,极个别需...
子域名是个相对的概念,是相对父域名来说的。域名有很多级,中间用点分开。例如中国国家顶级域名CN,所有以 CN 结尾的域名便都是它的子域。例如: 便是 的子域,而 是 cn 的子域。...