前言
低代码是一种快速设计和开发软件应用程序并且手动编码最少的方法。通过在图形界面中使用可视化建模来组装和配置应用程序,开发人员可以跳过所有基础架构让开发速度提升起来。
一、发现问题
1.“在踏出一步之前,首先考虑能否退回去”
现在低代码平台,功能性能这些先不说,能不能提升效率,提升多少,暂不讨论。光“平台和环境锁定”这一点,就是整个行业最大的技术推广障碍。
道理很简单,平台有几百个,但是如果选了一个,由于无法生成代码,代表所有的研发和数据资源都要放在这个平台上,将来根本无法迁移。
这意味了,“一旦跨出了这一步,将无法退回到原来的道路上!”,这对任何企业和团队都是很难接受的,风险太大。
2.“以前的代码和研发/数据资源怎么办?”
低代码平台的采用可能需要对组织的结构和流程进行调整。这可能涉及到不同团队之间的协作和沟通方式的改变。
每个企业,由于长时间的研发和演进,往往都形成了自己的研发体系和自有的研发资源/数据资源,这些资源如何在“低代码平台”上使用也是一个问题。
我们的SDK可以传上去吗?
我们现有的组件可以直接使用吗?
我们团队用惯了elementUI,要怎么接着用?
我们大量各种类型的数据和接口要如何使用?…
3.“另外,程序员本身也是平台使用的阻力”
对于这样的平台,很多程序员有一个“本能的抗拒”,当然最主要的还是担心如果技术被锁定在某一个低代码平台,会不会影响将来“自身的技术提升”,甚至会不会影响自己的收入?当然,还有更深层次的原因,这和程序员的心态也息息相关。
总之,企业选型什么技术什么平台?肯定是研发总监/CTO/CIO说了算,而他们又会去征求技术团队的意见,如果技术团队大部分人反对,这个技术肯定推不起来。
二、解决问题
1.能不能统一低代码平台的标准?
其实根本就不可能,无论是通过开源的方式,还是大厂背书和推进… 其实都不可能。其实,技术只有演进,很少能通过形式化的东西固定下来,除非是已经既成事实的部分。
2.“生成代码”!!!
这也是我想说的,真正可行的,能够被程序员接受的“低代码平台”落地方案。生成的“代码”通过编程语言的方式,将形式统一起来。这也就是实现了“平滑演进”,而非“跃进”,历史上二进制向汇编语言,汇编语言向高级语言,也都是这样的“平滑模式”。
“低代码平台全栈都给你生成代码,所有应用以代码形式保存起来”——这才是能够被研发团队接受的形式。
3.一个代码生成式低代码产品
iVX平台
iVX,可以理解为一种可视化的“全栈代码生成器”,而且这种“代码生成”做得相当彻底,几乎所有应用都可以通过iVX在不写任何代码的情况下进行“自动代码生成”。
iVX平台研发难度极大,涉及技术领域也非常广,在全球领域能自动生成全栈代码的,据我所知,仅此一家。
虽然,市面上包括很多媒体都把iVX定义为“低代码”平台,但实际上,iVX和市面上其它“低代码/无代码”平台无论是“技术架构”、“实现方法”、“用户体验/操作”、“产品目的”都完全不一样。
其他所有低代码产品,几乎可以认为是一种“企业内快速开发框架”,运行时和开发是一体的,也就意味着所有开发的应用,只能在这个低代码厂商的环境下运行,是应用是无法导出也无法独立部署的,表现形态就是“无法生成应用源代码”。
而iVX并不是一个完全针对“企业”的产品,而是一种面向编程、面向程序员的一种新的“开发范式”,iVX始终只解决两个问题“如何让新手快速学会应用开发?”以及“如果让开发的效率更高一些?”。因此,无论是个人还是企业,都可以使用iVX,而且在网上使用就是免费的。
三、iVX的“可复用”
可复用前端代码
iVX提供各类前端组件、支持CSS嵌入、支持JS代码嵌入、支持各类组件库和自定义组件上传。iVX前端程序支持编译为多种类型,包括web应用、小程序、原生app、Mac OS与Windows桌面应用等。
可复用SQL代码
通过iVXdbo组件,开发者可以连接到任意自己部署的Mysql、Oracle、SQL server与Postgres等各类常见数据库。支持自行编写SQL来操作数据库,并获取返回结果,与其他后台服务逻辑无缝整合。
可复用后端代码
支持nodeJS、Java、python等常用后台语言,用户可自行上传后台代码或SDK,与主服务通过RPC协议通信。
总结
现在代码生成已经具备“可读”、“可调试”的能力,体验上和手写代码没什么区别,包括维护的方式。
总之,只给程序员助力,不要去挑战程序员,应该是比较理性的做法。 iVX的独特之处在于,它不仅能像其他低代码平台一样提供易用的可视化开发环境,还能生成可以独立导出、编辑和调试的代码。这种设计理念使得iVX成为了一款真正意义上的低代码开发平台。
其实,对于这样的平台,很大程度上已经不用手写任何代码,包括二次开发都可以在平台上通过拖拽配置的方式完成,但是,为程序员保持“代码”这种接口,很重要!