点击查看美团、百度、蚂蚁技术专家的软件质量保障技术实践>> 了解详情
写点什么

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

  • 2020-08-13
  • 本文字数:2420 字

    阅读完需:约 8 分钟

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

本文提到的方法使开发团队能够将 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-08-13 15:341812
用户头像
陈思 InfoQ编辑

发布了 576 篇内容, 共 243.2 次阅读, 收获喜欢 1279 次。

关注

评论 1 条评论

发布
用户头像
现在有很多专门的低代码平台,开发人员在可以控制代码的情况下快速开发出应用。最近国内新出了一款低代码平台,叫码匠,是一款符合最新趋势且对开发者友好的低代码工具。它不仅大大简化了技术人员的工作量,还很大程度上满足了非技术人员对开发内部系统的诉求。这里贴一个传送门:https://majiang.co/
2022-08-05 17:31
回复
没有更多了
发现更多内容

手把手完成智慧路灯的开发,完成设备上云【华为云IoT】

DS小龙哥

10月月更

工作四年,靠这份Java面试宝典,跳槽到阿里,月薪直涨12K

收到请回复

Java 面试 语言 & 开发 金九银十

长安链源码分析之网络模块 net-liquid(6)

邂逅Vue3

渔戈

前端 Vue3 10月月更

SUSE 推出业界首个自适应 Linux 平台原型

Anthony

Linux 自适应

navicat的使用与数据库的DML操作

渔戈

MySQL SQL语句 10月月更

ElasticSearch + Kibana for Kubernetes 硬气功实践 2

CTO技术共享

elasticsearch 个人成长 10月月更

EMQ x 阿里云:云上高效构建,IoT 数据一站处理|直播预告

阿里云弹性计算

物联网 IoT 计算巢

外包和自研应该选择呢?教你三招选出最合适自己的平台

千锋IT教育

LP流动性质押挖矿dapp系统开发详情(案例演示)

开发微hkkf5566

戴尔Precision 3660工作站:设计师手里的金刚钻

科技热闻

Vue3的基本指令

渔戈

前端 Vue3 10月月更

华为架构师亲手操刀,世界五百强都在用的kafka也就那么回事

程序知音

Java kafka 架构 后端技术

秒云入选2022年成都市新经济梯度培育企业

秒云

成都市新经济梯度培育企业

文本识别与检测-【技术白皮书】第三章-第二节: 基于分割的场景文本检测方法

合合技术团队

人工智能 神经网络 文字识别 自然语言理解

SAP | abap的数据对象

暮春零贰

SAP 10月月更 数据对象

手把手教你成为荣耀开发者:如何进行注册与认证?

荣耀开发者服务平台

开发者 手机 新手指南 荣耀 honor

分布式事务-引出分布式事务

zarmnosaj

10月月更

打破汽车零部件企业供应链壁垒,数商云SCM供应链系统实现一体化采购协同

数商云

数字化转型 供应链 企业数字化

Vue模板是怎样编译的

yyds2026

Vue

分析服务用多维度、多场景的用户分层,带您深度玩转精细化游戏运营

HMS Core

分析

ERP外贸管理系统是什么?哪家好?如何选?

优秀

外贸管理 ERP系统 ERP外贸管理系统

Vue响应式系统原理并实现一个双向绑定

yyds2026

Vue

长安链源码分析之网络模块 net-liquid(7)

随需应变,快速开发工作流

力软低代码开发平台

30+场技术论坛 1000+科技新品发布 今年云栖大会我们关注什么?

阿里技术

云栖大会

NFT卡牌链游系统开发Web3游戏技术

薇電13242772558

dapp web3

开源日志收集 肿么选型??

CTO技术共享

个人成长 log 10月月更

Vue组件是怎样挂载的

yyds2026

Vue

Kubernetes fror Flink 硬气功实践

CTO技术共享

flink 个人成长 10月月更

行业方案|数字化疫情防控运行保障解决方案

云智慧AIOps社区

性能优化 安全 监控 运维管理 IT解决方案

全栈开发人员如何在无代码和低代码平台的新世界中成长?_语言 & 开发_fastCode_InfoQ精选文章