在全球大流行的艱苦壓力測(cè)試之后,企業(yè)現(xiàn)在必須應(yīng)對(duì)戰(zhàn)爭(zhēng)和疲軟的宏觀經(jīng)濟(jì)環(huán)境的壓力,同時(shí)轉(zhuǎn)型為現(xiàn)代、可組合和有競(jìng)爭(zhēng)力的企業(yè)。處于這一轉(zhuǎn)型核心的技術(shù)高管正在追求大膽而務(wù)實(shí)的戰(zhàn)略,包括快速構(gòu)建和擴(kuò)展新的軟件驅(qū)動(dòng)型業(yè)務(wù)功能。對(duì)他們來(lái)說(shuō),圣杯似乎是通過(guò)低代碼/無(wú)代碼(LCNC)方法使軟件應(yīng)用程序開(kāi)發(fā)本身民主化,以快速和大規(guī)模地交付給業(yè)務(wù)。
專(zhuān)業(yè)開(kāi)發(fā)人員和企業(yè)架構(gòu)師參與管理 LCNC 開(kāi)發(fā),因?yàn)槠髽I(yè)開(kāi)始考慮政策、流程和人員,以負(fù)責(zé)任地?cái)U(kuò)展這一運(yùn)動(dòng)。但專(zhuān)業(yè)編碼人員本身還不是LCNC平臺(tái)的積極采用者 - 他們的范圍從感興趣的觀察者(充其量)到那些討厭LCNC平臺(tái)的人(出于其正當(dāng)理由)。
根據(jù)行業(yè)估計(jì),專(zhuān)業(yè)編碼人員大約 35-40% 的時(shí)間花在設(shè)置、創(chuàng)建護(hù)欄、導(dǎo)入和與數(shù)據(jù)源集成、從頭開(kāi)始編寫(xiě)代碼、使代碼安全、測(cè)試和重新測(cè)試應(yīng)用程序、管理源代碼控制和版本控制、添加國(guó)際化、使其可訪(fǎng)問(wèn)、優(yōu)化性能以及維護(hù)或升級(jí)應(yīng)用程序。另外30%的時(shí)間花在非技術(shù)或運(yùn)營(yíng)活動(dòng)上。這樣一來(lái),他們只有不到一半的生產(chǎn)時(shí)間用于思考、創(chuàng)新和制作復(fù)雜且引人注目的應(yīng)用和體驗(yàn)。
顯然,專(zhuān)業(yè)編碼人員會(huì)感到痛苦。那么,低代碼平臺(tái)應(yīng)該提供什么來(lái)吸引專(zhuān)業(yè)程序員采用它們,更好的是,接受它們呢?讓我們深入研究。
規(guī)則1:保持開(kāi)放。提供熟悉度和可見(jiàn)性
如果一個(gè)低代碼平臺(tái)使用基于開(kāi)放標(biāo)準(zhǔn)的流行技術(shù)堆棧(React、Angular 和 Bootstrap for UI;后端彈簧;碼頭工人容器)?如果開(kāi)發(fā)人員可以實(shí)際看到并讀取正在生成的真實(shí)(不是模型生成或元數(shù)據(jù)驅(qū)動(dòng)的)代碼,該怎么辦?如果這段代碼是按照他們編碼的方式編寫(xiě)的呢?
專(zhuān)業(yè)程序員習(xí)慣于在開(kāi)放且被廣泛接受的語(yǔ)言或框架中查看、閱讀和理解真實(shí)代碼。所以,就給他們吧。
規(guī)則 2:自定義所有內(nèi)容
開(kāi)發(fā)人員需要能夠向其應(yīng)用程序添加細(xì)粒度邏輯;也就是說(shuō),在代碼編輯器中編寫(xiě)自定義服務(wù)或創(chuàng)建自定義 API,以及拖放畫(huà)布。
低代碼平臺(tái)應(yīng)該為開(kāi)發(fā)人員提供高度配置每個(gè)開(kāi)箱即用小部件的能力,以允許創(chuàng)建視覺(jué)上迷人的體驗(yàn)。
想象一下,如果開(kāi)發(fā)人員可以超越標(biāo)準(zhǔn)的 UI 小部件庫(kù)并創(chuàng)建自己的自定義組件(注入 API 的 UI 的構(gòu)建塊)并添加到他們的私有庫(kù)中。有時(shí),開(kāi)發(fā)人員可能還需要將預(yù)構(gòu)建的組件(React 或 Angular 或 GraphQL 組件導(dǎo)出為標(biāo)準(zhǔn) Web 組件)導(dǎo)入到他們的低代碼開(kāi)發(fā)平臺(tái)中并重用它們。
最后,開(kāi)發(fā)人員可能希望創(chuàng)建自己的應(yīng)用程序主題(字體、布局、顏色和樣式的組合),以便在一個(gè)或多個(gè)應(yīng)用程序或產(chǎn)品中創(chuàng)建差異化但一致的品牌用戶(hù)體驗(yàn)。
規(guī)則 3:輕松與數(shù)據(jù)源集成。快速設(shè)置。
必須支持與 API(REST、SOAP 或 WebSocket)、數(shù)據(jù)庫(kù)(如 MySQL、Maria DB、PostgreSQL、Oracle DB、SQL Server、IBM DB2、Amazon Redshift、SAP Hana、HSQL 和 Mongo DB)等數(shù)據(jù)源的集成和提取,這些數(shù)據(jù)源必須得到支持,并且毫不費(fèi)力。
CRUD 操作通常由開(kāi)發(fā)人員硬編碼,占用大量時(shí)間。如果低代碼平臺(tái)可以在導(dǎo)入數(shù)據(jù)源后自動(dòng)生成所有 CRUD API,則可以大大減少開(kāi)發(fā)時(shí)間。同樣,復(fù)制數(shù)據(jù)庫(kù)架構(gòu)的數(shù)據(jù)庫(kù)的可編輯抽象可以幫助開(kāi)發(fā)人員從平臺(tái)本身內(nèi)部操作數(shù)據(jù)。
導(dǎo)入后,開(kāi)發(fā)人員應(yīng)該能夠通過(guò)傳遞變量輕松快速地將其 UI 綁定到后端。然后,來(lái)自 REST 調(diào)用的數(shù)據(jù)應(yīng)該可以輕松地顯示為頁(yè)面上的實(shí)體,而無(wú)需任何解決方法或冗長(zhǎng)的導(dǎo)入和模型定義。同樣,使用 Swagger 導(dǎo)入,描述應(yīng)該能夠在多個(gè)端點(diǎn)或遞歸模型中重用同一模型。
規(guī)則 4:應(yīng)用必須安全、可縮放且性能高
對(duì)于用戶(hù)身份驗(yàn)證,開(kāi)發(fā)人員可能需要與數(shù)據(jù)庫(kù)、LDAP、Active Directory、SAML 和其他身份驗(yàn)證提供程序集成。應(yīng)通過(guò)支持 SAML 聯(lián)合身份驗(yàn)證和中央身份驗(yàn)證服務(wù)器 (CAS) 輕松啟用 SSO。對(duì)于授權(quán),低代碼平臺(tái)需要支持跨頁(yè)面擴(kuò)展的粗粒度和細(xì)粒度權(quán)限、頁(yè)面上的單個(gè)小部件,甚至是應(yīng)用程序公開(kāi)的單個(gè) API。
開(kāi)發(fā)人員尋求針對(duì)OWASP漏洞(XSS,CSRF,暴力攻擊,SQL注入)的保護(hù),并在應(yīng)用程序托管期間支持TLS 1.2+等加密標(biāo)準(zhǔn)。理想情況下,低代碼平臺(tái)需要由Veracode等安全領(lǐng)導(dǎo)者認(rèn)證,他們執(zhí)行嚴(yán)格的靜態(tài)和動(dòng)態(tài)測(cè)試(iAST,SAST,DAST和SCA)。
通過(guò)無(wú)會(huì)話(huà)架構(gòu)、分布式緩存、通過(guò)容器的水平擴(kuò)展以及特定于 UI 框架的性能功能(例如,Angular 13 具有延遲加載、Brotli 壓縮、樹(shù)搖動(dòng)、常春藤),使用低代碼平臺(tái)的開(kāi)發(fā)人員可以構(gòu)建高性能應(yīng)用程序,最大限度地減少聊天和 UI 到后端的往返。例如,它不是在會(huì)話(huà)中存儲(chǔ)狀態(tài),而是可以通過(guò)分布式緩存(如 Redis)提供支持,以允許應(yīng)用水平縮放。
規(guī)則 5:隨時(shí)隨地部署
開(kāi)發(fā)人員不能受限于特定于供應(yīng)商的應(yīng)用部署基礎(chǔ)結(jié)構(gòu)。他們需要自由和靈活地在任何地方托管他們的應(yīng)用程序 - 在任何公共云、私有云或混合云上,在 K8s 集群上,或在裸機(jī)/本地基礎(chǔ)設(shè)施上。提供 UI 與后端分離的開(kāi)發(fā)模型的低代碼平臺(tái)可以允許使用標(biāo)準(zhǔn)存檔或 Docker 映像單獨(dú)打包和部署 UI 和后端工件(UI 到 CDN;例如,后端到標(biāo)準(zhǔn) Java 服務(wù)器,如 Tomcat)。
規(guī)則6:復(fù)雜而長(zhǎng)期存在的應(yīng)用程序和大規(guī)模平臺(tái)
開(kāi)發(fā)人員手動(dòng)編寫(xiě)當(dāng)今使用的一些最復(fù)雜的應(yīng)用程序和系統(tǒng)。他們需要低代碼平臺(tái)來(lái)加強(qiáng)工作,并提供同樣復(fù)雜的應(yīng)用程序,這些應(yīng)用程序在維護(hù)和增強(qiáng)方面可以長(zhǎng)期可持續(xù)。
例如,低代碼平臺(tái)需要與第三方BPM工具(Camunda,jBPM,F(xiàn)lowable,Activity)集成,幫助開(kāi)發(fā)人員編排詳細(xì)的工作流/任務(wù),并且需要支持與BPM工具的運(yùn)行時(shí)引擎的完整雙向數(shù)據(jù)交換。在低代碼平臺(tái)中,開(kāi)發(fā)人員將期望輕松操作復(fù)雜數(shù)據(jù)(選擇一定數(shù)量的數(shù)組并使用邏輯將它們組合成一組新的數(shù)組),并輕松表示復(fù)雜的圖形,而無(wú)需自定義樣式/CSS或糾結(jié)數(shù)據(jù)格式。
開(kāi)發(fā)人員可能需要使用父子關(guān)系有條件地檢索數(shù)據(jù),能夠本地化和國(guó)際化應(yīng)用程序,處理部署中自定義應(yīng)用程序的復(fù)雜核心代碼合并和升級(jí),處理推送到已導(dǎo)入的 Swagger 文件的 Swagger 更改而無(wú)需重新連接所有變量,編寫(xiě)和支持與可視化開(kāi)發(fā)交錯(cuò)的復(fù)雜業(yè)務(wù)邏輯,在運(yùn)行時(shí)支持多個(gè)應(yīng)用程序主題, 支持應(yīng)用作為深層鏈接,設(shè)置點(diǎn)擊目標(biāo)以衡量/啟動(dòng)意圖或網(wǎng)址等。
規(guī)則 7:無(wú)供應(yīng)商鎖定、限制或細(xì)則
對(duì)于重視獨(dú)立和自由的開(kāi)發(fā)者來(lái)說(shuō),鎖定是嚴(yán)格的禁忌。這從訪(fǎng)問(wèn)生成的代碼開(kāi)始。在這個(gè)領(lǐng)域表現(xiàn)良好的低代碼平臺(tái)很容易使開(kāi)發(fā)人員不僅能夠查看和讀取生成的代碼,而且還可以將平臺(tái)外部的源代碼導(dǎo)出到他們選擇的IDE。
開(kāi)發(fā)人員也不喜歡低代碼平臺(tái),這些平臺(tái)迫使他們使用運(yùn)行時(shí)環(huán)境來(lái)部署應(yīng)用程序,從而在應(yīng)用程序的整個(gè)生命周期中有效地將開(kāi)發(fā)人員及其雇主鎖定在平臺(tái)中。最后,從許可的角度來(lái)看,將開(kāi)發(fā)人員限制為有限數(shù)量的應(yīng)用程序、應(yīng)用程序?qū)ο蠡蜃罱K用戶(hù)的低代碼平臺(tái)有效地將開(kāi)發(fā)人員限制在商業(yè)模式上,這種模式隨著使用和更多應(yīng)用程序的使用而迅速變得昂貴。
規(guī)則 8:現(xiàn)代(云原生)環(huán)境、實(shí)踐和標(biāo)準(zhǔn)
使用云原生低代碼平臺(tái)的開(kāi)發(fā)人員在協(xié)作、易于訪(fǎng)問(wèn)、可用性、靈活性、安全性、頻繁且輕松的升級(jí)、水平擴(kuò)展以及用于應(yīng)用開(kāi)發(fā)和部署的模型的整體單位經(jīng)濟(jì)性方面受益匪淺。
開(kāi)發(fā)人員友好的低代碼平臺(tái)使用現(xiàn)代設(shè)計(jì)模式(例如,Java maven 項(xiàng)目)生成代碼,使開(kāi)發(fā)人員能夠跨應(yīng)用程序堆棧的所有層查看、擴(kuò)展和自定義代碼。它們使每個(gè)用戶(hù)都能將工作區(qū)作為容器實(shí)例運(yùn)行。構(gòu)建應(yīng)用時(shí),會(huì)在低代碼平臺(tái)的源代碼管理/Git 中為其自動(dòng)創(chuàng)建一個(gè)存儲(chǔ)庫(kù)(并與 Prometheus/EFK 集成以獲取日志和指標(biāo))。
最后,開(kāi)發(fā)人員欣賞采用現(xiàn)代標(biāo)準(zhǔn)的低代碼平臺(tái),例如Android Material Design規(guī)范,用于視覺(jué)設(shè)計(jì)和使用開(kāi)箱即用的小部件和主題跨多個(gè)設(shè)備構(gòu)建交互。他們重視創(chuàng)建功能性、可分發(fā)、可重用、API 集成和可獨(dú)立測(cè)試的體驗(yàn)組件的能力。提供十二因素標(biāo)準(zhǔn)的低代碼平臺(tái)向開(kāi)發(fā)人員保證他們的應(yīng)用程序值得信賴(lài)。
規(guī)則 9:很好地使用設(shè)計(jì)、構(gòu)建、測(cè)試和發(fā)布流程和工具集
使用低代碼平臺(tái)的開(kāi)發(fā)人員希望他們的應(yīng)用程序連接到其他手動(dòng)編碼的應(yīng)用程序、集成或嵌入到其他手動(dòng)編碼的應(yīng)用程序中。除了 iFrame 支持之外,支持通過(guò)微前端方法嵌入的低代碼平臺(tái)(如單 SPA)還為開(kāi)發(fā)人員提供了復(fù)雜的功能,以創(chuàng)建涵蓋高代碼和低代碼開(kāi)發(fā)應(yīng)用的無(wú)縫端到端體驗(yàn)。
專(zhuān)業(yè)的應(yīng)用程序開(kāi)發(fā)團(tuán)隊(duì)傾向于使用Figma,Sketch或UXPin等設(shè)計(jì)工具;QA 工具,如硒、量角器或 Karma,用于測(cè)試 Web 應(yīng)用程序;用于測(cè)試移動(dòng)應(yīng)用程序的Appium;以及性能測(cè)試工具和應(yīng)用程序分析器,如 AppDynamics 或 New Relic。DevOps 團(tuán)隊(duì)擁有大量用于構(gòu)建、測(cè)試、集成和部署過(guò)程的工具。部署后,開(kāi)發(fā)人員希望通過(guò)Google Analytics或Adobe Analytics監(jiān)控應(yīng)用程序性能事件和頁(yè)面跟蹤。深受開(kāi)發(fā)人員喜愛(ài)的低代碼平臺(tái)必須很好地發(fā)揮作用,并與這些工具集無(wú)縫集成,并設(shè)計(jì)、構(gòu)建、測(cè)試、發(fā)布和監(jiān)控流程。
最后,雖然低代碼平臺(tái)可以提供自己的VCS(如Gitlab),但它們需要提供與GitHub或Bitbucket等外部存儲(chǔ)庫(kù)的輕松集成。開(kāi)發(fā)人員應(yīng)該能夠拉取、查看和推送更改,并合并源代碼管理系統(tǒng)之間的沖突。他們將喜歡低代碼平臺(tái),這些平臺(tái)支持從代碼級(jí)提交到組件級(jí)和應(yīng)用程序級(jí)版本控制(包括主要或次要版本格式)的應(yīng)用程序版本控制,允許應(yīng)用程序的多個(gè)版本在不同的部署環(huán)境(如測(cè)試、暫存或預(yù)生產(chǎn))中共存。
規(guī)則 10:面向未來(lái)的我、我的應(yīng)用和我的雇主
使用低代碼平臺(tái)的 UI 開(kāi)發(fā)人員或后端開(kāi)發(fā)人員應(yīng)該能夠開(kāi)發(fā)完整的應(yīng)用程序,例如 SQL、JS/Java 和零 DevOps 的基本知識(shí),并轉(zhuǎn)變?yōu)槿珬i_(kāi)發(fā)人員。以Java世界為例,開(kāi)發(fā)人員不需要高級(jí)JS框架,HTML5,CSS,Bootstrap,Spring,ORM,REST,高級(jí)SQL,本機(jī)設(shè)備編程,移動(dòng)集成,構(gòu)建和運(yùn)行Docker腳本或與CI / CD管道的手動(dòng)集成的知識(shí)。
對(duì)于使用低代碼平臺(tái)構(gòu)建的應(yīng)用程序的技術(shù)堆棧升級(jí),開(kāi)發(fā)人員應(yīng)該能夠在具有最新技術(shù)堆棧的低代碼平臺(tái)的目標(biāo)版本中打開(kāi)應(yīng)用程序(例如,Angular 14 for UI)。應(yīng)用程序升級(jí)應(yīng)該是自動(dòng)的,并且過(guò)渡是無(wú)縫的。
開(kāi)發(fā)人員和首席技術(shù)官/首席信息官都在不斷擔(dān)心為未來(lái)創(chuàng)造技術(shù)債務(wù)。企業(yè)友好的低代碼平臺(tái)建立在基于開(kāi)放標(biāo)準(zhǔn)的現(xiàn)代技術(shù)堆棧之上,將技術(shù)升級(jí)的負(fù)擔(dān)轉(zhuǎn)移到平臺(tái),提供可使用常用技能集在平臺(tái)外部擴(kuò)展的源代碼,并與現(xiàn)代企業(yè)的工具集、實(shí)踐和標(biāo)準(zhǔn)很好地配合使用。
審核編輯:郭婷
-
JAVA
+關(guān)注
關(guān)注
20文章
2992瀏覽量
114834 -
API
+關(guān)注
關(guān)注
2文章
1937瀏覽量
65545 -
MySQL
+關(guān)注
關(guān)注
1文章
892瀏覽量
28889
發(fā)布評(píng)論請(qǐng)先 登錄
設(shè)計(jì)規(guī)則13條:旁路電容設(shè)計(jì)指南

低代碼開(kāi)發(fā)的五個(gè)優(yōu)勢(shì)是什么
STM32f10xxx庫(kù)函數(shù)的編碼規(guī)則
HDB3特點(diǎn)及編碼規(guī)則
PCB設(shè)計(jì)中元器件布局的10條規(guī)則,布線(xiàn)的規(guī)則是什么?

嵌入式C代碼編碼習(xí)慣要遵循哪些規(guī)則
什么是低代碼
元器件布局的10條規(guī)則

低代碼是什么意思,低代碼開(kāi)發(fā)平臺(tái)中的功能
低代碼會(huì)使初級(jí)碼農(nóng)失業(yè)嗎
貼吧低代碼高性能規(guī)則引擎設(shè)計(jì)
SRRC證書(shū)樣式和代碼編碼規(guī)則即將施行

低代碼(Low-Code)是什么?低代碼的特點(diǎn)有哪些?
國(guó)內(nèi)低代碼平臺(tái)推薦--萬(wàn)界星空科技低代碼平臺(tái)

評(píng)論