低代碼平臺和專業(yè)開發(fā)人員——完美搭檔?(低代碼開發(fā)平臺介紹)
使用前端和后端框架從頭開始開發(fā)企業(yè)級 Web 應用程序需要很長時間。如今,客戶正在尋找快速且具有成本效益的解決方案,并傾向于使用無代碼和低代碼應用程序開發(fā)平臺。
使用前端和后端框架從頭開始開發(fā)企業(yè)級 Web 應用程序需要很長時間。如今,客戶正在尋找快速且具有成本效益的解決方案,并傾向于使用無代碼和低代碼應用程序開發(fā)平臺。全棧開發(fā)人員如何在無代碼和低代碼平臺之上如何快速落地?
主要分享低代碼、微服務、容器化、SAAS?、系統(tǒng)架構方面的的?內容??,希望?大家?點贊?,評論,關注?。
無代碼和低代碼平臺
這些平臺的一個目的是通過利用更廣泛的非技術和半技術員工來增加可用的 Web 應用程序開發(fā)人員的數(shù)量。供應商開發(fā)了非技術員工使用的無代碼平臺來構建簡單的應用程序,以及具有基本技術技能(例如:SQL、JavaScript)的員工使用的低代碼平臺來開發(fā)更復雜的企業(yè)應用程序。其次,與傳統(tǒng)的 Web 應用程序開發(fā)方法相比,這些平臺可以將 Web 應用程序的開發(fā)時間減少 50% 以上。
目前,在無代碼和低代碼市場領域存在大量供應商競爭。無代碼平臺供應商包括 AppSheet (Google)、Betty Blocks、QuickBase、Airtable、Bubble 和 Microsoft PowerApps。低代碼平臺供應商包括 Microsoft PowerApps、OutSystems、Mendix、Salesforce Lightning Platform、Nintex、Appian 和 Pegasystems及國內的微搭、宜搭、AppCube。
我們不會討論無代碼平臺,因為它們適合非技術用戶開發(fā)簡單的應用程序。作為專業(yè)的 Web 應用程序開發(fā)人員,您不太可能被要求在無代碼平臺上工作。
另一方面,低代碼平臺用于開發(fā)更復雜的應用程序。對于習慣于使用開源前端和后端框架開發(fā)應用程序的專業(yè) Web 開發(fā)人員來說,使用這些低代碼平臺構建 Web 應用程序有幾個缺點。這是來自專業(yè)網絡應用程序開發(fā)人員的一篇博客文章,講述了他在其中一個低代碼平臺上工作的經歷。
問題 1:無法控制源代碼
低代碼平臺為開發(fā) Web 應用程序提供了一種視覺隱喻。甚至app的業(yè)務邏輯都是通過if/then/else等代碼控制語句的拖拽來實現(xiàn)的。因此,在這些平臺上工作的開發(fā)人員幾乎無法控制源代碼。無法控制源代碼至少會產生兩個問題:(a) 開發(fā)具有復雜業(yè)務邏輯的域驅動應用程序具有挑戰(zhàn)性,(b) 調試問題可能非常困難和令人沮喪。
問題 2:限制職業(yè)流動性
在低代碼平臺上全職工作可能會限制專業(yè) Web 應用程序開發(fā)人員的職業(yè)流動性。他們將失去目前在開放編程語言和框架方面的技術技能,并在專有的低代碼平臺上獲得技能。假設這個專有的低代碼平臺沒有被雇主廣泛采用,目前任何特定的低代碼平臺都是這種情況。在這種情況下,開發(fā)人員的低代碼平臺技能只能在同樣采用相同低代碼平臺的另一個雇主處使用。這嚴重限制了開發(fā)人員的職業(yè)流動性。
有更好的選擇嗎?是的。為什么不為專業(yè)的 Web 應用程序開發(fā)人員構建一個低代碼平臺,既滿足雇主對速度的需求,又滿足開發(fā)人員對控制和職業(yè)流動性的需求?我們將此類平臺稱為“開放”低代碼平臺。這些平臺如何運作?繼續(xù)閱讀……
生成模板代碼
在開發(fā) Web 應用程序時,有相當多的剪切/粘貼/修改工作。
大多數(shù)應用程序使用 N 層架構。在這個架構中,要為數(shù)據庫表(實體)上的 CRUD 操作提供 ReST API,我們需要為實體、DAO(數(shù)據訪問對象)層、服務層和 ReST 控制器層開發(fā)代碼。同樣,要創(chuàng)建 UI 屏幕以允許最終用戶執(zhí)行 CRUD 操作,我們需要開發(fā) UI 組件和與后端 ReST API 交互的前端服務層。一旦對單個數(shù)據庫表(實體)完成了這項工作,就必須對數(shù)據庫模式的每個表重復類似的工作。
想象一下,必須為 50 個數(shù)據庫表執(zhí)行此操作——這是一項乏味且容易出錯的工作。
更好的方法是自動生成此樣板代碼。為了自動化,我們可以開發(fā)一個應用程序生成器來讀取數(shù)據庫模式并生成后端和前端代碼,以允許最終用戶對數(shù)據庫表(實體)執(zhí)行 CRUD 操作。
為常用應用功能提供附加組件
Web 應用程序具有跨應用程序重復的通用功能。此類常見功能的示例包括身份驗證和授權、文檔管理、事務性電子郵件、作業(yè)計劃程序、用戶注冊和嵌入式報告。幾乎我參與開發(fā)的每個 Web 應用程序都需要這些功能。在每種情況下,我的開發(fā)團隊都重新發(fā)明了輪子并從頭開始構建這些橫切關注點,因為我們從未考慮過構建可跨 Web 應用程序使用的通用和可定制的通用功能 – 多么浪費精力和時間!
如果此類通用功能的基本代碼已經構建并可用,我們可以重用它并根據每個 Web 應用程序的需要對其進行定制。
提供可視化開發(fā)工具
開發(fā)企業(yè)應用程序涉及開發(fā)自定義功能,例如設計數(shù)據庫模式或域模型、為非 CRUD 操作構建自定義屏幕、構建企業(yè)特定主題(顏色、字體)以及開發(fā)與外部系統(tǒng)的集成。
專業(yè)開發(fā)團隊可以通過使用加速這些自定義功能工件開發(fā)的可視化開發(fā)工具來進一步減少應用程序開發(fā)時間和成本。
支持開發(fā)團隊的技術棧
在開發(fā)企業(yè)應用程序時,專業(yè)開發(fā)團隊對所使用的開放技術有特定的偏好,例如前端和后端框架、對象關系映射工具、UI 組件框架和依賴管理系統(tǒng)。團隊首選特定技術,因為它們是企業(yè)架構標準,或者因為大多數(shù)團隊成員都有使用這些技術的經驗。
通過支持開發(fā)團隊選擇的特定技術,為專業(yè)開發(fā)人員開放的低代碼平臺可以幫助而不是降低應用程序開發(fā)的速度。
結論
上述方法允許開發(fā)團隊將開發(fā) Web 應用程序的時間減少 50% 以上,類似于專有的低代碼平臺。此外,開發(fā)人員可以完全控制源代碼,從而消除他們無法輕松調試問題和開發(fā)具有復雜業(yè)務的領域驅動應用程序的能力。最后,開發(fā)人員在開發(fā) Web 應用程序時使用開放技術,從而消除了職業(yè)流動性受限的問題。
總而言之,為專業(yè) Web 應用程序開發(fā)人員構建的低代碼平臺,可提供其快速應用程序開發(fā)的優(yōu)勢。
主要分享低代碼、微服務、容器化、SAAS?、系統(tǒng)架構方面的的?內容??,希望?大家?點贊?,評論,關注?。