开发应用程序的难度比很多“外行”想的更加复杂。程序员不仅仅需要掌握多种开发语言,还需要了解构建工具、测试、部署应用等相关知识,甚至拥有客户体验、数据处理、安全能力、以及多终端(PC端、移动端)的设计能力。能否充分发挥出每个程序员的全部潜力,是开发团队提升效能的关键所在。
此外,企业级软件开发团队中的程序员还得适应敏捷迭代和DevOps思维,才能快速构建应用程序,在尽量减少对消费者干扰的情况下,定期对系统和用户接口进行小规模的更新和改进。
天下武功,唯快不破。这种软件开发思维方式的变化,加速了低代码应用开发时代的到来。因为低代码平台的关键特征就是减少开发应用程序所需的传统手工编码的工作量,这意味着它的交付速度更快,Bug更少。
那么,程序员在低代码时代的开发体验有何变化,该如何从低代码中获益呢?
寻找均衡点
我们需要知道,软件开发中最重要的部分就是在稳定性和交付速度之间取得平衡。过分强调前者意味着软件开发团队很难提升他们所提供给客户的服务,并且可能在竞争中失利;过分强调后者可能会给应用程序带来一定风险,尤其是对于企业级应用而言。即便采用的是低代码或者更先进的开发技术,仍然需要遵循基本的设计法则,如数据库设计范式、事件控制、前后端分离、基于角色的权限控制等。这个均衡点究竟在哪里?主要是由应用场景决定的。对于数据填报、办公审批等简单的场景,开发团队通常倾向于后者;而生产管理、设备监控等核心业务场景,促使开发团队为前者考虑得更多。
进入低代码时代后,不同的应用场景和平衡点也为我们带来了多样化的低代码开发平台。这些平台统称为“低代码”,但是为使用者提供了完全不同的开发体验。
企业级低代码平台是低代码厂商中偏向于“硬核”的部分,他们为了支撑更高技术要求、更高价值的企业级应用开发,从数据库建模、Web API构建到页面设计,全程与传统软件开发几乎没有差异,只是通过可视化技术和智能化功能,减少了构建“增删改查”功能的重复劳动。程序员在开发过程中可以轻松上手,充分利用传统开发模式下积累的经验。
与之相对,更多表单驱动型的低代码产品则完全抛弃软件开发的模式,将数据表、Web API隐藏在表单的身后,专注于更简单的应用场景。面对这种低代码开发平台,业务人员确实比程序员更容易适应。
认识到这两类低代码平台的差异,才能帮助开发团队根据项目需求和团队技术构成选择合适的开发工具,以“更舒服的姿势”投入低代码的怀抱。
在开发团队中“升级”
众所周知,低代码通过降低软件开发的技术门槛,减少重复的编码劳动,让程序员能专注在更有价值的领域,最终让他们更有能力交付一个能够给客户产生巨大影响的、致其业务成功的应用程序。在这个过程中,程序员可以投入更多时间思考,将新技术与用户需求深度融合,并且将价值以最快的速度传递到客户手中,而不是仅仅专注于技术任务和编码。
是的,开发人员对技术的更新迭代更敏感,也更有好奇心,更容易发现将技术应用于业务问题的机会。正是由于认识到这一点,越来越多的企业正在建立创新型的团队或实验室,将程序员作为产出商业解决方案的主干。
这意味着开发团队不能再考虑“一切需要从头开始”的开发方式,程序员也不能被大量投入在CRUD等简单、重复的编码工作中。事实上,在低代码技术的帮助下,开发团队可以将程序员提升为团队的核心,致力于研究如何将AI、IoT等新技术集成到软件中,以及面对大数据量、大并发请求的极致优化,再配合一些初级技术人员甚至业务人员通过拖拉拽的方式,快速而有效地完成之前需要程序员大量编码的“增删改查”等软件基础功能。
可以简单地说,低代码的出现,让程序员能更好地发挥教育背景和开发经验的优势,在开发团队中轻松实现“升级”。
小结
我们建议程序员,特别是从事企业级应用开发的程序员,应更积极、更主动地抓住低代码开发平台带来的机会,在日常“一切照旧”的工作之外,努力了解如何使用这些新的工具集和平台,为即将到来的团队技术转型做好准备。