QQ邮箱|什么是低代码(Low-Code)?( 九 )

  • 现代化的技术架构和实现:现代化的低代码开发平台 , 在支撑用户应用时所选择的技术架构与实现方案 , 也会是现代化且符合业界最佳实践的 , 例如 , 前端基于主流的HTML5/CSS3标准和React框架 , 后端基于成熟的Java语言、SpringBoot框架和MySQL数据库 , 部署环境基于云原生的Docker镜像、CI/CD流水线、K8s集群和Service Mesh技术(相关知识可参考《正确入门Service Mesh:起源、发展和现状》) 。
  • 零成本的技术升级和维护:低代码的高维抽象开发方式 , 让应用的核心业务逻辑与底层技术细节彻底解耦 。 开发者在大部分情况下都不需要关心底层技术选型 , 同时也无需亲自跟进这些技术的版本升级与漏洞修复 , 免费享受与时俱进的技术红利和应用安全性提升 。 即便遇到某些底层技术或工具需要进行彻底更换(比如不再维护的开源项目) , 开发者也完全不必感知;技术迁移再费劲再难搞 , 平台自己努力就行 , 对开发者来说只要服务一直在线 , 岁月就依然静好;事后可能还会惊喜地发现 , 应用访问突然就变得更快了 , 仿佛冥冥中自有天助 , 感激上苍和低代码 。
  • 一体化生态能力复用
    复用(Reuse)是提升软件开发效率和工程质量的最有效途径 。 传统的代码开发模式下 , 开发者可以通过提取公共类/函数、引用共享库、调用外部API服务、沉淀代码片段和模板等方式实现复用 。 在低代码的世界里 , 平台也可以提供对应的多层次多粒度复用手段 , 比如页面组件库、逻辑函数库、应用模板库等 。
    但更重要的是 , 低代码平台还可以充分发挥其一体化的生态优势 , 提供强大易用的可复用能力(资产)的发现、集成与共享体系:以页面组件为例 , 你可以直接用系统组件 , 也可以在平台自带的组件市场上搜索和引用更合适的组件 , 还可以自己用代码开发一个自定义组件并发布到市场中 。 平台的生态体系越大 , 积累的可复用能力就越多 , 应用的开发成本也会越低 。
    相比而言 , 虽然传统代码世界整体生态更庞大和深厚 , 但由于各类技术不互通、缺乏统一平台与市场、代码集成成本高等原因 , 一直以来都没有形成有类似规模潜力的生态能力复用体系 , 导致重复造轮子和低水平重复建设的现象司空见惯 , 还美名为“新基建” 。
    说到这里 , 另一批裹着冲锋衣头顶锃亮的同学也忍不住了:“万一低代码真的发展起来了 , 是不是就不需要那么多程序员了啊?上有老下有小的 , 同是码农身 , 相煎何太急!” 。 低代码虽然是一场应用开发生产力革命 , 但并不会革掉程序员的饭碗 。 它去掉的只是难懂的编程语法、繁琐的技术细节和一切可自动化的重复性工作 , 并没有也无法去掉应用开发最核心的东西:严谨的业务逻辑、巧妙的算法设计、良好的工程风格等 。 对于真正的程序员 , 即使剥去他一层又一层的编程语言和工具熟练度技能外壳 , 最终剩下的仍然是一个有价值的硬核开发者 。
    当然 , 如果你坚持要用纯粹的写代码方式来改变世界 , 也不至于失业 。 要么 , 你可以选择那些低代码暂时不太适用的领域 , 比如底层系统驱动、3D游戏引擎、火箭发射程序;或者 , 你也可以选择去写低代码中那一部分不可或缺的自定义代码扩展 , 为平民开发者提供高质量的积木 。 最后 , 你也完全可以选择为低代码平台本身的底层代码添砖加瓦 , 比如加入阿里云云原生应用研发平台EMAS团队 (〃'▽'〃), 与作者一起共建下一代云原生低代码开发平台“Mobi” , 内推直达邮箱:pengqun.pq # alibaba-inc.com 。
    为什么「我不」需要低代码
    即使所有人都认同上述“为什么要用低代码”的理由 , 但仍不时会有试水者跳出来 , 给大家细数“为什么我不需要低代码” 。 实践出真知没错 , 而且大部分质疑背后也都有一定道理;但在我看来 , 更多的可能是主观或无意识的偏见 。 这里我列了一些对低代码的常见质疑和我个人的看法 , 期望能帮助大家看到一个更全面和客观的低代码 。