低代码平台: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官网

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/68409.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《阿里巴巴 Java 开发手册》(一)命名风格

《阿里巴巴 Java 开发手册》 一、编程规约(一)命名风格(二)常量定义(三)代码格式 一、编程规约 (一)命名风格 (二)常量定义 (三)代码格式

LabVIEW开发感应电机在线匝间短路故障诊断系统

LabVIEW开发感应电机在线匝间短路故障诊断系统 工业中使用的超过85%的电动机是三相感应电动机。它们因其可靠性、设计便利性、高性能和过载能力而被广泛用于不同的应用,例如制造、加工、电力系统、运输等。无论它们的能力如何,它们都被认为是现代工业学…

Unity通过偏移UV播放序列帧动画

大家好,我是阿赵。   在Unity引擎里面用shader播放序列图,估计很多人都有用到了,我自己而已写过好几个版本。这里大概介绍一下。 一、原理 先说目的,我现在有一张这样的图片: 这张图片上面,有9个格子&a…

使用errors.Wrapf()代替log.Error()

介绍不同语言的错误处理机制: Error handling patterns[1] Musings about error handling mechanisms in programming languages[2] 项目中 main调func1,func1调取func2... 这样就会出现很多的 if err ! nil { log.Printf()} , 在Kibana上查看时会搜到多条日志, 需要…

美妆+七人拼团模式:如何打造新型社交电商营销方式

美妆是一个充满竞争和创新的行业,要想在市场上获得优势,就需要不断寻找新的营销方式,吸引和留住消费者。七人拼团模式就是一种结合了社交电商和拼购玩法的新型商业模式,它可以利用社交网络的裂变效应,增加品牌曝光度和…

vue+elementUI el-select 自定义搜索逻辑(filter-method)

下拉列表的默认搜索是搜索label显示label,我司要求输入id显示label名称 <el-form-item label"部门&#xff1a;"><el-select v-model"form.region1" placeholder"请选择部门" filterable clearable:filter-method"dataFilter&qu…

AndroidTV端:酒店扫码认证投屏DLNA

被老板叼了几次了&#xff0c;最近实在忍不了&#xff0c;准备离职&#xff1b; 但是担心离职后长时间没有办法找到工作 就想贡献一套平时琢磨出来的程序&#xff0c;请各位有能力的话带我熬过这凛冽的寒冬。 目前写出来的&#xff0c;有三个端&#xff1a;安卓TV端&#xf…

准备HarmonyOS开发环境

引言 在开始 HarmonyOS 开发之前&#xff0c;需要准备好开发环境。本章将详细指导你如何安装 HarmonyOS SDK、配置开发环境、创建 HarmonyOS 项目。 目录 安装 HarmonyOS SDK 配置开发环境 创建 HarmonyOS 项目 总结 1. 安装 HarmonyOS SDK HarmonyOS SDK 是开发 Harmo…

【Selenium2+python】自动化unittest生成测试报告

前言 批量执行完用例后&#xff0c;生成的测试报告是文本形式的&#xff0c;不够直观&#xff0c;为了更好的展示测试报告&#xff0c;最好是生成HTML格式的。 unittest里面是不能生成html格式报告的&#xff0c;需要导入一个第三方的模块&#xff1a;HTMLTestRunner 一、导…

leetcode1288. 删除被覆盖区间(java)

删除被覆盖区间 题目描述贪心法代码演示 题目描述 难度 - 中等 leetcode1288. 删除被覆盖区间 给你一个区间列表&#xff0c;请你删除列表中被其他区间所覆盖的区间。 只有当 c < a 且 b < d 时&#xff0c;我们才认为区间 [a,b) 被区间 [c,d) 覆盖。 在完成所有删除操作…

Docker使用数据卷挂载进行数据存储与共享

一、挂载和数据卷 在 Docker 中&#xff0c;挂载&#xff08;Mounting&#xff09;和数据卷&#xff08;Data Volumes&#xff09;是用于在容器和宿主机之间共享数据的机制。 挂载&#xff1a;将宿主机文件系统中的目录或文件与容器中的目录或文件进行关联的过程。数据卷&…

收入下降,亏损扩大,利润率急剧恶化,蔚来仍充满风险

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 蔚来第二季度财报分析 猛兽财经从蔚来&#xff08;NIO&#xff09;2023年第二季度财报中&#xff0c;获得的最大收获并不是该公司的收入下降或亏损扩大&#xff0c;而是由于价格竞争加剧&#xff0c;中国电动汽车行业整体上…

什么是安全运营中心(SOC),应该了解什么

安全运营中心&#xff08;SOC&#xff09; 是一种企业监视和警报设施&#xff0c;可帮助组织检测安全威胁、监视安全事件和分析性能数据以改进公司运营。 什么是安全运营中心&#xff08;SOC&#xff09; 安全运营中心&#xff08;SOC&#xff09;是一个中央监视和监视中心&a…

第二次作业

1.编写脚本for1.sh,使用for循环创建20账户&#xff0c;账户名前缀由用户从键盘输入&#xff0c;账户初始密码由用户输入&#xff0c;例如: test1、test2、test3、.....、 test10 编写脚本for1.sh 执行脚本&#xff1a;bash for.sh 2&#xff0c;编写脚本for2.sh,使用for循环,通…

模糊测试面面观 | 模糊测试是如何发现异常情况的?

协议模糊测试是一种用于评估通信协议、文件格式和API实现系统安全性和稳定性的关键技术。在模糊测试过程中&#xff0c;监视器扮演着关键角色&#xff0c;它们能够捕获异常情况、错误响应、资源利用等&#xff0c;为测试人员提供有价值的信息&#xff0c;有助于发现潜在漏洞和问…

ceph Monitor原理和代码流程介绍

Monitor介绍 Monitor在Ceph集群中扮演管理者的角色&#xff0c;维护了整个集群的状态&#xff0c;集群的状态被抽象成几个Map对象&#xff0c;包括monmap、osdmap、mdsmap、authmap、logmap等&#xff0c;保证集群的相关组件在同一时刻能够达成一致&#xff0c;相当于领导层。…

el-dialog设置高度、使用resetFields清除表单项无效问题

初学者容易踩坑的的el-dialog、el-form问题 1. el-dialog设置高度2. el-form中表单项对不齐3. 使用resetFields清除表单项无效 1. el-dialog设置高度 在el-dialog中里面添加一个div设置固定高度&#xff0c;或者限制最小的高度。 <el-dialogtitle"选择图标"v-mod…

附录1-爬虫的一些技巧

目录 1 寻找url与显示内容的关系 2 修改请求头 3 局部刷新 4 阅读返回信息 5 多尝试页面其他的使用方式 6 尝试不同类型参数 7 表单类型的post多用data发&#xff0c;接口类型的post多用json发 8 消除degger 9 你在浏览器上看到的html与你下载下来的html不一…

嵌入式学习笔记(12)汇编写启动代码之设置栈和调用C语言

C语言运行时需求和栈的意义 “C语言运行时&#xff08;runtime&#xff09;”需要一定的条件&#xff0c;这些条件由汇编来提供。C语言运行时主要是需要栈。 C语言和栈的关系&#xff1a;C语言中的局部变量都是用栈来实现的。如果我们汇编部分没有给C部分预先设置合理合法的栈…

【STM32】学习笔记-时间戳RTC

Unix时间戳 Unix 时间戳&#xff08;Unix Timestamp&#xff09;定义为从UTC/GMT的1970年1月1日0时0分0秒开始所经过的秒数&#xff0c;不考虑闰秒 时间戳存储在一个秒计数器中&#xff0c;秒计数器为32位/64位的整型变量 世界上所有时区的秒计数器相同&#xff0c;不同时区通…