关于iVX平台实现的总体技术栈【低代码/无代码、可视化开发语言】

  • Post author:
  • Post category:其他


iVX刚推出的时间不长,现在还处于公测阶段,个人用户和工具使用都是免费的,应用处于运营阶段才收费。

总体来说(如下图),相当于“一款零代码可视化编程语言”+“IDE的集成开发环境(自带编译器)+“配套云端IAAS资源”

可以实现:一站式研发、一站式部署、一站式维护的完整的在线开发体系。

iVX平台整体

一、“前后台”一体

前端和后台的能力都很强大,支持中大型各种应用的开发,同时支持各种目标平台的应用。


应用场景包括:

  1. 企业内部系统(OA HR CRM 文档协作 BPM工作流引擎 表单引擎 Bi引擎 ERP 任务管理系统 各种网站系统 …)
  2. 工业及物联网iot系统(MQTT相关使用 组态应用 大屏幕应用 MES iot各种系统…)
  3. 电商系统(支持各种复杂的电商逻辑…)
  4. 智慧城市/园区/展厅/…超大屏幕
  5. 中小型游戏开发(纸牌、灵活、视频类、益智类、动作类…)不建议做MMORPG
  6. 营销应用(H5、网站)


支持的操作系统包括:

  1. Web云原生
  2. 微信小程序/阿里系小程序/字节系小程序
  3. Android/iOS
  4. Win/Mac/Linux桌面应用

二、Web IDE,实现“云研发”——一站式应用“全生命周期管理”

简单说就是,登陆网页就可以使用iVX的开发IDE(集成开发环境),不用下载安装任何软件插件,所有开发的“逻辑”,需要的资源,测试,部署…都在网页里面完成。

只要打开一个网页,就可以完成“应用开发”>>>“应用调试”>>>“应用发布”>>>“二次开发(运维)”

这是一个真正的IDE,类似(微软)Visual,Eclipse等。

这里需要说明的,由于iVX是新一代开发语言,这种语言的“原代码”就是一种“逻辑构成”,类似AST“抽象语法树”,而不再是一行行“代码”。而这种AST会直接编译成前后台的可执行文件。

三、iVX“图灵完备”,具有自身的编译器,是一种真正的语言

“图灵完备”是一个难点,如何用一套新的方式来表达“程序逻辑”?iVX采用的方式是“触发式的逻辑的编辑面板”,如下图

四、iVX是一套完整的开发体系

Debug、多人开发、版本管理,强大的后台云端资源的支持,iVX全部都具备。

值得一提的“多人开发”的机制,iVX创建了一套类似git的产品,这套产品之所以说类似git,主要是git是基于“一行行代码的文本的”多人开发协作管理系统,而iVX是基于对象的,所以需要独立开发一套全新的适合iVX自己的git系统出来。

五、iVX将建立完整的自己语言生态

主要包括以下四个生态:

  1. 组件、小模块生态(组件是开放的,iVX开发者可以通过JS代码的方式自己编写,插入)
  2. 模版生态(包括单个模版和组模版,各种应用和场景)
  3. 外包生态(项目提供方和开发者/团队在该平台自由选择,通过iVX直接开发,iVX负责平太管理)
  4. 云市场(类似阿里云市场,钉钉等)(这部分还待开发)

六、iVX对程序员友好

  1. iVX编辑内部支持内嵌函数,JS语法;例如可以对数据进行自有算法处理;
  2. iVX体系开放,支持开发者引入自己编写的“组件”,需要按照iVX规定的格式(map)即可;

七、iVX对现有数据资源和服务无缝对接

  1. 支持前后端API的形式对接,支持API在线调试;
  2. 支持直接接入MySQL,并控制;(用户名+密码);
  3. 支持DBO,写SQL语法来对接现有的数据库;(Oracle/ SQL Server/MySQL…)

八、iVX支持应用导出私有化部署

iVX网站有详细文档,请参考

导出部署

iVX前端技术栈

  1. React Core:前端生成代码核心,以及前端IDE都是通过React实现的;
  2. Vue的框架:相当于是用React将Vue的框架实现了一遍,将Vue的简洁+React的高效融为一体;
  3. 3D组件:three.js,3D实现基于three.js,能实现强大的3D在线编辑功能,可能控制对象旋转、运动、镜头等;能实现720云相关效果;
  4. Pixi.js:物理引擎实现;(类似egret)
  5. 基于对象的Git:【iVX自有专利技术】
  6. 支持自定义组件导入:根据Map格式,自行代码开发或导入npm包,支持React和Vue组件的导入
  7. 图标组件:Echart
  8. 富文本编辑器:Quill
  9. 全景组件:Krpano
  10. 默认UI组件:antD

iVX后台技术栈

  1. Go:后台开发语言;
  2. Go-Micro:微服务架构;
  3. 中台业务逻辑编译:node.js + 【iVX自有专利技术】
  4. AWS IaaS:后台能力集成
  5. 腾讯WebRTC

iVX不适合做的事情

  1. 直接用iVX实现比较复杂的算法(正确的姿势是把算法封装到一个对象中,或者直接通过API的方式进行调用,而不是直接通过iVX实现),技术上可以,但是没有必要,可能更麻烦;
  2. 不要用来做MMORPG等超大规模的游戏;
  3. 复杂硬件对接或协议对接;(现在iVX支持WebSocket,支持http/https,支持MQTT协议访问,特别是对MQTT做了重点支持)



版权声明:本文为troymeng原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。