低代码平台:IVX 重新定义编程
目录
🍬一、写在前面
🍬二、低代码平台是什么
🍬三、为什么程序员和技术管理者不太可能接受“低代码”平台?
🍭1、不安全(锁定特性)
🍭2、不信任
🍬四、IVX低代码平台
🍬五、IVX低代码平台优势
🍭1、无缝的云原生体验
🍭2、可视化设计
🍭3、图灵完备逻辑编排
🍭4、代码生成能力
🍭5、保持代码编程逻辑
🍭6、支持结合代码开发
🍭7、支持生成代码和导出
🍬六、iVX 相较于编程语言的优势
🍬七、总结
🦐博客主页:大虾好吃吗的博客
🦐专栏地址:闲谈专栏地址
一、写在前面
高级编程语言诞生已经过去了大半个世纪了,在我们看来,什么都在进步,但是编程语言的发展却有些缓慢了。虽然现在语言更加丰富,框架更多,但是最基本的编程方式还是没有任何改变,就是“写代码”,其实在英文中“Programming”和“Coding”是两个单词,有没有可能,我们只“编程”而不“写代码”?
图形化的编程思路,在几十年前就有许多公司和团队想到过,并且构思出了很多优秀的产品,一些是“图形+代码”快速生成某种编程语言的产品,例如Visual Basic、Dreamweaver、Delphi、C++Builder、JBuilder等等;再到硬件设备图形化编程产品Labview;以及科学计算领域大名鼎鼎的Matlab;都能看到图形化编程的影子。
二、低代码平台是什么
低代码平台是一种软件开发工具,它旨在帮助开发人员通过最小的编码努力来创建应用程序。这些平台使用可视化界面和图形化工具,使开发人员可以通过拖放和配置组件来构建应用程序,而无需手动编写大量的代码。低代码平台提供了预先构建的模块和组件,以及集成了常见功能和服务的工具,例如数据库连接、API 集成和用户界面设计。通过低代码平台,开发人员可以快速搭建原型、快速迭代和部署应用程序,提高开发效率和减少开发成本。
三、为什么程序员和技术管理者不太可能接受“低代码”平台?
我先总结一下,大部分低代码的特征:
1、 为企业定制的一种内部开发框架,运行时的,整体安装到企业内部,属于企业服务;(还有一种纯SaaS的,国内更难推,不在这里讨论)
2、大部分应用,还是需要代码开发,只是说代码量可能会少一点;但是,开发出来的应用,终身只能在“运行时”环境下运行,不能导出独立部署;
为什么程序员和技术管理者不太可能接受“低代码”平台?
1、不安全(锁定特性)
大部分“低代码”平台实际上是一个为企业定制的“产品”,而不是“一种新技术”!更像是一个“空中楼阁”,只能进不能出那种,由于无法生成代码,因此一旦选择某一“低代码平台”,基本上等于把身家性命都押上了,一旦“平台有事”,基本上会“颗粒无收”,甚至影响现有的运行业务。国内,有上百家类似的低代码平台,基本上都是同质竞争,因此风险极高。因此,我认为技术管理者不敢使用。
2、不信任
程序员只相信“代码”,哪怕是自动生成的代码,也是可以接受的。如果不能生成代码,这将和程序员基本“认知”相冲突,并且这也将阻碍程序员去进一步参与建设“低代码”平台。在程序员眼中“不能生成完整代码”、“不能导出进行编译/调试/运行”的系统是不能被接受的。
四、IVX低代码平台
iVX和其它低代码的区别,可以用一句话说清楚:iVX做的是“开发态”,拖拽生成全栈代码;其它低代码平台做的是“运行时”,配置生成应用。
生成代码代表了一种可逆性,意味着从技术上可以选择将无代码开发的应用“回退”为纯代码版本。将来也许有一天需要继续使用代码开发,或者说从技术上可以更好和现在所有“代码编程”范式直接使用或对接。
目前,绝大多数“低代码平台”,包括国外Mendix、Outsystems、PowerApps等,无一例外都是给客户(企业)安装一个运行时(aPaaS),所有配置出来的应用,都必须在这个“运行时”内部“运行”。就算能导出文件(例如Mendix导出mpk文件),还是只能在Mendix系统环境内运行,这就意味着,这种技术路线是不能“回退”的。假如有一天这些国外平台撤离中国,所有在其平台投入和积累都将“付诸东流”。
然而,iVX是由国内非常优秀的研发团队打造,不仅支持无代码开发,还提供了一种全新的代码“生成”模型,用于直接生成前端(react/vue)、后台(Java/node)和数据库的代码,iVX的技术上本身就是“可逆的”,支持导出源码。因此,开发成果不会被“锁定”在这个平台了。
IVX官网:iVX—人人都能掌握的可视化编程语言-ivx官网
五、IVX低代码平台优势
1、无缝的云原生体验
iVX提供了一种无缝的云原生体验,使开发者可以在浏览器中直接进行开发,不需要安装任何软件,大大提高了开发效率和便捷性。
2、可视化设计
iVX强大的可视化设计工具可以帮助用户快速设计和构建应用。通过拖拉拽的方式,用户可以轻松创建表单、流程、报表等各种元素,无需编写任何代码。这种设计方式不仅可以大大减少开发时间,而且可以使更多的人参与到应用开发中来,从而提高团队的生产力。
3、图灵完备逻辑编排
iVX形成了一套“自洽”且“图灵完备”的逻辑系统,并且在前后台的逻辑处理中都复用了这套逻辑系统。这是一种基于“触发式”的面板系统,并且可以线性扩展,相比基于“流程图”的逻辑编排系统更具优势。
4、代码生成能力
无论前端或后台代码,iVX都可以编译后快速生成。过程中,iVX会先生成AST抽象语法树,然后再根据AST生成对应的代码。如果是其它应用(例如微信小程序),会编译成对应的微信小程序原生代码。下面是由IVX生成的代码,完美应用VUE。
5、保持代码编程逻辑
iVX去掉的是程序语法部分,而解决问题的逻辑部分完全保留下来。因此与目前编程的逻辑并不冲突,程序员上手不用担心,不论是开发前端还是后台,擅长C还是Python,都可以快速学习并具备使用iVX开发各种应用的能力。
6、支持结合代码开发
- 自定义组件
iVX支持自定义前端组件,如果程序员觉得现有的几百个组件不能满足需求,完全可以根据iVX提供的文档(一个map格式),自定义自己的前端组件,并集成到iVX的组件窗口中。
- 自定义函数
在iVX中,有一个组件叫自定义函数,可以方便写Javascript代码,前端和后台都可以写。用于处理数据等各种操作。
- 贴JSON代码(通用变量)
通用变量支持 JSON 数据导入,系统将自动解析其数据结构并建立变量。
该变量可通过循环创建组件进行调用,原理类似于二维数组。
- 写SQL语法(DBO)
在iVX中,对mysql、ES(全文搜索)、nosql(表格数据库 AWS DynamoDB)支持是最好的,可以通过AST(抽象语法树)直接生成数据库支持的各种语法程序。
而对于,Oracle、SQLServer这些数据库,iVX提供专门一个DBO组件进行控制和管理(DBO层则需要用户自行写SQL语法)。未来争取将Oracle和SQLServer等常见数据库,也整合到AST中,这样就可以不用写SQL语法了,操作会更简单。
7、支持生成代码和导出
程序员可以这么去理解iVX的概念,就把iVX当成一种方便的代码生成器。
iVX前端 = React可视化代码生成器
iVX后台 = 业务逻辑代码生成器(现阶段JS代码)+ SQL代码生成器
在云资源部分,iVX相当于挑选了云计算公司的核心产品,并通过组件的方式提供给应用开发者。当使用iVX云资源进行应用投放时,用户几乎不用担心“并发能力”,因为在iVX后台所有IaaS层资源都是弹性,你可以理解成“Serverless”中“BaaS(Backend as a Service)”和“FaaS(Function as a Service)的合集”。
六、iVX 相较于编程语言的优势
在了解了 iVX 与传统编程语言的设计差异之后,我们进一步从四个角度来分析 iVX 相对于传统编程语言的优势。
1. 学习效率
iVX: 对于有编程基础的人来说,仅需 1~2 周的时间就能掌握 iVX,成为全栈工程师。即使是没有任何编程基础的人,也只需 1~2 个月的时间。
传统编程语言: 学习前端、后端和运维通常需要 3~5 年的时间。
2. 开发效率
iVX: 通过可视化的鼠标操作和丰富的组件库,iVX 可以将研发效率提升 5 倍以上。据统计,一次有效的 iVX 操作可以生成 500 行以上的代码。
传统编程语言: 通常需要手动编写大量代码,效率相对较低。
3. 运维效率
iVX: 由于开发效率高,因此需要更少的开发人员和项目管理人员。同时,iVX 支持 CI/CD、敏捷开发、DevOps,并且与云计算产品(如 AWS、Azure 等)有很好的集成,大大降低了运维成本。
传统编程语言: 通常需要更多的人力和时间来进行项目管理和运维。
4. 代码质量
iVX: 由于所有操作都是可视化的,几乎消除了代码拼写错误的可能性。同时,由于逻辑是通过图形化组件来实现的,因此代码逻辑更加清晰,更易于维护。
传统编程语言: 由于代码是手动输入的,因此更容易出现拼写错误和逻辑错误,这增加了代码维护的难度。
综上所述,iVX 在学习效率、开发效率、运维效率和代码质量方面都展现出了显著的优势。这些优势使 iVX 成为一种具有革命性潜力的新型编程范式,值得各方面给予高度关注。
七、总结
iVX 不仅代表了一种全新的编程范式,而且在多个方面都具有明显优势,预示着软件开发领域未来可能的发展方向。 ivx打开即可使用,不需要你下载任何应用。直接在浏览器端就能够开发,不仅可以开发前端,还可以开发windows以及其他系统平台的应用。小伙伴们快去体验吧,官网地址:iVX—人人都能掌握的可视化编程语言-ivx官网
相关文章:

低代码平台:IVX 重新定义编程
目录 🍬一、写在前面 🍬二、低代码平台是什么 🍬三、为什么程序员和技术管理者不太可能接受“低代码”平台? 🍭1、不安全(锁定特性) 🍭2、不信任 🍬四、IVX低代码平台 &a…...

Android之自定义时间选择弹框
文章目录 前言一、效果图二、实现步骤1.自定义Dialog2.xml布局3.背景白色转角drawable4.取消按钮背景drawable5.确定按钮背景drawable6.NumberPicker样式和弹框样式7.弹框动画8.Activity使用 总结 前言 随着产品人员不断变态下,总是会要求我们的界面高大上…...
异地容灾系统和数据仓库系统设计和体系结构
( 1)生产系统数据同步到异地容灾系统 生产系统与异地容灾系统之间是通过百兆网连接的;生产系统的数据库是 Oracle 9i RAC,总的数据量大约为 3 TB,涉及五千多张表。对这些表进行分析归 类,发现容灾系统真正…...

【pytest】tep环境变量、fixtures、用例三者之间的关系
tep是一款测试工具,在pytest测试框架基础上集成了第三方包,提供项目脚手架,帮助以写Python代码方式,快速实现自动化项目落地。 在tep项目中,自动化测试用例都是放到tests目录下的,每个.py文件相互独立&…...

风控引擎如何快速添加模型,并实时了解运行状态?
目录 风控模型的主要类型 风控引擎如何管理模型? 模型就是基于目标群体的大规模采样数据,挖掘出某个实际问题或客观事物的现象本质及运行规律,利用抽象的概念分析存在问题或风险,计算推演出减轻、防范问题或风险的对策过程&…...

一文读懂|内核顺序锁
Linux 内核有非常多的锁机制,如:自旋锁、读写锁、信号量和 RCU 锁等。本文介绍一种和读写锁比较相似的锁机制:顺序锁(seqlock)。 顺序锁与读写锁一样,都是针对多读少写且快速处理的锁机制。而顺序锁和读写…...
openproject在docker下的安装
官方指引:https://www.openproject.org/docs/installation-and-operations/installation/docker/ 网友指引:https://blog.csdn.net/joefive/article/details/119409550 建个自己的数据文件夹: sudo mkdir -p /var/lib/openproject/{mydata…...

React【React是什么?、创建项目 、React组件化、 JSX语法、条件渲染、列表渲染、事件处理】(一)
文章目录 React是什么? 为什么要学习React React开发前准备 创建React项目 React项目结构简介 React组件化 初识JSX 渲染JSX描述的页面 JSX语法 JSX的Class与Style属性 JSX生成的React元素 条件渲染(一) 条件渲染 ࿰…...

Ubuntu系统下配置 Qt Creator 输入中文、配置软件源的服务器地址、修改Ubuntu系统时间
上篇介绍了Ubuntu系统下搭建QtCreator开发环境。我们可以发现安装好的QtCreator不能输入中文,也没有中文输入法供选择,这里需要进行设置。 文章目录 1. 配置软件源的服务器地址2. 先配置Ubuntu系统语言,设置为中文3. 安装Fcitx插件ÿ…...

Ab3d.PowerToys 11.0.8614 Crack
版本 11.0.8614 修补程序 使用 MouseCameraController 移动相机时防止旋转 FreeCamera。 版本 11.0.8585 重大更改:由于专利问题删除了 ViewCubeCameraController - 请联系支持人员以获取更多信息以及如果您想继续使用此控件。添加了 CameraNavigationCircles 控件…...

汽车3D HMI图形引擎选型指南【2023】
推荐:用 NSDT编辑器 快速搭建可编程3D场景 2002年,电影《少数派报告》让观众深入了解未来。 除了情节的核心道德困境之外,大多数人都对它的技术着迷。 我们看到了自动驾驶汽车、个性化广告和用户可以无缝交互的 3D 计算机界面。 令人惊讶的是…...

Stable Diffusion stable-diffusion-webui开发笔记
https://lexica.art/ lexica.art 该网站拥有数百万Stable Diffusion案例的文字描述和图片,可以为大家提供足够的创作灵感。可以提供promt灵感 https://civitai.com/ Civitai是一个聚集AI绘图爱好者的社区,在此网站上有许多定制化的模型,特…...

利用MQ实现mysql与elasticsearch数据同步
流程 1.声明exchange、queue、RoutingKey 2. 在hotel-admin中进行增删改(SQL),完成消息发送 3. 在hotel-demo中完成消息监听,并更新elasticsearch数据 4. 测试同步 1.引入依赖 <!--amqp--> <dependency><groupId&…...

linux免密登录最简单--图文详解
最简单的免密登录 1.A电脑生成秘钥 ssh-keygen -t rsa 2.A电脑将秘钥传给B电脑 ssh-copy-id root192.168.1.129 #将秘钥直接传给B电脑 需要输入B电脑的密码,可以看到成功。 3.测试 同理:如果B->A也需要免密登录,统一的操作。 大功告…...
HTTP/1.1协议中的请求报文
2023年8月30日,周三上午 目录 概述请求报文示例详述 概述 HTTP/1.1协议的请求报文由以下几个部分组成: 请求行(Request Line)请求头部(Request Headers)空行(Blank Line)请求体&a…...

攻防世界-Hear-with-your-Eyes
原题 解题思路 是一个没有后缀的文件,题目提示要用眼睛看这段音频,notepad打开文件,没什么东西。 加后缀zip再解压看看。 使用Audacity打开音频文件...
ZED相机获取图像python
import pyzed.sl as sl import cv2 import numpy as np import osclass CameraZed2:def __init__(self,resolutionNone,fps30,depthMode None):self.zed sl.Camera()self.input_type sl.InputType()self.init_params sl.InitParameters(input_tself.input_type)# 设置分辨率…...
Oracle系列之--Profile
Oracle系列之--Profile_oracle profile_楼兰过客的博客-CSDN博客...

学习Bootstrap 5的第四天
目录 表格 基础表格 实例 条纹表格 实例 带边框表格 实例 有悬停效果的行 实例 黑色/深色表格 实例 黑色/深色条纹表格 实例 可悬停的黑色/深色表格 实例 无边框表格 实例 上下文类 可用的上下文类: 实例 表头颜色 实例 小型表格 实例 响应…...

喜报 | 再度中标南网项目!AR 开启电力远程运维新智慧
近日,中国南方电网官网发布《2023年南方电网数字平台科技 (广东)有限公司物资品控远程协助软件采购项目中标公告》,ALVA Systems 凭借 ALVA Rainbow 创新应用竞得此标。 随着相关技术的逐步成熟,基础问题远程化解决已经在工业领域广泛应用。 …...
云计算——弹性云计算器(ECS)
弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互
物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动
一、前言说明 在2011版本的gb28181协议中,拉取视频流只要求udp方式,从2016开始要求新增支持tcp被动和tcp主动两种方式,udp理论上会丢包的,所以实际使用过程可能会出现画面花屏的情况,而tcp肯定不丢包,起码…...

【单片机期末】单片机系统设计
主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...
Python如何给视频添加音频和字幕
在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...

【JVM】Java虚拟机(二)——垃圾回收
目录 一、如何判断对象可以回收 (一)引用计数法 (二)可达性分析算法 二、垃圾回收算法 (一)标记清除 (二)标记整理 (三)复制 (四ÿ…...

springboot 日志类切面,接口成功记录日志,失败不记录
springboot 日志类切面,接口成功记录日志,失败不记录 自定义一个注解方法 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;/***…...
【安全篇】金刚不坏之身:整合 Spring Security + JWT 实现无状态认证与授权
摘要 本文是《Spring Boot 实战派》系列的第四篇。我们将直面所有 Web 应用都无法回避的核心问题:安全。文章将详细阐述认证(Authentication) 与授权(Authorization的核心概念,对比传统 Session-Cookie 与现代 JWT(JS…...