如果你也能认识并使用这个低代码平台,那真的是泰酷辣——iVX低代码平台
低代码技术起源是比较悠久的了,尤其是在近些年,随着技术的演进,低代码平台逐渐成为热门趋势。这些平台通过简化应用程序开发流程,减少手动编码,使非专业开发人员也能快速构建复杂应用。为我们的敏捷开发和高效生产贡献了,如今已成为企业数字化转型和创新的重要工具。
目录
- iVX低代码平台简介
- 通用
- 无代码
- 开发平台(应用可移植特性)
- 首个
- iVX低代码平台的工作原理
- 原子组件(保证语言的完备性)
- 事件面板(逻辑编排能力)
- 形成完备的中间语言(支持AST抽象语法树)
- 支持各种目标系统的编译器
- iVX的特点
- iVX的语言属性
- iVX的云属性(云原生)
- iVX的工具属性
- 代码生成能力
- “图灵完备”的逻辑能力
- iVX低代码平台的应用场景
- 应用方向
- 应用商店现支持场景
- 未来展望
- 研发纵向主线——黄色部分
- iVX Base
- iVX for Testing
- iVX+AI for code generation
- 研发横向拓展
- 平台建设和运营方面
- 结论
作为一个优秀的低代码平台就应该为大家所熟知,从而来服务我们的生产和生活,下面让我们一起来认识一下iVX低代码平台吧!
iVX低代码平台简介
先阶段对该平台最合适的定义:通用无代码开发平台
通用
指平台的通用性,几乎适合所有的应用开发场景和支持在所有操作系统中运行。
支持的操作系统:浏览器WebApp、Android/iOS、小程序、小游戏、钉钉、Win/Mac/Linux、也支持最新的国产鸿蒙。
支持的开发场景:支持中大型复杂应用(基于无代码的逻辑编排引擎),电商、大数据应用、表单、工作流、Bi、任务流、OA系统、工业物联网、游戏、网站、视频应用、IM等等。
无代码
iVX提供了“原子级”组件系统,支持用户“自定义组件”,并且配合图灵完备的“逻辑编辑引擎/面板”,就可以实现几乎所有应用的前后台“无代码”开发。
开发平台(应用可移植特性)
iVX所开发的应用,都可以脱离iVX独立部署。
也就是说,对于开发者而言,iVX就是一个“代码生成器”。和手写代码无差别,可以脱离iVX平台任意部署,而大多数其它“低代码”平台不具备这种“开发平台”属性,只能在平台内部使用。
首个
还未发现国内外有类似的平台出现
现阶段做的最好的Mendix/Outsystems等也只能称做“低代码”开发平台(还做不到“复杂逻辑的无代码表达”);而国内很多产品,由于不具备生成可导出部署独立应用的能力,还不能算作“开发平台”。
iVX低代码平台的工作原理
原子组件(保证语言的完备性)
内容量太大,细节非常多,花的时间也就多
iVX通过不断地对组件进行抽象和优化,实现了通用组件的构建,使得开发者可以基于这些通用组件快速构建各种应用,解决了构造通用应用的复杂性和挑战。
事件面板(逻辑编排能力)
逻辑编排能力是真的很难做好
iVX创造了一种基于"条件触发式"的非代码逻辑方式,使开发者能够零代码表达复杂逻辑。
事件编辑面板:iVX专门提供了一个事件编辑面板,用于方便地编辑和管理触发式逻辑,支持前端、中台和后台的逻辑编辑。
支持MySQL操作逻辑:iVX支持MySQL的所有操作逻辑,使开发者能够轻松处理和操作数据库。
形成完备的中间语言(支持AST抽象语法树)
该过程比较麻烦,细节颇多
iVX前端是使用React,生成的前端代码也是React的Core。中台采用Node.js,直接解析JS代码。后台和云端基础设施相连,采用了Go来架构,效率更高更稳定。
中间语言:iVX生成的中间代码是一种描述性语言,通过前端拖拽组件和配置事件后生成。
构造中间语言字典:构造中间语言类似于积累一个字典,这个字典会帮助将一个一个应用编辑成一篇“文章”。
支持各种目标系统的编译器
技术含量最高!
现阶段,支持iOS Android Windows Mac等原生应用和Web应用,编译器的复杂度可想而知,还要速度快,技术含量极高。
iVX的特点
iVX的特点可以简单概括为:
三大属性:语言属性、云属性、工具属性
两大能力:代码生成能力、“图灵完备”的逻辑能力
iVX的语言属性
- 可视化的编程语言:通过"原子组件"和"逻辑编排",生成中间代码,再由iVX编译器编译成"前端JS代码"和"后台代码"。
- 多语言支持:目前支持JavaScript(Node或Deno中运行),未来将支持生成Java、Python、C#等代码。
- 开放性:支持嵌入自定义函数、自定义SQL代码、自定义CSS代码等,满足现有程序员的需求。
iVX的云属性(云原生)
应用程序与运行资源分离:iVX仅生成可高效运行的程序代码,后台资源分离,程序可部署在不同云服务商的环境,充分利用其并发和计算能力。
iVX的工具属性
- 自带IDE:提供完整的开发环境,开发者可以在一个页面内进行项目的开发、调试、发布、测试、运维、二次开发等操作,实现"应用的全生命周期"管理。
- DevOps实现:缩短开发和运维流程,从产品上实现"DevOps"理念。
可导出代码:直接生成可导出的前后台代码,开发者不用担心会被平台绑定,自由选择部署方式。
代码生成能力
-
iVX作为代码生成器:iVX可以作为一款便捷的"代码生成器"。无论是前端还是后台代码,iVX都可以编译生成,并且支持生成微信小程序等特定应用的原生代码。
-
AST抽象语法树:iVX在生成代码时,先生成AST抽象语法树,然后根据AST生成相应的代码。
“图灵完备”的逻辑能力
- 前后台复用逻辑系统:iVX在前后台的逻辑处理中复用了同一套逻辑系统,确保逻辑的一致性和高效性。
- 基于"触发式"面板系统:iVX采用基于"触发式"的面板系统,可以线性扩展,使逻辑的编排更加直观和简洁。
- 解决可读性冲突问题:iVX在处理复杂逻辑时,避免了"流程图"方式可能导致的逻辑可读性冲突。
iVX低代码平台的应用场景
应用方向
由于iVX是一款高速发展的无代码可视化编程语言,现在已经可以完整覆盖几乎所有操作系统应用的开发
- WebApp(通过Web浏览器封装,可以支持各种小程序,Android/iOS App,Win/Mac/Linux App)
- 原生微信小程序(iVX专门针对微信小程序,单独制作所有相关组件)
- 原生微信小游戏(iVX专门针对微信小游戏,单独制作所有相关组件)
应用商店现支持场景
- 网站建设
- 营销H5
- 企业应用
- 工具软件
- 销售CRM
- 电商系统
- 游戏模型
- IoT物联网
- 财务软件
- 小程序
- 等等
未来展望
iVX作为一款强大的图形化编程引擎(自带“代码生成器”),同时也是一种面向未来的全新的开发方式。iVX团队对产品和平台将2023年的研发规划如下:
研发纵向主线——黄色部分
总体来说,研发的主线还是基于“iVX IDE”的一些核心功能,底层架构的优化,代码生成能力的提升。另外,加上了iVX的自动化测试部分,和“AI+iVX自动代码生成”的预研。
iVX Base
- 实现“事件面板”到Code的可视化切换,简化开发过程。
- 前端增加对mitosis和“dart/flutter”的支持,提高跨平台特性和应用开发灵活性。
- iVX与代码结合,吸收Git的经验,提供简单的Code IDE,便捷开发。
iVX for Testing
- 实现自动“判卷”服务,支持考试常态化和自动批改试卷/作业。
- 引入自动化测试能力,提高“AI+iVX自动生成代码”的学习/训练效率。
iVX+AI for code generation
- “自动编程”,将现有iVX可视化逻辑基础与现有的成熟的AI模型相结合,进一步完善iVX的基础AI能力。
- 逐步实现“全自动编程”,从单页面到多页面,从静态到交互,从前端到后台。
研发横向拓展
探索在设计师、青少年编程、企业业务人员编程、企业通用办公、iot/硬件编程领域应用iVX。
平台建设和运营方面
- 教学培训:推出更多开发课程、实战案例等,提供丰富的学习资源。
- 量化参数:引入量化参数,评估人力外包双方的“投入和产出”合理性。
- 引入AI能力:将AI能力引入平台,提供精准、高效的服务
结论
iVX作为一款先进的低代码开发平台,通过不断创新和演进,实现了无代码到零代码的应用开发,让开发者能够专注于业务逻辑而不用过多关注繁琐的代码编写。
总体来说,iVX是一个以逻辑为核心、前后端流行技术为基础的低代码开发平台,它的创新和优势在于提供了零代码表达逻辑、构建通用组件的能力,以及非常直观和高效的事件编辑面板。通过iVX,开发者可以快速构建功能丰富、性能高效的应用,从而加速创新和推动数字化转型。iVX的未来发展令人期待,它将继续为开发者带来更便捷、更高效的应用开发体验。
相关文章:

如果你也能认识并使用这个低代码平台,那真的是泰酷辣——iVX低代码平台
低代码技术起源是比较悠久的了,尤其是在近些年,随着技术的演进,低代码平台逐渐成为热门趋势。这些平台通过简化应用程序开发流程,减少手动编码,使非专业开发人员也能快速构建复杂应用。为我们的敏捷开发和高效生产贡献…...

uC-OS2 V2.93 STM32L476 移植:系统移植篇
前言 上一篇已经 通过 STM32CubeMX 搭建了 NUCLEO-L476RG STM32L476RG 的 裸机工程,并且下载了 uC-OS2 V2.93 的源码,接下来,开始系统移植 开发环境 win10 64位 Keil uVision5,MDK V5.36 uC-OS2 V2.93 开发板:NUC…...

gitee修改代码提交操作步骤说明
一,简介 本文主要介绍如何从gitee仓库下载文件,本地修改,本地提交,然后再push到远程服务器的操作步骤。供参考,欢迎一起讨论交流~ 二,操作步骤 总的操作步骤分为以下几步 1,远程服务器下载文…...

物联网|可变参数的使用技巧|不一样的点灯实验|访问外设的寄存器|操作寄存器实现点灯|硬件编程的基本流程-学习笔记(11)
文章目录 可变参数的使用技巧第三阶段-初级实验Lesson5:不一样的点灯实验---学习I/O的输出 ☆点灯的电路图分析1 一起看看点灯的电路图Tip1:另一种点灯的电路Tip1:如何访问外设的寄存器2 STM32F407中操作GPIO的方法 通过直接操作寄存器实现点灯实验Tip1:硬件编程的基本流程 2代…...

30. 利用linprog 解决 生产决策问题(matlab程序)
1.简述 线线规划的几个基本性质:【文献[1]第46页】 (1)线性规划问题的可行域如果非空,则是一个凸集-凸多面体; (2)如果线性规划问题有最优解,那么最优解可在可行域的顶点中确定; (3)如果可行域有界,且可行域…...

一百三十九、Kettle——Linux安装Kettle8.2
一、目的 为了方便海豚调度kettle任务,在Linux上安装kettle 二、kettle版本与前提 版本:kettle8.2 pdi-ce-8.2.0.0-342 前提:Linux已经安装好jdk 三、安装步骤 (一)打开安装包所在地 [roothurys22 ~]# cd …...
react路由在layout中的监听
业务中需要在layout里来监听路由的变化,但是layout并不是一个路由组件,所以layout组件内的props并没有location,history等属性,(路由组件:由Route组件处理的才是路由组件)所以我们需要将layout组件转变成路…...

Java反射(三)
目录 1.反射与代理设计模式 2.反射与Annotation 3.自定义Annotation 4.Annotation整合工厂设计模式和代理设计模式 1.反射与代理设计模式 代理模式是指通过业务真实类实现业务接口,再通过设置代理类创建业务真实类子类从而间接访问业务真实类。但是这存在一个弊…...
ansible-playbook roles编写lnmp剧本
目录 集中式编写lnmp剧本 执行 分布式编写lnmp剧本 一定要设置ssh免交互 nginx mysql php 执行 集中式编写lnmp剧本 vim /etc/ansible/lnmp.yml - name: lnmp playhosts: dbserversremote_user: roottasks:- name: perpare condifurecopy: src/etc/yum.repos.d/nginx.r…...
相机可用性变化监听AvailabilityCallback流程分析
相机可用性变化监听及流程分析 一、接口说明 相机可用性变化监听可以通过CameraManager中的接口registerAvailabilityCallback()来设置回调,接口如下: /** *注册一个回调以获得有关相机设备可用性的通知。 * *<p>再次注册相同的回调将用提供…...
使用Python多线程实现生产者消费者模型
“Talk is cheap, show me the code.” 废话不多说,直接上代码: """ 生产者消费者模型 Python实现 """ import queue import threading import random import timeclass ConsProd:# 队列参数_que None # 队列# 生产者…...

Notepad++工具通过正则表达式批量替换内容
1.每行末尾新增特定字符串 CtrlH弹出小窗口;查找目标输入$,替换为输入特定字符串;选中循环查找,查找模式选正则表达式;最后点击全部替换 2.每行行首新增特定字符串 CtrlH弹出小窗口;查找目标输入^&…...
从零构建深度学习推理框架-3 手写算子relu
Relu介绍: relu是一个非线性激活函数,可以避免梯度消失,过拟合等情况。我们一般将thresh设为0。 operator类: #ifndef KUIPER_COURSE_INCLUDE_OPS_OP_HPP_ #define KUIPER_COURSE_INCLUDE_OPS_OP_HPP_ namespace kuiper_infer {…...

想做上位机,学C#还是QT?
学习C#还是Qt,取决于你的具体需求和偏好。 如果你计划开发跨平台的桌面应用程序,并且希望使用一种更轻量级、直观的界面框架,那么Qt可能是一个不错的选择。Qt是一个功能丰富且成熟的跨平台框架,支持多种开发语言(包括…...

Ansible —— playbook 剧本
Ansible —— playbook 剧本 一、playbook的概述1.playbook简介2.什么是Ansible playbook剧本?3.Ansible playbook剧本的特点4.如何使用Ansible playbook剧本?5.playbooks 本身由以下各部分组成 二、playbook示例1.运行playbook2.定义、引用变量3.指定远…...
ARM寻址方式
寻址方式 寻址方式是根据指令中给出的地址码字段来实现寻找操作数地址的方式,ARM中有以下8种基本的寻址方式。 1、寄存器寻址 将寄存器中的值作为操作数,指令中的地址码字段是寄存器编号。 MOV R1,R2 ;R1 R2 ADD R0,R1,R2 ;R0 R1 R22、立即寻…...

【JAVA】String ,StringBuffer 和 StringBuilder 三者有何联系?
个人主页:【😊个人主页】 系列专栏:【❤️初识JAVA】 文章目录 前言StringBufferStringBuffer方法 StringBuilderStringBuilder方法 String ,StringBuffer 和 StringBuilder的区别String和StringBuffer互相转换 前言 在之前的文章…...
关于计数以及Index返回订单号升级版(控制字符长度,控制年月标记)
数据库表操作: EXEC sys.sp_dropextendedproperty nameNName , level0typeNSCHEMA,level0nameNdbo, level1typeNTABLE,level1nameNSetNoIndexGOEXEC sys.sp_dropextendedproperty nameNMS_Description , level0typeNSCHEMA,level0nameNdbo, level1typeNTABLE,level…...

【计算机网络】11、网桥(bridge)、集线器(hub)、交换机(switch)、路由器(router)、网关(gateway)
文章目录 一、网桥(bridge)二、集线器(hub)三、交换机(switch)四、路由器(router)五、网关(gateway) 对于hub,一个包过来后,直接将包转发到其他口。 对于桥&…...
第九篇-自我任务数据准备
格式化自我意识数据用于ChatGLM微调 准备数据源 https://github.com/hiyouga/ChatGLM-Efficient-Tuning cd data self_cognition.json代码self_process.py #!/usr/bin/python # -*- coding: UTF-8 -*- # 读取self_cognition自我认知解析并写入转换新文件import json# 读取se…...

基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来
一、破局:PCB行业的时代之问 在数字经济蓬勃发展的浪潮中,PCB(印制电路板)作为 “电子产品之母”,其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透,PCB行业面临着前所未有的挑战与机遇。产品迭代…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...

抖音增长新引擎:品融电商,一站式全案代运营领跑者
抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...

React19源码系列之 事件插件系统
事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列,以便知晓哪些列包含有价值的数据,…...

算法:模拟
1.替换所有的问号 1576. 替换所有的问号 - 力扣(LeetCode) 遍历字符串:通过外层循环逐一检查每个字符。遇到 ? 时处理: 内层循环遍历小写字母(a 到 z)。对每个字母检查是否满足: 与…...

面向无人机海岸带生态系统监测的语义分割基准数据集
描述:海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而,目前该领域仍面临一个挑战,即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...

MFC 抛体运动模拟:常见问题解决与界面美化
在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...
JavaScript 数据类型详解
JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型(Primitive) 和 对象类型(Object) 两大类,共 8 种(ES11): 一、原始类型(7种) 1. undefined 定…...