低代碼方法的破碎承諾(低代碼解決方案)
盡管承諾簡(jiǎn)化和填補(bǔ) IT 技能差距,但它可能更像是一種錯(cuò)覺(jué),而不是提升團(tuán)隊(duì)交付實(shí)際價(jià)值的能力。
翻譯自 Broken Promises of the Low-Code Approach 。
圖片來(lái)自 Shutterstock 的 seamind224
這是一個(gè)三部曲系列的第一部分。
很容易被低代碼和無(wú)代碼解決方案的熱情所席卷(我將簡(jiǎn)稱(chēng)為低代碼),特別是考慮到它們誘人的簡(jiǎn)單性和用戶(hù)友好的界面的吸引力。它們被譽(yù)為解決 IT 技能差距的答案,使非技術(shù)用戶(hù)能夠在無(wú)需編寫(xiě)一行代碼的情況下創(chuàng)建功能應(yīng)用。然而,這些工具對(duì)于您的團(tuán)隊(duì)的實(shí)際效果往往更像是一種幻覺(jué),而不是一個(gè)能夠徹底改變局面的東西,尤其是在不斷演變的編程趨勢(shì)和工具的背景下進(jìn)行審視時(shí)。
低代碼的誘人之處
低代碼平臺(tái)具有不可否認(rèn)的吸引力,尤其適用于渴望釋放團(tuán)隊(duì)速度和敏捷性、實(shí)現(xiàn)快速應(yīng)用開(kāi)發(fā)的領(lǐng)導(dǎo)者。對(duì)廣泛編碼知識(shí)的需求被消除,節(jié)省了 IT 資源,并使能夠?yàn)閼?yīng)用開(kāi)發(fā)做出貢獻(xiàn)的能力民主化。對(duì)于擁有有限 IT 資源的中小型企業(yè)而言,這可能是一個(gè)重要優(yōu)勢(shì)。
同樣具有吸引力的是低代碼解決方案的成本效益。通過(guò)減少對(duì)經(jīng)驗(yàn)豐富的程序員的依賴(lài),這些平臺(tái)有可能大幅降低勞動(dòng)力成本,而這些程序員往往成本更高且更難以留住。此外,許多低代碼平臺(tái)提供內(nèi)置的可擴(kuò)展性,使應(yīng)用能夠處理隨著用戶(hù)群體增長(zhǎng)而增加的負(fù)載。
低代碼核心的誤解
事實(shí)是,許多低代碼解決方案在軟件開(kāi)發(fā)方面存在根本誤解:它們將理解編程語(yǔ)言語(yǔ)法的挑戰(zhàn)與設(shè)計(jì)有效的應(yīng)用邏輯的挑戰(zhàn)混為一談。編程語(yǔ)言只是工具;它們的語(yǔ)法僅僅是表達(dá)解決方案的手段。軟件開(kāi)發(fā)的真正核心在于問(wèn)題解決,即制定算法、數(shù)據(jù)結(jié)構(gòu)和接口,以高效地滿(mǎn)足應(yīng)用的需求。
通過(guò)圖形用戶(hù)界面(GUI)來(lái)簡(jiǎn)化軟件開(kāi)發(fā),低代碼解決方案在不必然簡(jiǎn)化設(shè)計(jì)強(qiáng)大應(yīng)用的基本挑戰(zhàn)的情況下替代了語(yǔ)法。這種方法可能會(huì)引入多個(gè)缺點(diǎn),同時(shí)未能減輕軟件創(chuàng)作的真正復(fù)雜性,最終可能對(duì)團(tuán)隊(duì)交付真正價(jià)值的能力產(chǎn)生負(fù)面影響。
低代碼解決方案的其他陷阱
低代碼解決方案經(jīng)常在有限的定制性方面掙扎,通常無(wú)法滿(mǎn)足特定、復(fù)雜或獨(dú)特的業(yè)務(wù)需求。供應(yīng)商束縛的風(fēng)險(xiǎn)是另一個(gè)重大不利因素,如果定價(jià)、功能提供或供應(yīng)商關(guān)閉,用戶(hù)可能會(huì)陷入困境。我曾親身經(jīng)歷過(guò)這些事件,團(tuán)隊(duì)的結(jié)果相當(dāng)災(zāi)難性。他們面臨嚴(yán)重的技能缺口和長(zhǎng)時(shí)間的低生產(chǎn)力期。
性能和效率問(wèn)題也是一個(gè)問(wèn)題。通過(guò)低代碼平臺(tái)開(kāi)發(fā)的應(yīng)用可能不如使用傳統(tǒng)代碼精心設(shè)計(jì)的應(yīng)用性能好,特別是對(duì)于大型復(fù)雜應(yīng)用而言。
簡(jiǎn)單的承諾往往導(dǎo)致意想不到的復(fù)雜性現(xiàn)實(shí)。雖然低代碼平臺(tái)在創(chuàng)建簡(jiǎn)單應(yīng)用方面表現(xiàn)出色,但在處理更復(fù)雜場(chǎng)景時(shí)往往不夠出色。當(dāng)這些工具由缺乏開(kāi)發(fā)復(fù)雜系統(tǒng)經(jīng)驗(yàn)的人使用時(shí),這種挑戰(zhàn)通常會(huì)加劇。
最近的趨勢(shì)提供了一種替代方法
考慮到上述挑戰(zhàn),隨著幾乎適用于各種情況的代碼庫(kù)和框架的不斷增多,低代碼解決方案的價(jià)值進(jìn)一步削弱??紤]一些框架,如 Next.js 和 Nitric ,或平臺(tái)如 Supabase 和 Vercel。這些較新的面向開(kāi)發(fā)者的工具通常比低代碼等價(jià)物更具生產(chǎn)力,而且肯定使最終的應(yīng)用更具未來(lái)可靠性。
這些解決方案采用了一種不同的提高生產(chǎn)力的方法。它們簡(jiǎn)化了開(kāi)發(fā)人員的工作流程,保持了傳統(tǒng)編碼中固有的靈活性,而不是替代小眾的低代碼選擇。這使得低代碼解決方案經(jīng)常難以適應(yīng)的定制性、適應(yīng)性和復(fù)雜性的能夠保持開(kāi)放,同時(shí)允許有限的開(kāi)發(fā)團(tuán)隊(duì)以更少的代碼實(shí)現(xiàn)更多的成果。
我管理的團(tuán)隊(duì)通常更熱衷于使用面向開(kāi)發(fā)者的框架和工具;它們提供更愉快的開(kāi)發(fā)體驗(yàn),并擁有更廣泛的社區(qū)支持。這使得開(kāi)發(fā)團(tuán)隊(duì)有動(dòng)力學(xué)習(xí)和擴(kuò)展技能,這些技能將為實(shí)現(xiàn)他們個(gè)人目標(biāo)以及團(tuán)隊(duì)目標(biāo)提供幫助。
總結(jié)
低代碼解決方案雖然實(shí)現(xiàn)了軟件開(kāi)發(fā)的民主化,但也帶來(lái)了一系列限制和潛在的缺陷。在某些情況下,根本的誤解在于將編程語(yǔ)法與軟件開(kāi)發(fā)的真正挑戰(zhàn)——問(wèn)題解決和應(yīng)用設(shè)計(jì)等同起來(lái)。
此外,全面的代碼庫(kù)和開(kāi)發(fā)者友好的框架的出現(xiàn),挑戰(zhàn)了低代碼工具的相關(guān)性。通過(guò)賦予開(kāi)發(fā)者權(quán)力并簡(jiǎn)化其工作流程,同時(shí)保持靈活性,這些現(xiàn)代解決方案提供了一種更具未來(lái)可靠性的軟件開(kāi)發(fā)方法。
我們認(rèn)為目標(biāo)應(yīng)該是更少的代碼,而不是低代碼,我們關(guān)于這個(gè)主題的下一篇文章將討論為什么以及如何使用新工具來(lái)實(shí)現(xiàn)這一點(diǎn)。
與此同時(shí),可以了解一下我們?cè)陂_(kāi)源的 Nitric 框架中通過(guò)自動(dòng)化來(lái)減少所需代碼的做法。
這兩種方法無(wú)疑必須共存,根據(jù)項(xiàng)目的復(fù)雜性和需求提供不同的服務(wù)。然而,了解這些微妙之處對(duì)于有效地導(dǎo)航軟件開(kāi)發(fā)領(lǐng)域并在每種情況下利用適當(dāng)?shù)墓ぞ咧陵P(guān)重要。