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