低代碼平臺(tái)的利弊(低代碼平臺(tái)的利弊分析)
銷(xiāo)售廣告總是很誘人:只需點(diǎn)擊幾下鼠標(biāo)的應(yīng)用程序。但是,當(dāng)你購(gòu)買(mǎi)低代碼開(kāi)發(fā)時(shí),你真正為你的組織設(shè)置了什么呢?
在一個(gè)有高壓力期限和高要求老板的世界里,低代碼開(kāi)發(fā)工具的承諾聽(tīng)起來(lái)的確很棒:只需點(diǎn)擊幾下,非編碼人員就可以立馬完成一個(gè)簡(jiǎn)單的應(yīng)用程序了。
這是許多廠(chǎng)商的銷(xiāo)售宣傳用語(yǔ),他們都抓住了“低代碼”這個(gè)流行語(yǔ)。市場(chǎng)上也充斥著大量的工具,這些工具可以讓你用最少的保姆來(lái)兼顧所有的事情?,F(xiàn)在比以往任何時(shí)候都更有可能生產(chǎn)出高質(zhì)量的軟件了,不需要成片的小隔間,也不需要由那些無(wú)所不知的開(kāi)發(fā)人員所組成的敵對(duì)派系。
然而,承諾很容易做出,想要兌現(xiàn)卻很難。許多精明的首席信息官以前都聽(tīng)過(guò)這些承諾,有時(shí)也會(huì)看到它們的失敗。計(jì)算機(jī)的歷史幾乎就是程序員添加更多層代碼來(lái)修復(fù)前一層的粗糙邊緣的歷史。第一個(gè)軟件編譯器被認(rèn)為是編寫(xiě)機(jī)器代碼的低代碼替代品。不要驚訝,機(jī)器代碼也曾經(jīng)是一種低代碼的替代品,可以用來(lái)重新連接管子之間的連接。新的工具已經(jīng)被提升為對(duì)以前的低代碼的增強(qiáng)。
好消息是,從另一個(gè)高度來(lái)看,工具的發(fā)展是非常積極的。我們真的可以用更少的工作來(lái)做更多的事情。不過(guò),來(lái)自戰(zhàn)壕的消息往往會(huì)更令人困惑。通常一個(gè)大的進(jìn)步往往也伴隨著管理它的責(zé)任。有時(shí)候,掌握一個(gè)工具并找到配置它的最佳方法,幾乎和從頭構(gòu)建某個(gè)工具所需要的工作量一樣多。
對(duì)于那些考慮低代碼選項(xiàng)的公司來(lái)說(shuō),理解和管理這種緊張關(guān)系就會(huì)是最大的挑戰(zhàn)。它們所提供的明顯優(yōu)勢(shì)是否值得為此付出幾個(gè)月的代價(jià)?要決定在多大程度上接受這一輪的承諾,需要仔細(xì)權(quán)衡以下這七個(gè)接受低代碼工具的原因和七個(gè)需要避免它們的理由。
優(yōu)點(diǎn):速度
低代碼供應(yīng)商心中只有一個(gè)目標(biāo):幫助每個(gè)人快速創(chuàng)建新的軟件。只需點(diǎn)擊幾下,用戶(hù)就可以創(chuàng)建一個(gè)帶有表單的頁(yè)面。把一些表單和視圖串在一起,你就有了一個(gè)應(yīng)用程序。點(diǎn)擊、編譯和測(cè)試循環(huán)通常也足夠快,以至于一些敏捷用戶(hù)甚至可以在討論應(yīng)用程序的會(huì)議期間實(shí)時(shí)的開(kāi)發(fā)應(yīng)用程序。好消息是,這些工具通常能夠做到它們所承諾的事情。如果你的需求達(dá)到了他們所能提供的最佳狀態(tài),你就可以用比讓一個(gè)真正的開(kāi)發(fā)團(tuán)隊(duì)進(jìn)行視頻通話(huà)更少的時(shí)間來(lái)完成一個(gè)任務(wù)。
缺點(diǎn):速度
放慢一點(diǎn)。速度快是件好事,但是匆忙地進(jìn)行軟件開(kāi)發(fā)則可能是錯(cuò)誤的。隨著編碼變得越來(lái)越容易,真正的挑戰(zhàn)將會(huì)是如何定義應(yīng)用程序并想象它在客戶(hù)生活中的角色。
當(dāng)工作沒(méi)有在幾分鐘內(nèi)被完成時(shí),過(guò)于關(guān)注速度就會(huì)導(dǎo)致失望。是的,團(tuán)隊(duì)可能在那段時(shí)間里一起完成了三個(gè)原型,但是在這個(gè)過(guò)程中,他們忽略了10個(gè)概念上的障礙和幾十個(gè)必須解決的哲學(xué)難題。單純的點(diǎn)擊可能會(huì)阻礙戰(zhàn)略性的思維。真正的挑戰(zhàn)不是創(chuàng)造你想要的,而是首先知道你想要什么。
優(yōu)點(diǎn):穩(wěn)定性
定制軟件對(duì)于公司來(lái)說(shuō)是很難維護(hù)的。因?yàn)閯?chuàng)建這個(gè)工具只是支持過(guò)程的開(kāi)始,只要軟件在為公司服務(wù),這個(gè)過(guò)程就會(huì)一直持續(xù)下去。通常來(lái)說(shuō),只是保持螺絲緊固和鍍鉻拋光就是比建立原始版本更多的工作了。
低代碼工具分?jǐn)偭怂邪惭b的支持成本。當(dāng)一個(gè)新版本的操作系統(tǒng)出現(xiàn),或者一些新的數(shù)據(jù)存儲(chǔ)法規(guī)在國(guó)會(huì)獲得通過(guò)時(shí),低代碼工具供應(yīng)商就可以為每個(gè)人實(shí)現(xiàn)它。采用一個(gè)低代碼平臺(tái)不僅僅是加入了一個(gè)俱樂(lè)部,而是與一個(gè)王朝聯(lián)姻了。它可能是一個(gè)小王朝,但每個(gè)人的利益都是一致的,這比你試圖用自己的員工來(lái)管理它能帶來(lái)更大的穩(wěn)定性。
缺點(diǎn):共同的命運(yùn)
卸載對(duì)構(gòu)建低代碼平臺(tái)的公司的支持可以節(jié)省大量的金錢(qián)和時(shí)間,但穩(wěn)定性將無(wú)法得到保證。當(dāng)然,一些管理良好的框架的確可以引領(lǐng)每個(gè)人走向未來(lái),但并不是所有的企業(yè)都管理良好。任何數(shù)量的公司事故都可能會(huì)摧毀你的平臺(tái)。也許是首席執(zhí)行官遇到了中年危機(jī),想要進(jìn)入游戲行業(yè)。也許是首席財(cái)務(wù)官和國(guó)稅局的玩忽職守。也許是建造這個(gè)平臺(tái)的堅(jiān)如磐石的天才們?yōu)榱藢で髥⑹径x開(kāi)了組織。任何問(wèn)題都可能破壞低代碼工具的穩(wěn)定性。如果你把你的信心放在了另一個(gè)組織上,那么你唯一的控制手段就可能是每年更新合同的這個(gè)過(guò)程了。
優(yōu)點(diǎn): 賦權(quán)
一個(gè)好的低代碼平臺(tái)不僅能幫助IT部門(mén),還能釋放業(yè)務(wù)部門(mén)員工的創(chuàng)造力,這些員工可能有遠(yuǎn)大的夢(mèng)想,但沒(méi)有足夠的預(yù)算來(lái)資助一個(gè)真正的開(kāi)發(fā)團(tuán)隊(duì)?,F(xiàn)在他們可以花幾個(gè)小時(shí)的點(diǎn)擊來(lái)嘗試一個(gè)想法,而不是起草沒(méi)完沒(méi)了的規(guī)范文檔和預(yù)算請(qǐng)求了。
缺點(diǎn):限制
低代碼特性可以是不可思議的,但它們不能把一個(gè)非程序員變成高級(jí)開(kāi)發(fā)人員,即使這個(gè)非程序員可以像麻省理工學(xué)院最好的本科生一樣擁有點(diǎn)擊天賦。用戶(hù)仍然需要對(duì)計(jì)算機(jī)的工作原理有一個(gè)基本的了解,并能處理好一些信息。舉例來(lái)說(shuō),精通電子表格的人使用這些工具應(yīng)該不會(huì)有什么問(wèn)題,但如果一個(gè)人只是因?yàn)樾薷奈淖痔幚砥鞯捻?yè)邊距就害怕地尖叫,那么他也不可能奇跡般地在午餐前推出三款應(yīng)用程序。這些工具可以處理許多瑣事,但它們無(wú)法逃脫計(jì)算的基本哲學(xué)極限和當(dāng)前的計(jì)算環(huán)境。
優(yōu)點(diǎn):一致性
世界能夠運(yùn)行得更好,是因?yàn)槲覀円呀?jīng)發(fā)展出了一些標(biāo)準(zhǔn)的解決方案。所有汽車(chē)的油門(mén)踏板和剎車(chē)踏板幾乎都在同一個(gè)位置。冰箱總是傾向于將黃油儲(chǔ)存在相同的位置。使用低代碼解決方案大量開(kāi)發(fā)應(yīng)用程序的好處是,你可能會(huì)構(gòu)建出一個(gè)廣泛使用的用戶(hù)界面小部件的集合。你的代碼將是相對(duì)標(biāo)準(zhǔn)的,甚至不用嘗試,因?yàn)槟愕拇a將使用與其他代碼相同的工具。
缺點(diǎn):同質(zhì)性
和你的競(jìng)爭(zhēng)對(duì)手做同樣的事情可能會(huì)讓你更容易的招到員工,但這也注定了你會(huì)迷失在人群當(dāng)中。有些軟件包就是為了吸引人們的注意力并突出你的企業(yè)。而和其他人做同樣的事情,會(huì)讓你無(wú)法被區(qū)分。
優(yōu)點(diǎn):安全性
低代碼平臺(tái)通常會(huì)被設(shè)計(jì)來(lái)處理最常見(jiàn)的挑戰(zhàn),比如安全或數(shù)據(jù)隱私。如果歐洲有了一項(xiàng)新法律或是出現(xiàn)了一些攻擊亞洲公司的安全噩夢(mèng),那么低代碼開(kāi)發(fā)人員就很有可能已經(jīng)解決了這個(gè)問(wèn)題。這就是使用共享框架的最大優(yōu)勢(shì)。他們已經(jīng)處理了常見(jiàn)的挑戰(zhàn),所以你不必?fù)?dān)心他們。
缺點(diǎn):社會(huì)化成本
低代碼平臺(tái)是共享資源,這也帶來(lái)了缺點(diǎn)。也許你的應(yīng)用程序充滿(mǎn)了社交媒體上的帖子,人們非常希望這些帖子能被廣泛傳播。然而,平臺(tái)開(kāi)發(fā)者在設(shè)計(jì)他們的工具時(shí)對(duì)健康記錄進(jìn)行了嚴(yán)格的隱私保護(hù)。你將為此付出代價(jià)–甚至可能每次在有限制時(shí),你都會(huì)被拔下一撮頭發(fā)。
優(yōu)點(diǎn):簡(jiǎn)單
低代碼工具被設(shè)計(jì)得非常簡(jiǎn)單。當(dāng)你在為自己的業(yè)務(wù)擔(dān)憂(yōu)時(shí),低代碼平臺(tái)的開(kāi)發(fā)人員也一直在為構(gòu)建一組易于采用和擴(kuò)展的工具而煩惱。這就是他們的業(yè)務(wù)。相信這些炒作,想象這一切都會(huì)像白日夢(mèng)一樣簡(jiǎn)單,是很危險(xiǎn)的,但這的確要比拿出編程書(shū)從頭開(kāi)始要簡(jiǎn)單得多。
缺點(diǎn):混亂
低代碼會(huì)比從頭編寫(xiě)代碼更令人困惑嗎?是的!當(dāng)你突破了工具的極限,并開(kāi)始遇到故障、bug或不一致時(shí),就會(huì)發(fā)生這種情況。這是很自然的,所有的軟件都有這些問(wèn)題。不同的是,低代碼工具從來(lái)不想向你公開(kāi)這一面。就好像他們賣(mài)的是一輛引擎蓋焊接好的車(chē)一樣。數(shù)據(jù)結(jié)構(gòu)和算法是不透明的,所以你不用擔(dān)心你的小腦袋。但是,如果突然有什么不起作用了,唯一能識(shí)別出發(fā)生了什么的方法就是挖掘數(shù)據(jù)結(jié)構(gòu),那么,混亂就出現(xiàn)了。這些細(xì)節(jié)不是為你準(zhǔn)備的–有時(shí)候這會(huì)比你從一開(kāi)始就努力工作更讓你迷茫。
優(yōu)點(diǎn):與他人相處融洽
從根本上說(shuō),這個(gè)決定是一種哲學(xué)。一些公司鼓勵(lì)建立一個(gè)值得信賴(lài)的合作伙伴網(wǎng)絡(luò),這些合作伙伴可以提供經(jīng)驗(yàn)和穩(wěn)定性。他們相信公司不是獨(dú)自生存的,而是作為網(wǎng)絡(luò)的一部分而蓬勃發(fā)展的。采用低代碼工具包為信任網(wǎng)絡(luò)又增加了另一個(gè)連接。
缺點(diǎn):依賴(lài)性
相反的方法是發(fā)展內(nèi)部的專(zhuān)業(yè)技能,因?yàn)檫@種深度的知識(shí)是有回報(bào)的。他們知道,低編碼可能會(huì)帶來(lái)三四杯濃咖啡那樣的刺激,但最后每個(gè)人都會(huì)有點(diǎn)暈頭暈?zāi)X,不知道發(fā)生了什么。只有由專(zhuān)門(mén)團(tuán)隊(duì)編寫(xiě)的可靠、結(jié)構(gòu)良好的代碼才能構(gòu)建出具有長(zhǎng)期價(jià)值的東西,這就是首席信息官們雇傭優(yōu)秀團(tuán)隊(duì)的原因。
低代碼的內(nèi)幕
一些精明的IT經(jīng)理會(huì)針對(duì)不同的工作做出不同的選擇。偶然的探索、alpha之前的原型和偶爾運(yùn)行的后端進(jìn)程都是低代碼工具集的良好候選。團(tuán)隊(duì)可以很快地把事情搞得很好,即使它不順利甚至是跌倒,也不會(huì)失去任何東西。
但是,如果代碼要維持公司的核心工作流程,并直接為公司的利潤(rùn)做出貢獻(xiàn),你就不太可能去指望某個(gè)勇敢的實(shí)習(xí)生去擺弄一份花哨的電子表格了。你要投資于能夠創(chuàng)造出值得信賴(lài)的東西的人才。