写点什么

从效率到创新:iVX 驱动的大型企业研发体系升级路径

作者:代码制造者
  • 2025-04-07
    四川
  • 本文字数:8023 字

    阅读完需:约 26 分钟

从效率到创新:iVX 驱动的大型企业研发体系升级路径

iVX 的发展历程

iVX(2007 年~2024 年),已经经历了 17 年的迭代和研发,无论是从自研“图形化编程语言”,还是自研 IDE 的角度来说,在国内都是首创,而且已经经过了长期迭代和中大型企业级应用的验证。2022 年 iVX 正式上线运营(经历漫长而艰辛的技术研发和产品迭代),今年 2024 年 iVX 已经迭代到 5.0 版本,各项功能和技术指标已经符合设计预期,将进入市场推广阶段。

iVX 已经拥有超过 30 万开发者和超过 150 万个应用上线,应用涵盖所有行业和几乎所有场景(企业核心产品开发、企业内部管理系统、MES 工业互联网、ERP 系统、OA/CRM/HRM、企业网站、电商平台、企业营销、IM/客服平台/论坛、文档协同、AI 知识平台...),并支持 WebApp、小程序、Android/iOS/Windows/Mac/Linux 等原生应用开发和打包。

 


iVX 的版本迭代重大节点

 

iVX 产品定义

iVX=“图形化编程语言”+“IDE”+“低代码开发平台”



iVX 是一种图形化编程范式的新型编程语言

 

iVX 是对研发方式和过程的一种本质创新,探索应用开发的最短路径,并且和现有的企业级代码研发体系无缝衔接。

iVX 的三大属性

一、编程语言属性(→程序员友好)

iVX 是一款面向开发者设计的产品,通过 iVX 开发出来的任何应用,都可以直接生成完整可编译的“前端+后台”的全栈代码,而且前端的框架和后台的语言还提供多种选择。这使得 iVX 成为一种“更高维”的编程语言,并且从产品层面直接“抹平了多种编程语言之间的差异”。

 


iVX 和其它编程语言关键要素对比

 

由于 iVX 直接生成代码的能力,以及可以在整个 IDE 中各种颗粒度位置嵌入代码,使得 iVX 对程序员非常友好,是程序员高效开发的利器。



iVX IDE 中支持灵活嵌入代码

 

另一方面,iVX 具有“图灵完备”的逻辑表达面板,使得开发者即使不适用任何代码,也能快速开发出各种应用。

因此,我们可以简单理解为“iVX 和代码的关系为:充分非必要”。

 

另外,iVX 可以生成高质量的可读可写可编译的前端和后台完整代码,对于企业来说,代表该产品不会“锁定”企业,保障企业的研发安全和研发独立性。在最坏的情况下(例如产品停止迭代和不提供服务...),企业依然可以使用生成的代码继续开发和迭代,且成本不高于原来代码开发方式。

 

二、IDE 属性(→用户友好)

设计一款好用的 IDE,是一件非常繁琐,且需要长时间大量用户进行迭代的工作,现今常用的 IDE 无论什么领域,基本上都是 10 年以上的迭代周期,才能保证产品本身的可用性。

由于很多原因,国内几乎没有 IDE 的生产厂家,市面上很多产品从功能上看已经有了,但是都是多款开源产品强行拼接的结果,最终导致产品“功能分散”,越是往深迭代,成本和难度越大。客观上,也给用户无法带来“一体化”的使用体验。举个简单的例子,对于通用的应用功能的开发,使用 iVX 可能只需要 100 次操作,而且中间无需等待,5 分钟可以完成;如果产品设计不好,功能分散,中间有很多不连续的操作,可能需要 500 次以上操作,需要 2 个小时才能完成。

由于 IDE 原本厂商很少,因此有可能这一点没有因此用户的足够重视,但是从很多项目的实际开发调研来看,IDE 在整个加速研发过程中,非常重要!

 

三、平台属性(→企业友好)

iVX 可以协助企业构建“技术中台”,以及一个完整的“应用快速开发迭代的平台生态”。

 


iVX 构建的企业应用开发流程

 

iVX 构建了完整的企业应用从:

“应用生产→应用市场→应用配置→最终使用”的完整链条。并且实现了“工作状态和工作人员的配对”,实现各类人员在擅长的领域和场景下工作,而不会出现“研发人员在应用配置态工作或配置人员在研发态工作”的尴尬场景(当前低代码平台多数都是这样做的,参考下图)。

 

iVX 站在企业角度,构建企业级的快速应用开发/运维解决方案。

为了让企业级用户更好理解,iVX 将企业应用的开发和运行分成三种状态,以及开发和使用应用的三种用户。

 

三种用户分别为:

程序员:程序逻辑能力强;主要设计应用的整个流程,以及前端交互页面和后台的管理界面。

业务配置人员:业务理解深入,内部人员熟悉;主要配置开发好的应用,方便最终用户使用。

业务最终用户:无编程需求;只需要完成和个人工作相关的部分的输入和填写。

 

三种开发和运行状态分别为:

开发态:设计和开发应用的过程,通常在开发 IDE 中完成(例如使用 iVX IDE);

运行态 A:属于运行时,配置各种企业应用(类似 SaaS 工具类产品),在配置界面中操作然后发布给最终用户使用;

运行态 B:属于运行时,作为最终数据填写和提交的界面,属于普通员工的工作节点。

 


平台和三种状态/三种用户的关系

 

从上图可以清晰的看出,iVX 很好地处理了下面三者的对应关系:

开发态 ⇠⇢ 程序员

业务配置态 ⇠⇢ 业务配置人员

业务运行 ⇠⇢ 业务最终用户

 

使得产品从设计上和逻辑上都更符合用户的使用习惯和对用户的能力要求。

并且由于,所有应用都是通过 iVX IDE 开发和生成,因此,开发者可以获得整个应用的完整代码。例如开发者开发出的“工作流引擎”包括引擎本身的代码也是自动生成的,包括可开发者具有完整的全栈代码,保持开发者的独立性。

 

iVX 的设计理念

理念一:面向组件编程(一切皆组件)

iVX 作为一种生产力工具,在整个产品设计中,核心需要解决这两个问题:

一、“开发快”;

二、以及“零背景知识(学习快)”

而这两点都需要一个重要的方法就是“面向组件编程”,一来组件可以做很好的知识积累和沉淀,也方便管理和共享,同时也可以完成“代码隔离”的功能,实现“零背景知识”编程。

 

在 iVX 中,可见对象是组件、变量是组件、容器是组件、事件是组件、服务是组件...后台的数据库是组件...云计算产品(可以通过代码控制的)通通都是组件。通过这种独特的设计,用户完全不需要代码知识也可以进行开发操作(即完成组件对代码的隔离)。

 

而对于懂代码的开发者,我们也提供一个“私有域”让他们可以灵活发挥已有的代码能力,实现“公有无代码域”和“私有低代码域”两边互不干扰。

 

理念二:去掉程序语法,保留程序逻辑

从信息学角度讲,应用中表达的逻辑或逻辑过程,是无法被压缩的。简单说就是“如果代码中需要一个 if,这个 if 条件就是需要,无论怎么样都是不可以被去掉的,不然就完不成这个逻辑判断”。因此,要想开发快,只能不停做“抽象⇢封装⇢再抽象⇢再封装...”,把既有知识在组件的封装中进行沉淀,以达到快速开发的目的。

 

理念三:简单且灵活

这里面的简单,包括“思维简单”和“操作简单”。

“思维简单”:追求最直接的逻辑过程,显而易见,容易记忆和理解是我们优先考虑的。

“操作简单”:指我们在设计产品时,简化所有无必要的操作和过程,只把最核心的操作抽象出来,以最大限度提升工作效率。

甚至如果这两者产生冲突的时候,我们更关注“思维简单”。

 

灵活,主要是指功能强大,都能实现。我们并不追求“多条路径”去实现同一功能,相反,我们认为“最好提供一条显而易见的”人人都能理解的路径更好。

 

iVX 最终实现了:工具即语言,逻辑即代码,产品即架构,研发即运维。

 

通过 iVX 实现应用快速开发

参考阅读《用 iVX 开发到底为什么会快?相比代码开发快在哪儿?

https://www.zhihu.com/question/462968444/answer/1922093013

阶段一:从高保真设计 ⇢ iVX IDE

方案一 URL 网址/网页截图 AI 模型生成 iVX IDE 前端静态组件




方案二 从 Figma 到 iVX IDE

iVX 在 Figma 中提供了组件,只要在 Figma 中设计,就可以轻松实现其设计的高清图直接导入到 iVX 环境,并和所有组件对应上。



方案三 通过模版创建或通过小模块创建

第二阶段:开发过程

方案一 通过 iVX 模型快速构造应用(高效模式)

模型是 iVX 可重用里面非常核心的一层,在我们内部有设计了一个新的连线 IDE 工具来进行具体模型的操作。如果把 iVX IDE 里面的组件和小模块看作是横向的扩展构件的话,那么 iVX 里面提供的模型就是纵向的构件。iVX 的模型层使得整个 iVX 的颗粒度分层更加合理,合作更为高效。

概括来讲可以分成以下几步:

1 拆分模型:我们通过几种方式,将模型抽象出来。例如,数据表的数量和其“io 类型”;或者按功能进行分类。这样我们可能可以把所有常见的应用功能拆解成十几个模型,每个模型包含:数据、服务、前端变量、调用方法;

2 通过连线的方式—缝合多个模型:具体来讲就是后端的“数据缝合”,以及前端的“方法缝合”。

模型的具体原理和操作详见:https://shimo.im/docs/vVAXMOjm09iYZe3m

 

方案二 通过组件+面板模式,快速开发前后台应用(普通模式)

在逻辑配置时,iVX 采用了独家的“面板”配置模式,通过实际证明,这种方式的效率远远高于画流程图模式。

 


iVX 前端逻辑开发界面(面板模式)

 

相比其它的逻辑编程模式,iVX 首创的面板模式会有明显的效率优势,可以参考下面文章。

参考阅读:《图形化编程》https://www.toutiao.com/article/7323062474751509032/?channel=&source=search_tab

值得注意的是,iVX 后台集成了云计算组件,各种类型数据库、缓存 redis、Socket、MQ、拦截器、定时服务等都是可以成为 iVX 的后台组件,在 iVX 部署的时候,自动支持 Docker+K8S,以及权限管理、日志服务、版本管理等;同时支持在后台支持添加 JS 函数,使得后台能力更加灵活。

由于 iVX 筛选出通用的开源的云计算产品作为 iVX 后台的基础组件,因此 iVX 开发人员在使用 iVX 开发应用后端的时候,通常只需要关注后台组件的使用,以及业务逻辑的实现,而无需再去关心并发、安全,以及各种后台技术细节。

 

方案三 LLM 辅助模型快速开发

通过大模型 LLM 来操作一些确定的模型,并生成 iVX IDE 对应的 AST 代码。例如,操作增删改查,通过自然语言描述,来操作固定表格数据的增删改查。

 

第三阶段:测试环境⇢商店⇢部署生产环境

iVX 可以最大限度简化整个研发过程,也能简化人员配备。

详见后台部署文档和架构文档。

 

iVX 整体设计更适合 AI 训练

现有的大模型编程能力受限,主要是由以下的几个原因造成的:

1 自然语言本身并不适合用来描述复杂的编程问题

自然语言本身不够精确,另外,对于复杂问题需要输入非常大量的 token,这些 token 的产生主要还是靠人。例如,描述一个复杂场景的数据库操作,可能 10 万 token 都不一定可以说清楚,这个问题不太容易解决。

2 代码编程语言太复杂

当然有上百种编程语言,加上自身复杂的语法,以及各种框架、架构、规范、工具,构造了一个超级复杂的“语义空间”,即便是大模型,即便是所有的代码全部训练完,大模型也很难学会构造应用的过程。

3 当然的代码编程语言(高级语言)不容易建立因果反馈机制

由于代码构成的程序,要完整无错才能编译运行,无法快速反馈建立“因果关系”,因此模型很难学习代码本身的运行机制。现阶段猜测很多学习都是通过程序的备注完成的,因此还是会有很多错误以及无法真正理解程序的原理,由于“因果反馈”太慢,也很难用到“强化学习”的方法来进一步完善模型。

 

iVX 构建了一个从自然语言到代码语言的中间桥梁——图形化编程语言

 


当然已经基本完成 iVX 整体研发,IDE 和编译器/解释器等都已经完备,已经完成“图形化编程范式”⇢“代码 Code 编程范式”的自动过程(上图橙色箭头)。当前,正在着手进行“应用代码”⇢“iVX IDE”以及“自然语言”⇢“iVX IDE”(上图蓝色箭头)部分的训练工作。

 

iVX 内嵌微型的结构化编程语言更适合机器学习(微型 AST)

iVX 是一种更上维的编程语言(自带 IDE 的图形化编程语言),但是由于采用“面向组件编程”+“极简语法”,因此只具有很小的“语义空间”,但是这个语义空间对于应用的开发则是完备的。

 


iVX 具有一个更小的语义空间(但完备)

 

在通过模型学习 iVX 编程的时候,意味着更少的 Token 数量,更小的模型参数,更快的训练速度,更少的训练和推理资源。举个例子,现在通用 LLM 训练时,划分的 token 数量现在基本都大于 10 万,有些更大,而 iVX 标准编程语料对应的 AST,划分的 token 数量不会超过 1000(主要包括常用的组件以及其内部的属性和函数,加上属性和函数可以重用,因此 Token 数量可以控制在很小范围)。加上各种组合的复杂度也大大降低,因此,iVX 训练编程模型时,会比高级语言训练编程模型要简单很多,训练资源应该不到高级语言自动编程模型资源 1/10000,而且推理成本也大大降低。

 

iVX 自有“IDE”+“快速预览”可以生成海量训练数据(可泛化)

在一个模型训练过程中,训练数据的获取“至关重要”,由于 iVX 自带 IDE,因此可以在内部自动生成海量的模拟数据(程序数据),而且这些程序数据是可以被快速观测和反馈的(开发出应用可以瞬间预览),这样就可以快速生成一个包含因果关系的“Pair”(数据对),用于机器学习。

 

大量的可用训练的数据的生成和定制生成,为 iVX 自动编程模型提供强大的训练数据支持,这也是一般的自动编程模型所不具备的。

 

我们可以试想一下,当前的高级语言编程模型,如果没有编写完成,编译和运行都会报错,无法预览,因此无法“阶段性”建立“程序”和“结果”的“因果关系”。这使得当前高级语言再做自动编程模型时,“因果”反馈异常吃力,我觉得这也是阻碍当前大语言模型很难在编程能力上有质的突破的重要原因。iVX 采用了面向组件的编程方式,几乎每一步操作,都是可以预览和反馈的,这一进步将有可能为自动化编程带来质的飞跃!

 

通过 iVX 构造的自动编程模型——本质是一个“翻译模型”

iVX 自动编程模型的设计,原则上不一定需要使用海量数据“预训练”大模型的方法,而只需要使用“Transformer”模型和/或“强化学习”模型就可以完成。模型设计上,就和“中文翻译英文”类似,甚至可能还要简单一些。而且这样的模型设计,基本上可以保证正确率应该在 95%以上。

 

过程如下图所示(Transformer 方法实现模型的示例):

 


iVX 基于线性“sequence”步骤也是一大优势

iVX 的整个开发过程,可以分解为一个完整的线性过程(一步一步)。例如:这个应用是通过 1000 步构成的,那么通过这个 1000 步的单步操作,就一定可以还原出这个应用。而且由于每一步都是可以拆分且和前面的步骤独立运行,因此,可以理解为 1000 步的应用,可以划分为:1;1+2;1+2+3;... ;1+2+3+...+1000;这 1000 个可以分别运行且逻辑相关的应用。这对强化学习会有很大帮助,关于这部分的使用我们还在进一步研发和模型设计中。

 

iVX 已经拥有海量应用开发数据(类似有自己的 github)

由于 iVX 已经拥有一个良好的开发者生态,且产品对个人用户是免费使用,因此有超过 150 万个应用通过 iVX 开发。这些应用开发数据无疑是 iVX 巨大的宝藏,方便用于各种研究很分析,也为 iVX 自动编程模型提供数据支撑。

 

iVX 可以快速使用 AI 模型的场景示例(难度由浅入深)

Screenshot-to-code(前端开发提效 30%~40%)难度 ★★

iVX 将网页图片直接还原成 iVX IDE 中的静态配置,包括前端的变量和可视化对象和容器组件,用户只需要再加入逻辑部分,即可完成前端页面的开发。

效果不低于:https://github.com/abi/screenshot-to-code

 

实现方式概要描述:

1 获取 iVX 应用前端中单页面数据,去掉逻辑部分,填充变量值,转换成固定样式;

2 获取大量单页数据,包含“iVX AST”和“生成网页截图”,然后使用 Transformer 进行训练;

3 将目标网址提取数据,转换成固定样式,并生成图片;

4 将目标网址生成图片提供给模型,生成对应 iVX IDE 中的前端组件和变量的组合。

 

自然语言生成 iVX 可选页面(产品提速 40%;前端提速 30%~40%)难度★★

通过自然语言描述,GPT4 接口提取关键字并转化为更复杂和专业的 Prompts,并通过这种 Prompts 来对我们现有的网页分类进行打分,并找出最相关的网页页面和模型。并可以在 iVX IDE 中打开。

 

实现方式概要描述:

1 提取现有的 iVX 应用页面,并做隐私去除和统一化处理,包括样式等;

2 通过 GPT4 或 Claude3 等接口,对网页做专业描述(要事先定义好获取的描述内容),并生成描述文件 A;

3 对一个新的需求,通过 GPT4/Claude3 接口根据定义好的描述维度进行描述,生成描述文件 B;

4 对比描述文件 B 和描述文件 A 的相似性,完成向量搜索,提取出相关对最好的一组页面供用户选择,并可以在 iVX IDE 中打开。

 

通过 LLM 实现 iVX 抽象模型层的自动化操作 难度★★★

iVX 抽象出一层模型,这一层非常容易用于二次训练,并通过基于自然语言的沟通来控制模型生成具体 AST 代码。

 

实现方式概要描述:

1 具体的模型和可能的操作组合,生成操作函数列表,把操作函数和自然语言的关键字关联起来;例如:增加表字段、删除表字段...把这种连续操作,形成操作的描述序列,其中操作函数为基础“Token”;

2 通过 GPT4 或 Claude3,将自然语言和这种描述序列对应,并进行微调,使得对于自然语言的输入,可以得到 iVX 对应的模型或模型组合的操作序列。

 

全应用自动生成(应用开发整体提速 95%)难度★★★★★

全应用描述需要大量的 Token,因此我们去掉和交互、逻辑以及数据无关的 tokens,通过模型计算出整个应用逻辑部分,并在 iVX IDE 中进行打开和调整。

 

实现方式概要描述:

1 抽象出所有的页面之间的(包括前端和后台页面)所有交互逻辑,例如点击、填写信息、跳转等,以及每一步交互操作之后,当前页面获取的信息(数据交互信息),最终形成一个完成的应用描述文件;

2 通过这个应用描述文件和具体 iVX AST 对应关系进行训练,获得一个较大型的翻译模型(Transformer);

3 这个过程中可以引入强化学习模型,来进行反馈训练,例如把一个应用拆解成若干个小型应用来学习;

4 提取一个应用的核心交互数据,并通过 AI 模型自动生成对应 iVX AST 并在 iVX IDE 中打开整个对应的工程文件。

 

iVX 的企业案例及其反馈

  1. 煤炭行业内部开发平台搭建

iVX 为集团客户提供了一套完善的无/低代码开发基础平台软件及部署,整套开发平台已接入客户的内部系统,实现单点登录,一键发布代码仓库,一键私有部署应用,多租户管理等功能。

通过 iVX 直观的图形化编程工具进行项目开发,简化传统或人工代码编写的要求、缩短项目开发周期、缩小项目开发团队规模,大幅提高煤炭行业 APP 开发、数据模型构建的效率。

开发、测试和部署生产流程



测试环境可由项目经理一键提交部署,生产环境由管理员审核后进行部署。



一键发布



一键部署




  1. 工程建筑行业-砼管理系统 

砼管理系统 项目介绍


https://shimo.im/docs/9030Jl4L2ec0Q7kw



使用 iVX 开发的砼管理系统系统具有很强的灵活性,敏捷性,实现了全部设计和交互效果。通过鼠标在右侧对象树点选可以查看每个模块的做法和所用组件,非常直观和方便,前端不需要写代码就能开发出来,做到了所见即所得。



iVX 的应用采用前后端分离架构,可以实现实现全栈开发,对于中大型复杂的应用,支持按功能模块拆分,开发者可自由调整应用架构。iVX 支持接入第三方接口、引入库、上传 sdk、对接外部数据库和资源,是目前集成能力最强、最全面的无代码、可视化编程平台。

 

  1. 工业物联网大型应用案例-农污处理与运维系统

基于物联网的农污处理与运维系统 项目介绍


https://shimo.im/docs/N2A1gOpLgaUJwpqD

整套系统都采用 iVX 通用无代码开发平台完成,单系统可以支持百万台以上的设备,同时处理亿级传感器回传参数(计算通过对接 AWS 云计算后台实现)。

该项目现主要用于广东省水污染检测和处理,预计实施完成后,处理节点在 2 万个以上,传感器回传数据单次达 5000 万条。系统包含实时报警与预警、大数据分析和处理、工单自动生成和分配、核心检测数据的可视化展示等功能。




大数据架构



该系统进行多次优化,目前农污项目在运行站点 51 个。若部署在 ivx 平台,运营成本缩减至约 1500 元/月;若进行私有化部署,运营成缩减至约 1200 元/月。

  1. Westudio 开发平台和 We 码应用(华为的 Welink 应用中心 iVX 方案)

基于 iVX 无代码开发工具部署的一套适用于轻应用开发的全新开发模式,让移动开发者通过简捷的做出各类企业应用、实现媲美 Native 级别的性能体验。

介绍文档:https://shimo.im/file-invite/RTfmytxSJHHnV6BTfHabCYvwbgVn6/ 





  1. 使用 iVX 开发的反馈和效果



iVX 关于信创、等保、国密、专利/软著的支持

iVX 全面支持信创和国密,等于提供了一款基于信创的编程环境和编程语言,为推动信创提供了技术底座。

参考阅读《有了 iVX,似乎信创问题迎刃而解》https://www.toutiao.com/article/7346176003288465939/?log_from=59c3d4121bee7_1711021686498

iVX 生成的所有代码和研发产品,均归用户所有,因此可以用于申请专利/软著等。

同时,iVX 通过等保三级安全认证。

用户头像

还未添加个人签名 2019-09-26 加入

还未添加个人简介

评论

发布
暂无评论
从效率到创新:iVX 驱动的大型企业研发体系升级路径_低代码_代码制造者_InfoQ写作社区