天天看点

云原生IDE:iVX首个通用且强大无代码开发平台

云原生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多人在线游戏开发(一般采用专业游戏开发引擎制作)。
云原生IDE:iVX首个通用且强大无代码开发平台

3、iVX系统架构

应用架构概览

一个iVX应用,主要由两个部分构成,前台部分和后台部分:

云原生IDE:iVX首个通用且强大无代码开发平台
  • 前台部分,对应前端应用程序,负责客户端界面的展示与交互。在iVX中,前端程序支持多种类型,包括web应用,小程序,原生app,与windows exe应用。在运行时,每个用户都会在本地客户端下载一份前端程序来运行;
  • 后台部分,对应服务端程序,部署在后台服务器(集群)中,负责后台数据与通信逻辑的处理。后台部分进一步包括后台资源接口和服务逻辑:
  • 后台资源接口,主要包含各种数据库,api,缓存,文件等后台资源的操作接口,每一种接口都对应iVX中的一个后台组件。注意,iVX仅负责生成应用程序,并不提供后台资源本身。因此,要运行iVX的后台程序,需要额外接入后台资源,比如mysql数据库,redis等等。在iVX公有云上,这些资源已经自动接入,因此可以iVX应用可以直接发布运行;如果选择私有部署,则需要自行准备资源,详见私有部署相关文档;
  • 服务逻辑,主要包含服务组件,是前端程序和后台资源进行交互的“中央枢纽”。其提供了一个HTTP的服务接口(REST API),可以供iVX前端部分应用或其他第三方应用来调用,同时,可以直接操作各种后台资源,并定义内部处理逻辑。

举一个简单的🌰,假设有一个收集用户信息的应用,其结构如下图:

云原生IDE:iVX首个通用且强大无代码开发平台

左侧用户界面,即前端应用,其运行在用户的浏览器端,负责收集用户填写的信息;右侧的数据库表,即后台资源,负责存储所有用户提交的信息;中间的提交服务,即后台的服务层,负责监听前端应用发送过来的请求,对请求的数据进行处理,比如,判断一下提交的数据是否合法,然后调用数据库表,写入数据。数据写入之后,服务还需要根据写入是否成功,将结果返回给前端应用,这样前端应用可以把数据提交结果在界面上提示出来。

前端技术框架

​iVX​

​​ 的前端核心框架为web应用,主体使用​

​react架构​

​​,部分内部模块使用了自研的对象驱动引擎,并引用了​

​pixi.js, three.js​

​等画布渲染库。同时,web应用可以通过不同的打包方法生成其他类型的应用,如下图所示:

云原生IDE:iVX首个通用且强大无代码开发平台

后台技术框架

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

云原生IDE: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学习者只需要从逻辑和具体功能(或架构)入手,就可以完成开发。

快速开发
云原生IDE:iVX首个通用且强大无代码开发平台

根据用户熟练程度和使用规模,​

​iVX​

​可以数倍提升开发效率,往往以前10个人干3个月的工作,使用iVX后,现在3个人不到一个月就能完成。

快速运行

这一点得益于​

​iVX的核心CORE部分​

​​,包括编译和语法生成翻译,以及内部各种核心算法,都是真正的​

​“大神级程序员”​

​,因此,开发者使用iVX开发的时候,就相当于获得了这位“大神”的加持,因此生成的代码质量也能得到保障。

快速维护