全栈开发人员如何在无代码和低代码平台的新世界中成长?

2020 年 8 月 13 日

全栈开发人员如何在无代码和低代码平台的新世界中成长?

本文提到的方法使开发团队能够将Web应用程序开发时间减少50%以上。此外,开发人员可以完全控制源代码,开发具有复杂业务逻辑的领域驱动应用程序,并且很容易调试。最后,开发人员在开发Web应用程序时使用开放性技术,消除了职业流动性受限的问题。总之,为专业Web应用程序开发者构建低代码平台消除了专有低代码平台的缺点,同时保留了其快速开发应用的优势。


本文最初发布于 fastCode 博客,由 InfoQ 中文站翻译并分享。


使用开源的前端、后端框架从头开始开发企业级 Web 应用程序会花费很长时间。如今,客户正在寻找快速而经济的解决方案,并趋向于使用无代码和低代码的应用开发平台。在这个无代码和低代码平台的新世界中,全栈开发人员如何才能茁壮成长?


无代码和低代码平台


这些平台的其中一个目标是,利用更广泛的非技术和半技术员工来增加可用的 Web 应用程序开发人员。供应商开发了无代码平台,供非技术人员用来构建简单的应用程序;开发了低代码平台,供具有基本技术技能(如 SQL、JavaScript)的员工用来开发更复杂的企业应用程序。其次,与传统的 Web 应用开发方法相比,这些平台可以减少 50%以上的 Web 应用开发时间。


目前,有大量的供应商在无代码和低代码的细分市场竞争。无代码平台供应商包括 AppSheet(谷歌)、Betty Blocks、QuickBase、Airtable、Bubble 和 Microsoft PowerApps。低代码平台供应商包括 Microsoft PowerApps、OutSystems、Mendix、Salesforce Lightning platform、Nintex、Appian 和 Pegasystems。


我们不会讨论无代码平台,因为它们迎合非技术人员的需求,用于开发简单的应用程序。作为一名 Web 开发人员,你不太可能被要求在无代码平台上构建 Web 应用程序。


另一方面,低代码平台被用来开发比较复杂的应用程序。对于习惯于使用开放性技术(如前端和后端框架)开发应用程序的专业 Web 开发人员来说,使用这些低代码平台开发 Web 应用程序有几个缺点。 这里有一篇专业 Web 开发人员撰写的博文,讲述了他在这些低代码平台上工作的经历。


问题 1:无法控制源代码


低代码平台为开发 Web 应用程序提供了视觉隐喻。甚至应用程序的业务逻辑也是通过拖放代码控制语句(如 if/then/else)来实现的。因此,在这些平台上工作的开发人员几乎无法控制源代码。不控制源代码至少会带来两个问题:(a)开发具有复杂业务逻辑的领域驱动应用程序很有挑战性;(b)调试问题会非常困难和令人沮丧。


问题 2:职业受限


对于专业的 Web 开发人员来说,基于低代码平台的全职工作可能会限制他们的职业发展。他们将失去当前在开放性编程语言和框架方面的技术技能,而获得专有低代码平台的技能。这个专有的低代码平台可能没有被雇主广泛采用,这是当前任何特定的低代码平台都面临的情况。在这种情况下,开发人员的低代码平台技能只适合于使用同样低代码平台的其他雇主。这严重限制了开发人员的职业流动性。


有没有更好的选择?有的。为什么不构建一个面向专业 Web 应用程序开发人员的低代码平台,既满足雇主对速度的需求,又满足开发人员对控制和职业流动性的需求呢?我们如何做到这一点?请继续阅读…


自动化样板代码生成


在开发 Web 应用程序时,需要进行大量的剪切/粘贴/修改工作。


我开发的大多数应用程序都使用了 N 层架构。在这种架构中,要在数据库表(实体)上提供用于 CRUD 操作的 REST API,我们需要开发实体代码、DAO(数据访问对象)层、服务层和 REST 控制器层。类似地,要创建让终端用户可以执行 CRUD 操作的 UI 界面,我们需要开发 UI 组件和与后端 REST API 交互的前端服务层。在我们针对单个数据库表(实体)完成了这项工作后,就要对数据库模式中的每个表重复类似的工作。想象一下,不得不为 50 个数据库表做这项工作——这是一项冗长且容易出错的工作。


更好的方法是自动化样板代码的生成。为了实现自动化,我们可以开发一个应用程序生成器,它读取数据库模式并生成后端和前端代码,从而使终端用户可以在数据库表(实体)上执行 CRUD 操作。


提供功能横切关注点扩展


随着时间的推移,我注意到,Web 应用程序有许多跨应用程序重复出现的功能横切关注点。举例来说,包括身份验证和授权、文档管理、事务性电子邮件、作业调度器、用户注册和嵌入式报表。我参与开发的几乎每个 Web 应用程序都需要这些功能。每次,我的开发团队都是重新发明轮子,从头开始构建这些横切关注点,因为我们从未想过构建通用、可定制、可跨 Web 应用使用的功能横切关注点——这浪费了多少精力和时间啊!


如果我们已经构建好功能横切关注点的代码库,那么我们就可以在每个 Web 应用程序中重用并根据需要定制它。


提供可视化开发工具


开发企业级应用程序涉及开发自定义功能,例如设计数据库模式或领域模型,为非 CRUD 操作构建自定义界面,构建企业特色的主题(颜色、字体),以及开发与外部系统的集成。


专业开发团队可以通过使用可视化开发工具进一步减少应用程序开发的时间和成本,这些工具可以加速这些自定义功能工件的开发。


支持开发团队的首选技术栈


在开发企业级应用程序时,专业开发团队对使用的开放性技术有特定的偏好,例如前端和后端框架、对象关系映射工具、UI 组件框架和依赖项管理系统。团队首选这些特定的技术,可能是因为它们是企业架构的标准,也可能是因为大多数团队成员都有使用这些技术的经验。


通过支持开发团队选择的特定技术,为专业开发人员提供低代码平台可以帮助提高而不是降低应用程序开发的速度。


小 结


上面提到的方法使开发团队能够将 Web 应用程序开发时间减少 50%以上,类似于专有的低代码平台。此外,开发人员可以完全控制源代码,开发具有复杂业务逻辑的领域驱动应用程序,并且很容易调试。最后,开发人员在开发 Web 应用程序时使用开放性技术,消除了职业流动性受限的问题。


综上所述,为专业 Web 应用程序开发者构建低代码平台消除了专有低代码平台的缺点,同时保留了其快速开发应用的优势。


查看英文原文:


https://getfastcode.com/2020/08/09/accelerating-web-app-development/


2020 年 8 月 13 日 15:341303
用户头像
陈思 InfoQ编辑

发布了 555 篇内容, 共 189.7 次阅读, 收获喜欢 1064 次。

关注

评论

发布
暂无评论
发现更多内容

穿什么衣服去面试?

escray

学习 面试 面试现场

抗疫复产,CDN助企业破局发展

华为云开发者社区

CDN 网络 华为云 CDN加速 企业应用

Mysql探索之索引详解

不才陈某

MySQL

800页PPT搞懂阿里技术及生态全貌,“未入阿里,知根知底”

周老师

Java 编程 程序员 架构 面试

增量了两个私有网络之后的对比

孙朝辉🐢

避免栽坑之掌握Jenkins工作原理

清菡

jenkins

linux入门系列16--文件共享之Samba和NFS

黑马腾云

Linux centos linux运维 Samba NFS

区块链技术发展面临七大关键挑战以及未来的五大展望

CECBC区块链专委会

区块链 新基建 数字型资产

linux入门系列17--邮件系统之Postfix和Dovecot

黑马腾云

Linux centos Dovecot Postfix 邮件系统

一篇文章搞懂前端学习方法与构建知识体系

三钻

学习 前端

Luajit字节码解析之KNUM

whosemario

lua

并发杂谈系列0 序与目录

八苦-瞿昙

随笔杂谈

第 0 期架构师训练营第5 周作业1

傅晶

最强云硬盘来了,让AI模型迭代从1周缩短到1天

华为云开发者社区

SSD 云存储 All-Flash 云硬盘 擎天架构

面试官想知道都在这里

escray

学习 面试 面试现场

建设开发者生态:6项华为API管理原则落地

华为云开发者社区

开发者 API 华为云 API Explorer平台 应用技术

企业网络安全漏洞多,这些等保服务来填坑

华为云开发者社区

Web 安全 防火墙 等保 DDoS

第 0 期架构师训练营第 6 周作业2-总结

傅晶

当“基本功”数据结构与算法被图形分解,要还不会就真的没办法了

周老师

Java 编程 程序员 架构 面试

区块链技术服务于税收治理的深圳实践

CECBC区块链专委会

区块链 电子发票 税收

年薪80万难觅技术人才 杭州区块链人才需求旺盛

CECBC区块链专委会

区块链 新基建 大学专业

第 0 期架构师训练营第 5 周作业 2-总结

傅晶

求索十五载:百度地图绘就的时代浪漫

脑极体

如何开成功一个回顾会

技术管理Jo

敏捷教练 回顾会 引导者

【Elasticsearch 技术分享】—— 十张图带大家看懂 ES 原理 !明白为什么说:ES 是准实时的!

程序员小航

Java elasticsearch 搜索 ES Lucene Elastic Search

揭开数组的真面目

Java旅途

Java 数据结构 数组

安全系列之——数据传输的完整性、私密性、源认证、不可否认性

诸葛小猿

加密解密 rsa 签名验签 数字证书 CA

LeetCode题解:155. 最小栈,单个栈+对象存储,JavaScript,详细注释

Lee Chen

LeetCode 前端进阶训练营

初识Druid——实时OLAP系统

justskinny

大数据处理 大数据技术 Apache Druid

菜市场和房屋中介

escray

学习 面试 面试现场

第 0 期架构师训练营第 6 周作业1

傅晶

全栈开发人员如何在无代码和低代码平台的新世界中成长?-InfoQ