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