低代码对于我本身而言是挺矛盾的,一开始接触到低代码的时候我也是有抵触或者鄙视心理的,毕竟手写代码的快乐,沉浸式的那种感觉很少能体验到了。
我也通过最近几年的工作经历慢慢的对其有了改变,尝试去接受它。于是一开始在北京的时候是把它当作一个提效工具,做了简单的低代码实践。但是后来,当我对大规模分布式微服务等有了深入认识后发现,一个企业的服务数量,业务场景岂是一个人能模拟得来的。
所以当我需要去实践分布式,企业级,高并发,大数据,这些内容的时候我发现我好像无法真正构建大规模的企业应用服务。但是因为一些原因我希望尽快搭建仿真的企业大规模的微服务应用,所以我开始了对低代码平台的探索之路。
关于我做低代码的具体动机,以及技术选型等已经在之前的文章中有所说明,这里不再赘述。所以本文就简单聊一聊我对于低代码的理解和我在设计低代码平台的一些理念。
为什么要做低代码
这个问题我也问过自己,做低代码的目的是什么,我真正的诉求是什么,为什么我没有采用其他大佬开源的东西选择自己造轮子。当我开始去看不同的低代码搭建平台的时候,我发现他们能做的工作确实可以降低代码工作量,但是还不足够。
基于脚手架的低代码会绑定多个技术框架或者中间件,或者集成一些菜单权限用户等数据表或者仪表盘,类似于OA这种。基于idea插件的则可以更灵活一点,但是也是需要去基于表构建对应的代码元素。
或者其他框架类的诸如mybatis-generator,可以针对性的构建DAO底层相关的代码从而降低手写的工作量。
但是对于大多数复杂的业务应用其实上面的这些低代码平台是不够用的,这些只生成到了方法级别的,而且只针对于增删改查的简单模版化操作,不够灵活,更多情况下我们真正的复杂代码需要的代码元素远远不止service,entity,dto,dao,mapper,controller,facade。
当我们需要继续实现整个调用流程的时候发现工作量还是有不少的,比如要写文档,要定接口等等。对于前端代码或者前后端一体的其实是一个道理,这里当然只讨论后端Java相关的代码生成。
那么对于类似于工作流或者拖拉拽的低代码平台其实也不是我想要的,或者说不是最高优先级的,因为我本身定位的用户是开发者,首先是自己用的稍微舒服点再让跟自己同类型的用户用的舒服点。
所以,我仍然还是先从后端应用为主,对于业务逻辑的编排或者业务流程的编排这里可能并不能完全用工作流或者编排工具拖拉拽实现,毕竟我只是去模拟仿真企业大规模微服务应用,我也无法想象或者意淫服务之间的大多数交互流程,或者服务内部的交互处理。
因为时间的关系或者跟我本身的诉求方向有偏差,这种类型的低代码对我来说也不是特别合适,当然他们这些先进良好的设计理念,落地实践也给我带来了很多灵感。
在这其中我也了解了一些专门构建低代码平台的创业公司,他们做的已经非常好了,交互,api方面都无可挑剔,所以我认为低代码还是大有可为的。
那么又回到了问题的本身,为什么要做低代码?因为市面上的低代码实现其实还不够低,还不够让人更少的写代码。所以对我而言我的真正诉求就是实现一个低代码平台,尽量覆盖更多代码元素,尽量写更少的代码。所以少写代码,唯快不破才是真理,当然早点下班是正经的。
有些大佬或者有些相关的从业人员会追溯20年前的托拉拽式的低代码场景。那时候就有人通过图形化的界面帮助快速构建企业要用的软件系统了。
所以低代码本身带来的是整个软件行业的改变,从图形化到人机交互到数据处理,低代码的一个显著特征是提高软件构建交付效率,提高软件企业营收。
发展到现在,低代码平台的应用场景开始越来越广泛,营销页面、大屏可视化、后台管理系统 都开始出现了低代码构建的影子。
介绍一款程序员都应该知道的软件JNPF快速开发平台,很多人都尝试用过它,它是功能的集大成者,任何信息化系统都可以基于它开发出来。
这是一个基于 Java Boot/.Net Core 构建的简单、跨平台快速开发框架。前后端封装了上千个常用类,方便扩展;集成了代码生成器,支持前后端业务代码生成,实现快速开发,提升工作效率;框架集成了表单、报表、图表、大屏等各种常用的 Demo 方便直接使用;后端框架支持 Vue2、Vue3。如果你有闲暇时间,可以做个知识拓展。
应用地址:https://www.jnpfsoft.com/?csdn,有机会可以试试!
低代码也让更多人意识到随着软件技术的发展软件系统的开发实现不再是高精尖,而是逐步变得大众化,人们认知应用上更加成熟了,有种走进千家万户的感觉。
当然另外一方面也带来了一些惶恐,比如像我这样开发了一个低代码像是在革我自己的命,我有时候会想到我写的低代码会不会把我替代了。
更多的时候是很多程序员依然担心因为低代码会让自己丢了饭碗,但是有些就不会,毕竟低代码依然无法撼动他们在企业软件开发的某一个角色。因此对于低代码有抵触心理的程序员对lombok等提高效率的工具组件依然抱有蔑视心态。
但是不管怎么样,低代码已经存在了,而且发展了几十年,从低端的到高端的,都没有出现大的变革,对于作为程序员的我们该怎么做,我认为可以保持开放和警惕的心态,时刻保持终身学习的态度,毕竟现在我敢说低代码真的无法完全取代程序员。