iVX低代码平台概述

1.iVX是什么?

iVX——首个通用无代码开发平台

通用

指平台的通用性,几乎适合所有的应用开发场景和支持在所有操作系统中运行。
支持的操作系统:浏览器WebApp、Android/iOS、小程序、小游戏、钉钉、Win/Mac/Linux、也支持最新的国产鸿蒙。
支持的开发场景:支持中大型复杂应用(基于无代码的逻辑编排引擎),电商、大数据应用、表单、工作流、Bi、任务流、OA系统、工业物联网、游戏、网站、视频应用、IM等等。
**限制条件:**1. 一般不建议用iVX来直接实现大型算法(建议封装之后在iVX内部调用);
2. 不支持操作系统级软件的开发,例如杀毒软件(iVX主体是基于Web开发环境);
3. 大型3D的MMORPG多人在线游戏开发(一般采用专业游戏开发引擎制作)。

无代码

iVX提供了“原子级”组件系统,支持用户“自定义组件”,并且配合图灵完备的“逻辑编辑引擎/面板”,就可以实现几乎所有应用的前后台“无代码”开发。

开发平台(应用可移植特性)

iVX所开发的应用,都可以脱离iVX独立部署。也就是说,对于开发者而言,iVX就是一个“代码生成器”。和手写代码无差别,可以脱离iVX平台任意部署,而大多数其它“低代码”平台不具备这种“开发平台”属性,只能在平台内部使用。

首个

我们还未发现国内外有类似的平台出现,现阶段做的最好的Mendix/Outsystems等也只能称做“低代码”开发平台(还做不到“复杂逻辑的无代码表达”);而国内很多产品,由于不具备生成可导出部署独立应用的能力,还不能算作“开发平台”。

iVX的三大属性和两大能力

在这里插入图片描述
iVX的语言属性

语言属性:iVX几乎就是一款“可视化的编程语言”,并通过“原子组件”+“逻辑编排”,生成中间代码,中间代码最终被iVX编译器,编译成“前端JS代码”和“后台代码”。现阶段,后台代码只支持JavaScript(Node或Deno中运行),后期会支持生成Java、Python、C#等代码。同时,iVX也具备编程语言的开放性,虽然iVX可以实现“无代码编程”,但是为了广大现有程序员的需要,iVX支持“嵌入自定义函数”“自定义SQL代码”“自定义CSS代码”等代码插入功能。
另外,这种语言还是“前后一体”,以及全中文的。“前后一体”的语言设计使得程序员在学习iVX后,具有更大的使用维度,不会再收到前后台开发语言不一致的限制,过渡也更加容易。而“全中文”则代表大部分文档和资料都会以“中文”形式存在,为“英文不太好”的广大中国开发者提供了更多的可能和更快速的学习环境。

iVX的云属性(云原生)

云属性:iVX实现了“应用程序”和“运行资源”的分离;也就是iVX只帮用户生成可高效运行的程序代码,而将程序所需的后台资源(各种DB、函数计算、对象存储、CDN等)和程序本身分离,也就是说如果iVX生成程序放到AWS云上,那就使用AWS的资源,各种并发和计算能力依赖于AWS的能力,同理,如果放到阿里云上,则依赖阿里云自身的能力,当然用户也可以放在自己的机房中进行独立部署,这个时候后端并发能力,则依赖于用户自身的机房设备环境。

iVX的工具属性

工具属性:iVX自带IDE(整合开发环境),开发这登录网页之后,直接进行项目的“开发”、“调试”、“发布”、“测试”、“运维”、“二次开发”等操作,也就是说直接在一个页面完成“应用的全生命周期”管理,最大限度缩短开发和运维流程,从产品上实现“DevOps”。并且,直接生成可导出的前后台代码,开发者不用担心会被平台绑定。
并且整个开发过程,也仅在一个界面中完成。包括:“应用开发”>>>“应用调试”>>>“应用发布”>>>“二次开发(运维)”

代码生成能力

对于一些写惯了代码的程序员来说,可以直接就把iVX作为一款“代码生成器”。无论是前端还是后台代码,iVX都可以编译后快速生成。过程中,iVX会先生成AST抽象语法树,然后再根据AST生成对应的代码。如果是其它应用(例如微信小程序),会编译成对应的微信小程序原生代码。
注意,虽然iVX可以导出类似Javascript这样的代码,但是非常不建议开发者直接去修改这个代码本身,因为一旦修改之后,就再也无法导入到iVX的IDE系统进行二次开发了。

“图灵完备”的逻辑能力

iVX形成了一套“自洽”且“图灵完备”的逻辑系统,并且在前后台的逻辑处理中都复用了这套逻辑系统。这是一种基于“触发式”的面板系统,并且可以线性扩展,相比Mendix的基于“流程图”的逻辑编排系统会有一定优势。

在这里插入图片描述
优势主要表现在“对于分支逻辑的完备表达和可读性冲突的问题的解决上”。

在这里插入图片描述

2.iVX有什么用?

iVX试图解决什么问题?

  1. 有没有可能10倍提升应用和系统的研发效率?并天然集成“云原生”的方案?
  2. 有没有可能10倍降低编程语言学习门槛?
  3. 有没有可能10倍降低企业内编程产品的运维成本?
  4. 有没有可能用自动生成代码的方式,大幅提升工程师代码质量?
  5. 寻找应用开发的最短路径,为AI编程创造可能

总而言之 就是探索程序开发的最短路径

在这里插入图片描述

表面上看,iVX就是一款IDE(集成开发环境),但是由于可以编辑“任意逻辑”,因此也是一门“语言”;更为重要的是这种语言,并不是类似高级语言“Java”“Python”“C/C++”…中某一种或新增一种高级语言,而是一种“新一代”的语言,是独立于现有所有高级语言的语言。而这种语言的特征就是“无代码”和“可视化”!
当然iVX也不是凭空产生的,开发过程中必须依赖一种或几种现有的高级语言。iVX在前端和中台就使用了JavaScript语言并支持抽象语法树(AST,支持将前端中台再编译成任何其它语言类型),后端连接云计算IaaS资源层,使用Go语言打包成一个类似DLL的包(如下图)

在这里插入图片描述

3.iVX研发目标是什么?

前端部分

前端调试工具;
滑动验证等综合用户登陆验证的支持;(已实现)
更快速导入自定义组件,通过现有组件库和相关文档的方式导入;(非代码形式)
对钉钉系统更好支持;
工具组件跨平台支持的重构;(类似flutter或Taro)
支持区块链形成组件;
支持硬件相关接口,形成组件;(例如蓝牙)
组件减肥;
加载优化;
前端URL路由;

中台/后台部分

将后台资源和中台逻辑拆分开;(微服务管理;数据中台管理;)
引入“lambda函数计算”;(同时,支持各种语言的SDK)
引入“S3”对象存储;
引入“MQ”;
引入“图数据库”;
自动生成应用架构的功能;(数据+服务+页面);
DBO层支持SQL命令控制重要数据库类型,包括Oracle SQLServer等;
类似中间件功能的支持;
流程图/脑图绘制组件;(动态绘制能力)
完整支持iot;(直接操作,支持iot网关进行操作)
本地硬件支持Wi-Fi蓝牙控制;(Arduino 树莓派)https://home-assistant.cc/
爬虫组件(支持Studio开发)
AI相关接口形成组件;Matlab+sage maker(参考https://ryven.org/)基于流程的数据可视化操作

4.iVX能开发哪些什么应用?

WebApp(通过Web浏览器封装,可以支持各种小程序,Android/iOS App,Win/Mac/Linux App)
原生微信小程序(iVX专门针对微信小程序,单独制作所有相关组件)
原生微信小游戏(iVX专门针对微信小游戏,单独制作所有相关组件)

通过iVX工作台,进入开发的IDE界面,如下图所示:
在这里插入图片描述

每一种类型的应用的基本开发模式是一致的,但有着不同的组件集与基本配置设定。因此,应用一旦创建后,就不能改变应用类型,我们需要在开发之前,决定需要创建的应用类型。

5.iVX工作原理是什么?

简而言之就是以下几个方面:

原子组件(保证语言的完备性)
事件面板(逻辑编排能力)
形成完备的中间语言(支持AST抽象语法树)
支持各种目标系统的编译器

当然这是简单罗列的 有兴趣小伙伴可以看文末有跳转学习电梯哦

6.iVX系统架构

一个iVX应用,主要由两个部分构成,前台部分和后台部分:
在这里插入图片描述
前端技术框架

iVX的前端核心框架为web应用,主体使用react架构,部分内部模块使用了自研的对象驱动引擎,并引用了pixi.js, three.js等画布渲染库。同时,web应用可以通过不同的打包方法生成其他类型的应用,如下图所示:

在这里插入图片描述
后台技术框架

iVX的后台程序,可以直接发布在iVX公有云上运行,也可以导出部署至其他服务器环境。其详细架构如下图所示:

在这里插入图片描述

7.iVX极速学习电梯

小伙伴们有对iVX感兴趣并且想要深入学习的可见此处:iVX深入学习

Logo

华为云1024程序员节送福利,参与活动赢单人4000元礼包,更有热门技术干货免费学习

更多推荐