严肃编码人员的10条低代码规则

描述

在全球大流行的艰苦压力测试之后,企业现在必须应对战争和疲软的宏观经济环境的压力,同时转型为现代、可组合和有竞争力的企业。处于这一转型核心的技术高管正在追求大胆而务实的战略,包括快速构建和扩展新的软件驱动型业务功能。对他们来说,圣杯似乎是通过低代码/无代码(LCNC)方法使软件应用程序开发本身民主化,以快速和大规模地交付给业务。

专业开发人员和企业架构师参与管理 LCNC 开发,因为企业开始考虑政策、流程和人员,以负责任地扩展这一运动。但专业编码人员本身还不是LCNC平台的积极采用者 - 他们的范围从感兴趣的观察者(充其量)到那些讨厌LCNC平台的人(出于其正当理由)。

根据行业估计,专业编码人员大约 35-40% 的时间花在设置、创建护栏、导入和与数据源集成、从头开始编写代码、使代码安全、测试和重新测试应用程序、管理源代码控制和版本控制、添加国际化、使其可访问、优化性能以及维护或升级应用程序。另外30%的时间花在非技术或运营活动上。这样一来,他们只有不到一半的生产时间用于思考、创新和制作复杂且引人注目的应用和体验。

显然,专业编码人员会感到痛苦。那么,低代码平台应该提供什么来吸引专业程序员采用它们,更好的是,接受它们呢?让我们深入研究。

规则1:保持开放。提供熟悉度和可见性

如果一个低代码平台使用基于开放标准的流行技术堆栈(React、Angular 和 Bootstrap for UI;后端弹簧;码头工人容器)?如果开发人员可以实际看到并读取正在生成的真实(不是模型生成或元数据驱动的)代码,该怎么办?如果这段代码是按照他们编码的方式编写的呢?

专业程序员习惯于在开放且被广泛接受的语言或框架中查看、阅读和理解真实代码。所以,就给他们吧。

规则 2:自定义所有内容

开发人员需要能够向其应用程序添加细粒度逻辑;也就是说,在代码编辑器中编写自定义服务或创建自定义 API,以及拖放画布。

低代码平台应该为开发人员提供高度配置每个开箱即用小部件的能力,以允许创建视觉上迷人的体验。

想象一下,如果开发人员可以超越标准的 UI 小部件库并创建自己的自定义组件(注入 API 的 UI 的构建块)并添加到他们的私有库中。有时,开发人员可能还需要将预构建的组件(React 或 Angular 或 GraphQL 组件导出为标准 Web 组件)导入到他们的低代码开发平台中并重用它们。

最后,开发人员可能希望创建自己的应用程序主题(字体、布局、颜色和样式的组合),以便在一个或多个应用程序或产品中创建差异化但一致的品牌用户体验。

规则 3:轻松与数据源集成。快速设置。

必须支持与 API(REST、SOAP 或 WebSocket)、数据库(如 MySQL、Maria DB、PostgreSQL、Oracle DB、SQL Server、IBM DB2、Amazon Redshift、SAP Hana、HSQL 和 Mongo DB)等数据源的集成和提取,这些数据源必须得到支持,并且毫不费力。

CRUD 操作通常由开发人员硬编码,占用大量时间。如果低代码平台可以在导入数据源后自动生成所有 CRUD API,则可以大大减少开发时间。同样,复制数据库架构的数据库的可编辑抽象可以帮助开发人员从平台本身内部操作数据。

导入后,开发人员应该能够通过传递变量轻松快速地将其 UI 绑定到后端。然后,来自 REST 调用的数据应该可以轻松地显示为页面上的实体,而无需任何解决方法或冗长的导入和模型定义。同样,使用 Swagger 导入,描述应该能够在多个端点或递归模型中重用同一模型。

规则 4:应用必须安全、可缩放且性能高

对于用户身份验证,开发人员可能需要与数据库、LDAP、Active Directory、SAML 和其他身份验证提供程序集成。应通过支持 SAML 联合身份验证和中央身份验证服务器 (CAS) 轻松启用 SSO。对于授权,低代码平台需要支持跨页面扩展的粗粒度和细粒度权限、页面上的单个小部件,甚至是应用程序公开的单个 API。

开发人员寻求针对OWASP漏洞(XSS,CSRF,暴力攻击,SQL注入)的保护,并在应用程序托管期间支持TLS 1.2+等加密标准。理想情况下,低代码平台需要由Veracode等安全领导者认证,他们执行严格的静态和动态测试(iAST,SAST,DAST和SCA)。

通过无会话架构、分布式缓存、通过容器的水平扩展以及特定于 UI 框架的性能功能(例如,Angular 13 具有延迟加载、Brotli 压缩、树摇动、常春藤),使用低代码平台的开发人员可以构建高性能应用程序,最大限度地减少聊天和 UI 到后端的往返。例如,它不是在会话中存储状态,而是可以通过分布式缓存(如 Redis)提供支持,以允许应用水平缩放。

规则 5:随时随地部署

开发人员不能受限于特定于供应商的应用部署基础结构。他们需要自由和灵活地在任何地方托管他们的应用程序 - 在任何公共云、私有云或混合云上,在 K8s 集群上,或在裸机/本地基础设施上。提供 UI 与后端分离的开发模型的低代码平台可以允许使用标准存档或 Docker 映像单独打包和部署 UI 和后端工件(UI 到 CDN;例如,后端到标准 Java 服务器,如 Tomcat)。

规则6:复杂而长期存在的应用程序和大规模平台

开发人员手动编写当今使用的一些最复杂的应用程序和系统。他们需要低代码平台来加强工作,并提供同样复杂的应用程序,这些应用程序在维护和增强方面可以长期可持续。

例如,低代码平台需要与第三方BPM工具(Camunda,jBPM,Flowable,Activity)集成,帮助开发人员编排详细的工作流/任务,并且需要支持与BPM工具的运行时引擎的完整双向数据交换。在低代码平台中,开发人员将期望轻松操作复杂数据(选择一定数量的数组并使用逻辑将它们组合成一组新的数组),并轻松表示复杂的图形,而无需自定义样式/CSS或纠结数据格式。

开发人员可能需要使用父子关系有条件地检索数据,能够本地化和国际化应用程序,处理部署中自定义应用程序的复杂核心代码合并和升级,处理推送到已导入的 Swagger 文件的 Swagger 更改而无需重新连接所有变量,编写和支持与可视化开发交错的复杂业务逻辑,在运行时支持多个应用程序主题, 支持应用作为深层链接,设置点击目标以衡量/启动意图或网址等。

规则 7:无供应商锁定、限制或细则

对于重视独立和自由的开发者来说,锁定是严格的禁忌。这从访问生成的代码开始。在这个领域表现良好的低代码平台很容易使开发人员不仅能够查看和读取生成的代码,而且还可以将平台外部的源代码导出到他们选择的IDE。

开发人员也不喜欢低代码平台,这些平台迫使他们使用运行时环境来部署应用程序,从而在应用程序的整个生命周期中有效地将开发人员及其雇主锁定在平台中。最后,从许可的角度来看,将开发人员限制为有限数量的应用程序、应用程序对象或最终用户的低代码平台有效地将开发人员限制在商业模式上,这种模式随着使用和更多应用程序的使用而迅速变得昂贵。

规则 8:现代(云原生)环境、实践和标准

使用云原生低代码平台的开发人员在协作、易于访问、可用性、灵活性、安全性、频繁且轻松的升级、水平扩展以及用于应用开发和部署的模型的整体单位经济性方面受益匪浅。

开发人员友好的低代码平台使用现代设计模式(例如,Java maven 项目)生成代码,使开发人员能够跨应用程序堆栈的所有层查看、扩展和自定义代码。它们使每个用户都能将工作区作为容器实例运行。构建应用时,会在低代码平台的源代码管理/Git 中为其自动创建一个存储库(并与 Prometheus/EFK 集成以获取日志和指标)。

最后,开发人员欣赏采用现代标准的低代码平台,例如Android Material Design规范,用于视觉设计和使用开箱即用的小部件和主题跨多个设备构建交互。他们重视创建功能性、可分发、可重用、API 集成和可独立测试的体验组件的能力。提供十二因素标准的低代码平台向开发人员保证他们的应用程序值得信赖。

规则 9:很好地使用设计、构建、测试和发布流程和工具集

使用低代码平台的开发人员希望他们的应用程序连接到其他手动编码的应用程序、集成或嵌入到其他手动编码的应用程序中。除了 iFrame 支持之外,支持通过微前端方法嵌入的低代码平台(如单 SPA)还为开发人员提供了复杂的功能,以创建涵盖高代码和低代码开发应用的无缝端到端体验。

专业的应用程序开发团队倾向于使用Figma,Sketch或UXPin等设计工具;QA 工具,如硒、量角器或 Karma,用于测试 Web 应用程序;用于测试移动应用程序的Appium;以及性能测试工具和应用程序分析器,如 AppDynamics 或 New Relic。DevOps 团队拥有大量用于构建、测试、集成和部署过程的工具。部署后,开发人员希望通过Google Analytics或Adobe Analytics监控应用程序性能事件和页面跟踪。深受开发人员喜爱的低代码平台必须很好地发挥作用,并与这些工具集无缝集成,并设计、构建、测试、发布和监控流程。

最后,虽然低代码平台可以提供自己的VCS(如Gitlab),但它们需要提供与GitHub或Bitbucket等外部存储库的轻松集成。开发人员应该能够拉取、查看和推送更改,并合并源代码管理系统之间的冲突。他们将喜欢低代码平台,这些平台支持从代码级提交到组件级和应用程序级版本控制(包括主要或次要版本格式)的应用程序版本控制,允许应用程序的多个版本在不同的部署环境(如测试、暂存或预生产)中共存。

规则 10:面向未来的我、我的应用和我的雇主

使用低代码平台的 UI 开发人员或后端开发人员应该能够开发完整的应用程序,例如 SQL、JS/Java 和零 DevOps 的基本知识,并转变为全栈开发人员。以Java世界为例,开发人员不需要高级JS框架,HTML5,CSS,Bootstrap,Spring,ORM,REST,高级SQL,本机设备编程,移动集成,构建和运行Docker脚本或与CI / CD管道的手动集成的知识。

对于使用低代码平台构建的应用程序的技术堆栈升级,开发人员应该能够在具有最新技术堆栈的低代码平台的目标版本中打开应用程序(例如,Angular 14 for UI)。应用程序升级应该是自动的,并且过渡是无缝的。

开发人员和首席技术官/首席信息官都在不断担心为未来创造技术债务。企业友好的低代码平台建立在基于开放标准的现代技术堆栈之上,将技术升级的负担转移到平台,提供可使用常用技能集在平台外部扩展的源代码,并与现代企业的工具集、实践和标准很好地配合使用。

审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分