云原生IDE:iVX首个通用且强大无代码开发平台
- 1、前言:iVX是什么?
- 2、iVX——首个通用无代码开发平台
- 首个
- 开发平台
- 无代码
- 通用
- 3、iVX系统架构
- 应用架构概览
- 前端技术框架
- 后台技术框架
- 4、iVX适合什么样的用户?学习周期?
- iVX适合怎样的用户
- 需要学习多长时间?
- 5、iVX总结
- 6、动手实践iVX无代码开发
1、前言:iVX是什么?
首先在设计之初,需要需要明确的几点是:
- 浏览器端的IDE
- 尽可能无代码并能支持全场景应用的开发
- 尽可能一次开发支持多套系统运营
- 对云和应用导出部署有良好的支持
2、iVX——首个通用无代码开发平台
首先进行剖析
通用、无代码、开发平台、首个
其中具有的深刻含义
首个
在国内还未发现有类似的平台出现,现阶段做的最好的
Mendix/Outsystems
等也只能称做“低代码”开发平台(还做不到“复杂逻辑的无代码表达”);而国内很多产品,由于不具备生成可导出部署独立应用的能力,还不能算作“开发平台”。
开发平台
iVX
所开发的应用,都可以脱离
iVX
独立部署。也就是说,对于开发者而言,
iVX
就是一个“代码生成器”。和手写代码无差别,可以脱离iVX平台任意部署,而大多数其它“低代码”平台不具备这种“开发平台”属性,只能在平台内部使用。
无代码
iVX提供了“原子级”组件系统,支持用户“自定义组件”,并且配合图灵完备的“逻辑编辑引擎/面板”,就可以实现几乎所有应用的前后台“无代码”开发。
通用
指平台的通用性,几乎适合所有的应用开发场景和支持在所有操作系统中运行。
- 支持的操作系统:浏览器WebApp、Android/iOS、小程序、小游戏、钉钉、Win/Mac/Linux、也支持最新的国产鸿蒙。
- 支持的开发场景:支持中大型复杂应用(基于无代码的逻辑编排引擎),电商、大数据应用、表单、工作流、Bi、任务流、OA系统、工业物联网、游戏、网站、视频应用、IM等等。
限制条件:
- 一般不建议用iVX来直接实现大型算法(建议封装之后在iVX内部调用);
- 不支持操作系统级软件的开发,例如杀毒软件(iVX主体是基于Web开发环境);
- 大型3D的MMORPG多人在线游戏开发(一般采用专业游戏开发引擎制作)。
3、iVX系统架构
应用架构概览
一个iVX应用,主要由两个部分构成,前台部分和后台部分:
- 前台部分,对应前端应用程序,负责客户端界面的展示与交互。在iVX中,前端程序支持多种类型,包括web应用,小程序,原生app,与windows exe应用。在运行时,每个用户都会在本地客户端下载一份前端程序来运行;
- 后台部分,对应服务端程序,部署在后台服务器(集群)中,负责后台数据与通信逻辑的处理。后台部分进一步包括后台资源接口和服务逻辑:
- 后台资源接口,主要包含各种数据库,api,缓存,文件等后台资源的操作接口,每一种接口都对应iVX中的一个后台组件。注意,iVX仅负责生成应用程序,并不提供后台资源本身。因此,要运行iVX的后台程序,需要额外接入后台资源,比如mysql数据库,redis等等。在iVX公有云上,这些资源已经自动接入,因此可以iVX应用可以直接发布运行;如果选择私有部署,则需要自行准备资源,详见私有部署相关文档;
- 服务逻辑,主要包含服务组件,是前端程序和后台资源进行交互的“中央枢纽”。其提供了一个HTTP的服务接口(REST API),可以供iVX前端部分应用或其他第三方应用来调用,同时,可以直接操作各种后台资源,并定义内部处理逻辑。
举一个简单的🌰,假设有一个收集用户信息的应用,其结构如下图:
左侧用户界面,即前端应用,其运行在用户的浏览器端,负责收集用户填写的信息;右侧的数据库表,即后台资源,负责存储所有用户提交的信息;中间的提交服务,即后台的服务层,负责监听前端应用发送过来的请求,对请求的数据进行处理,比如,判断一下提交的数据是否合法,然后调用数据库表,写入数据。数据写入之后,服务还需要根据写入是否成功,将结果返回给前端应用,这样前端应用可以把数据提交结果在界面上提示出来。
前端技术框架
iVX
的前端核心框架为web应用,主体使用
react架构
,部分内部模块使用了自研的对象驱动引擎,并引用了
pixi.js, three.js
等画布渲染库。同时,web应用可以通过不同的打包方法生成其他类型的应用,如下图所示:
后台技术框架
iVX的后台程序,可以直接发布在iVX公有云上运行,也可以导出部署至其他服务器环境。其详细架构如下图所示:
一个iVX的后台应用,从逻辑上分成4个部分:
- 服务请求处理层,负责处理http请求,微服务路由,生成证书等工作,其程序代码由GO语言实现,在iVX公有云上,这一部分部署在AWS的容器服务上。
- 服务逻辑层,负责应用服务逻辑的实现,即我们在服务事件面板中定义的所有逻辑。这一部分程序代码是目前是js,在iVX公有云上,由AWS的无服务器函数计算来运行;
- 后台资源接口层,负责提供各种后台资源的调用方法,比如数据库的操作方法,文件的上传方法,这一部分程序代码也是由GO语言实现,和第一层一样,公有云上部署在AWS的容器服务上;
- 后台资源,即各种数据库、缓存、文件等资源,iVX并不直接提供这些资源,因此在上图中用灰色表示。在公有云上,各种资源主要使用AWS的分布式云资源。
4、iVX适合什么样的用户?学习周期?
iVX适合怎样的用户
iVX的学习并不需要什么特别的技术和基础,只要你觉得自己的“逻辑能力”还不错,应该都可以很好掌握这门编程语言。总体来说iVX适合(但不限于)以下用户使用:
- 想要学习并未来从事互联网编程的人
- 想要转型互联网工作的人或学生
- 在校学生和老师(计算机相关专业、艺术设计相关专业、理工科等)
- 初级中级的前端或后台开发者
需要学习多长时间?
iVX
毕竟是一门编程语言,有很多组件以及完整的编程体系,不可能
“看半小时”
就学会了。
iVX
的学习一定需要一定的投入,但这种投入是非常有意义的,很有可能未来的很多年里面iVX都会成为你学习工作的得力助手。
学习时长内部测试:
- 计算机相关专业或从事过1年以上编程工作的人,2周左右可以基本掌握iVX并进行项目开发;
- 从来没有编程经验的理工科专业毕业学生,2个月左右可以基本掌握iVX并进行项目开发。
5、iVX总结
iVX相较于传统的编程方式的优势可以总结为
四快
快速学习
逻辑上其实很简单,因为iVX没有任何语法需要学习,图形化的操作使整个开发步骤也大大简化,因此iVX学习者只需要从逻辑和具体功能(或架构)入手,就可以完成开发。
快速开发
根据用户熟练程度和使用规模,
iVX
可以数倍提升开发效率,往往以前10个人干3个月的工作,使用iVX后,现在3个人不到一个月就能完成。
快速运行
这一点得益于
iVX的核心CORE部分
,包括编译和语法生成翻译,以及内部各种核心算法,都是真正的
“大神级程序员”
,因此,开发者使用iVX开发的时候,就相当于获得了这位“大神”的加持,因此生成的代码质量也能得到保障。
快速维护