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