
花费很长时间的情况会出现在, 使用开源的前端框架, 以及后端框架, 从头开始着手开发企业级Web应用程序这件事上。现如今, 客户寻觅的是快速且经济的解决方案并且趋于使用无代码, 还有低代码的应用开发平台。在这个无代码和低代码平台构成的全新世界里, 全栈开发人员要怎样才能够实现茁壮成长呢?无代码和低代码平台这些平台存在着这样一个目标, 那就是借助更为广泛的非技术以及半技术员工, 以此来增添可用的Web应用程序开发人员。供应商打造出让非技术人员用以构建简易应用程序的无代码平台, 还构建了便于那些具备基本技术技能诸如SQL等的员工用于开发更繁杂企业应用程序的低代码平台。其次, 相较于传统的Web应用开发方式而言, 这些平台能够使Web应用开发时间缩减超过50%。眼下, 存在着数量众多的供应商于无代码以及低代码的细分市场之中展开竞争, 无代码平台供应商涵盖谷歌、Betty等等, 低代码平台供应商包含一批等等。我们不会去讨论那些无代码平台, 那些无代码平台是迎合非技术人员的需求的, 是用于开发简单的应用程序的。而作为一名Web开发人员, 你不太可能会被要求在无代码平台之上构建Web应用程序。另一方面, 低代码平台被用于开发较为复杂的应用程序, 对于那些习惯运用开放性技术像是前端和后端框架去开发应用程序的专业网站开发人员而言, 运用这些低代码平台来开发网络应用程序存在着一些弊端。这里存在一片由专业的网站开发人员创作的博客文章, 其中陈述了他于这些低代码平台上工作的经历。问题1无法控制源代码低代码平台给开发Web应用程序给予了视觉隐喻, 就连应用程序的业务逻辑也是经由拖放代码控制语句就能达成之。所以, 在这些平台干活的开发人员对源代码几乎没啥控制力。对源代码缺乏控制往少了说会引致俩问题啦: 其一, 开发带有复杂业务逻辑的领域驱动应用程序颇具挑战性其二, 调试问题会变得极其困难且让人倍感沮丧。问题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应用程序开发者, 这消除了专有低代码平台的缺点, 并且还保留了其快速开发应用的优势。查看英文原文