在全球大流行的艱苦壓力測試之后,企業現在必須應對戰爭和疲軟的宏觀經濟環境的壓力,同時轉型為現代、可組合和有競爭力的企業。處于這一轉型核心的技術高管正在追求大膽而務實的戰略,包括快速構建和擴展新的軟件驅動型業務功能。對他們來說,圣杯似乎是通過低代碼/無代碼(LCNC)方法使軟件應用程序開發本身民主化,以快速和大規模地交付給業務。
專業開發人員和企業架構師參與管理 LCNC 開發,因為企業開始考慮政策、流程和人員,以負責任地擴展這一運動。但專業編碼人員本身還不是LCNC平臺的積極采用者 - 他們的范圍從感興趣的觀察者(充其量)到那些討厭LCNC平臺的人(出于其正當理由)。
根據行業估計,專業編碼人員大約 35-40% 的時間花在設置、創建護欄、導入和與數據源集成、從頭開始編寫代碼、使代碼安全、測試和重新測試應用程序、管理源代碼控制和版本控制、添加國際化、使其可訪問、優化性能以及維護或升級應用程序。另外30%的時間花在非技術或運營活動上。這樣一來,他們只有不到一半的生產時間用于思考、創新和制作復雜且引人注目的應用和體驗。
顯然,專業編碼人員會感到痛苦。那么,低代碼平臺應該提供什么來吸引專業程序員采用它們,更好的是,接受它們呢?讓我們深入研究。
規則1:保持開放。提供熟悉度和可見性
如果一個低代碼平臺使用基于開放標準的流行技術堆棧(React、Angular 和 Bootstrap for UI;后端彈簧;碼頭工人容器)?如果開發人員可以實際看到并讀取正在生成的真實(不是模型生成或元數據驅動的)代碼,該怎么辦?如果這段代碼是按照他們編碼的方式編寫的呢?
專業程序員習慣于在開放且被廣泛接受的語言或框架中查看、閱讀和理解真實代碼。所以,就給他們吧。
規則 2:自定義所有內容
開發人員需要能夠向其應用程序添加細粒度邏輯;也就是說,在代碼編輯器中編寫自定義服務或創建自定義 API,以及拖放畫布。
低代碼平臺應該為開發人員提供高度配置每個開箱即用小部件的能力,以允許創建視覺上迷人的體驗。
想象一下,如果開發人員可以超越標準的 UI 小部件庫并創建自己的自定義組件(注入 API 的 UI 的構建塊)并添加到他們的私有庫中。有時,開發人員可能還需要將預構建的組件(React 或 Angular 或 GraphQL 組件導出為標準 Web 組件)導入到他們的低代碼開發平臺中并重用它們。
最后,開發人員可能希望創建自己的應用程序主題(字體、布局、顏色和樣式的組合),以便在一個或多個應用程序或產品中創建差異化但一致的品牌用戶體驗。
規則 3:輕松與數據源集成??焖僭O置。
必須支持與 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)。應用程序升級應該是自動的,并且過渡是無縫的。
開發人員和首席技術官/首席信息官都在不斷擔心為未來創造技術債務。企業友好的低代碼平臺建立在基于開放標準的現代技術堆棧之上,將技術升級的負擔轉移到平臺,提供可使用常用技能集在平臺外部擴展的源代碼,并與現代企業的工具集、實踐和標準很好地配合使用。
審核編輯:郭婷
-
JAVA
+關注
關注
19文章
2972瀏覽量
104869 -
API
+關注
關注
2文章
1505瀏覽量
62183 -
MySQL
+關注
關注
1文章
817瀏覽量
26631
發布評論請先 登錄
相關推薦
評論