編程不用程序員!低代碼是炒作還是趨勢(shì)?(不用代碼的編程軟件)
(中國(guó)計(jì)算機(jī)世界出版服務(wù)公司出品)
銷售廣告很誘人:應(yīng)用程序不過就是點(diǎn)幾下而已。但是,當(dāng)你購買低代碼開發(fā)平臺(tái)時(shí),實(shí)際為自己的企業(yè)做了什么呢?
在交付期越來越緊、客戶維護(hù)要求越來越高的環(huán)境下,低代碼開發(fā)工具的承諾聽起來很不錯(cuò):只需點(diǎn)幾下,非專業(yè)編程人員也能馬上開發(fā)出一個(gè)簡(jiǎn)單的應(yīng)用程序。
這是很多廠商的銷售策略,他們抓住了“低代碼”這個(gè)流行詞。市場(chǎng)上充斥著大量的工具,這些工具宣稱只需要很少的投入就可以處理所有工作。現(xiàn)在比以往任何時(shí)候都更有可能生產(chǎn)出高質(zhì)量的軟件——不需要成片的辦公小隔間,也不需要眾多吵來吵去“無所不知”的開發(fā)人員。
很容易做出承諾,但很難兌現(xiàn)。很多精明的首席信息官以前都聽過類似的承諾,但經(jīng)常會(huì)失敗。計(jì)算機(jī)的歷史基本上就是程序員添加更多層的代碼來彌補(bǔ)前一層不足的歷史。第一個(gè)軟件編譯器被認(rèn)為是編寫機(jī)器代碼的低代碼替代方案。其實(shí),機(jī)器代碼是管道之間重新建立連接的低代碼替代方案。人們認(rèn)為新工具就是以前版本的低代碼增強(qiáng)版。
好消息是,站在較高的角度看,工具的發(fā)展是非常積極的。我們的確能以更少的工作去做更多的事情。不過,來自一線的消息往往更令人困惑。一個(gè)大的進(jìn)步往往帶來了管理責(zé)任。有時(shí)候,掌握一款工具并找到配置它的最佳方法,其工作量幾乎和從頭開發(fā)一樣多。
對(duì)于考慮低代碼選擇的企業(yè)來說,理解并處理好對(duì)這方面的擔(dān)憂是最大的挑戰(zhàn)。它們雖然具有明顯的優(yōu)勢(shì),但是否值得為此付出幾個(gè)月的代價(jià)來等待?
優(yōu)點(diǎn):
速度
低代碼供應(yīng)商心中只有一個(gè)目標(biāo):幫助所有人快速開發(fā)出新軟件。只需點(diǎn)擊幾下,用戶就能創(chuàng)建好帶有表單的頁面。把一些表單和視圖串在一起,就得到了一個(gè)應(yīng)用程序。點(diǎn)擊、編譯和測(cè)試循環(huán)通常都足夠快,一些敏捷用戶甚至可以在討論應(yīng)用程序的會(huì)議期間實(shí)時(shí)地開發(fā)應(yīng)用程序。好消息是,這些工具通常都能如其所愿。如果你的需求與工具的交付能力非常契合,那就能在極短的時(shí)間內(nèi)完成開發(fā),甚至在真正的開發(fā)團(tuán)隊(duì)進(jìn)行視頻通話的時(shí)候就完成了開發(fā)。
缺點(diǎn):
速度
請(qǐng)慢一些。工具速度快是件好事,但匆忙進(jìn)行軟件開發(fā)可能是錯(cuò)誤的。隨著編碼變得越來越容易,真正的挑戰(zhàn)是定義應(yīng)用程序并想好它在客戶生活中能發(fā)揮什么作用。
如果不能在幾分鐘內(nèi)完成工作,那么過于注重速度會(huì)讓人失望。開發(fā)團(tuán)隊(duì)可能在一段時(shí)間里已經(jīng)做好了3個(gè)原型,但是期間他們忽略了10個(gè)概念上的障礙和幾十個(gè)必須解決的哲學(xué)難題。簡(jiǎn)單的點(diǎn)擊不利于戰(zhàn)略思維。真正的挑戰(zhàn)不是開發(fā)出你要的,而是首先要知道自己想要什么。
優(yōu)點(diǎn):
穩(wěn)定
對(duì)企業(yè)來說很難維護(hù)定制軟件。創(chuàng)建工具只是支持過程的開始,只要軟件一直在為企業(yè)服務(wù),那么這個(gè)過程就會(huì)持續(xù)下去。一般的修修補(bǔ)補(bǔ)就要比開發(fā)最初的版本付出更多的工作。
低代碼工具把支持成本分?jǐn)偟剿熊浖惭b中。當(dāng)出現(xiàn)了新版本的操作系統(tǒng),或者國(guó)會(huì)通過了一些新的數(shù)據(jù)存儲(chǔ)法規(guī)時(shí),低代碼工具供應(yīng)商會(huì)幫助大家去應(yīng)對(duì)。采用一個(gè)低代碼平臺(tái)不僅僅是“加入一個(gè)俱樂部,而是與一個(gè)王朝聯(lián)姻”。這可能是一個(gè)小王朝,但每個(gè)人的利益都是一致的,與讓自己的員工去管理相比,這樣做更穩(wěn)定。
缺點(diǎn):
休戚與共
如果把支持交付給構(gòu)建低代碼平臺(tái)的公司,雖然可以節(jié)省大量的資金和時(shí)間,但穩(wěn)定性并不能保證。當(dāng)然,一些管理良好的框架能帶著所有人駛向未來,但并不是所有業(yè)務(wù)都能管理得很好。公司稍有事故都可能摧毀你的平臺(tái)。也許首席執(zhí)行官遇到了中年危機(jī),想涉足游戲行業(yè)。也許首席財(cái)務(wù)官跳槽去了國(guó)稅局。也許開發(fā)這個(gè)平臺(tái)的天才宅男們?nèi)R里追求自己的人生了。任何問題都可能破壞低代碼工具的穩(wěn)定性。你把自己的信心托付給另一家企業(yè),而你唯一能控制的只是每年的合同續(xù)簽過程。
優(yōu)點(diǎn):
激勵(lì)
一個(gè)好的低代碼平臺(tái)不僅可以幫助IT部門,還有助于釋放業(yè)務(wù)部門員工的創(chuàng)造力,這些員工有著遠(yuǎn)大的夢(mèng)想,但沒有足夠的預(yù)算來資助真正的開發(fā)團(tuán)隊(duì)?,F(xiàn)在,他們可以花幾個(gè)小時(shí)的時(shí)間去嘗試一個(gè)想法,而不用起草沒完沒了的規(guī)范文件和預(yù)算要求。
缺點(diǎn):
限制
低代碼的確很神奇,但一個(gè)非專業(yè)編碼人員不可能因此而變成一名高級(jí)開發(fā)人員——即使這名非專業(yè)編碼人員像麻省理工學(xué)院最好的本科生一樣有編程天賦。用戶仍然需要對(duì)計(jì)算機(jī)的工作原理以及怎樣處理信息有一個(gè)基本的了解。舉例來說,精通電子表格的人使用這些工具應(yīng)該不會(huì)有什么問題,但是對(duì)于那些害怕在文字處理軟件中改變文檔邊距的人,不可能在短時(shí)間內(nèi)奇跡般地寫出三款應(yīng)用程序。這些工具可以處理很多繁瑣的工作,但無法擺脫計(jì)算的基本哲學(xué)限制和當(dāng)前的計(jì)算環(huán)境。
優(yōu)點(diǎn):
一致性
世界之所以能夠運(yùn)行得更好,是因?yàn)槲覀円呀?jīng)發(fā)展出一些標(biāo)準(zhǔn)的解決方案。所有汽車的油門和剎車踏板幾乎都在相同的位置。冰箱中存放黃油的位置也往往相同。采用低代碼解決方案大量開發(fā)應(yīng)用程序的好處是,你很容易就能構(gòu)建出一個(gè)廣泛使用的用戶界面小部件集合。你的代碼將是相對(duì)標(biāo)準(zhǔn)的,甚至不用嘗試,因?yàn)槟愕拇a將使用與其他代碼相同的工具。
缺點(diǎn):
同質(zhì)化
采用與競(jìng)爭(zhēng)對(duì)手相同的方式開展工作,可能會(huì)讓你更容易招到員工,但這也注定了你與普通大眾沒什么兩樣。有些軟件包就是要引起人們的注意,讓你的企業(yè)與眾不同。如果工作起來和其他人一樣,你就很難脫穎而出。
優(yōu)點(diǎn):
安全
低代碼平臺(tái)通常被設(shè)計(jì)用來處理最常見的挑戰(zhàn),例如安全和數(shù)據(jù)隱私。如果歐洲出現(xiàn)了一項(xiàng)法律,或是一些安全惡性事件攻擊了亞洲公司,那么低代碼開發(fā)人員很有可能已經(jīng)解決了這類問題。這就是使用共享框架的最大優(yōu)勢(shì)。他們已經(jīng)處理了常見的挑戰(zhàn),所以你不必對(duì)此擔(dān)心。
缺點(diǎn):
社會(huì)化成本
低代碼平臺(tái)資源共享,這也帶來了缺點(diǎn)。也許你的應(yīng)用程序中充斥著人們急切希望能被廣為傳播的社交媒體帖子。然而,平臺(tái)開發(fā)人員已經(jīng)在其工具中設(shè)計(jì)了嚴(yán)格的隱私保護(hù)功能,以便保持良好的安全記錄。你要為這些成本買單——甚至每次遇到限制時(shí),你總得花點(diǎn)錢。
優(yōu)點(diǎn):
簡(jiǎn)單
低代碼工具設(shè)計(jì)得更為簡(jiǎn)單。當(dāng)你在為自己的業(yè)務(wù)擔(dān)憂時(shí),低代碼平臺(tái)開發(fā)人員的煩惱則是怎樣構(gòu)建一組易于采用和擴(kuò)展的工具。那是他們的事。相信這類宣傳,想象一切都會(huì)像白日夢(mèng)一樣簡(jiǎn)單——這是很危險(xiǎn)的,但這比拿出編程書從頭開始要簡(jiǎn)單得多。
缺點(diǎn):
令人困惑
低代碼會(huì)比從頭開始寫程序更讓人困惑嗎?是的! 當(dāng)你突破了工具的限制,并開始遇到小問題、錯(cuò)誤或者不一致時(shí),就會(huì)發(fā)生這種情況。這是很自然的,所有的軟件都有這些問題。不同的是,低代碼工具從不打算公開這些方面。這好有一比,就好像他們賣的是一輛引擎蓋焊接死的汽車。數(shù)據(jù)結(jié)構(gòu)和算法是不透明的,所以你在這方面也不用去費(fèi)盡心思。但是,如果突然有什么東西不工作了,唯一能發(fā)現(xiàn)問題的方法是挖掘數(shù)據(jù)結(jié)構(gòu),那么,這就會(huì)讓人感到困惑。你無需去考慮這些細(xì)節(jié)——有時(shí)這會(huì)比你從一開始就自己努力工作更讓人感到困惑。
優(yōu)點(diǎn):
與他人融洽相處
從根本上說,決策是一種哲學(xué)。一些企業(yè)鼓勵(lì)建立值得信賴的合作伙伴網(wǎng)絡(luò),這些合作伙伴貢獻(xiàn)了經(jīng)驗(yàn)和穩(wěn)定性。他們認(rèn)為,這類企業(yè)并不是孤軍奮戰(zhàn),而是作為網(wǎng)絡(luò)的一員一起蓬勃發(fā)展。采用低代碼工具包為可信網(wǎng)絡(luò)增加了另一種連接。
缺點(diǎn):
依賴性
相反的方法是發(fā)展內(nèi)部專業(yè)技能,因?yàn)檫@種很深的知識(shí)能帶來回報(bào)。他們知道,低編碼可能會(huì)帶來三、四杯濃咖啡那樣的刺激,但最后每個(gè)人都有點(diǎn)暈頭暈?zāi)X,搞不清發(fā)生了什么。只有由專業(yè)團(tuán)隊(duì)編寫的可靠、結(jié)構(gòu)良好的代碼才能產(chǎn)生有長(zhǎng)期價(jià)值的東西,這就是首席信息官聘請(qǐng)優(yōu)秀團(tuán)隊(duì)的原因。
低代碼的實(shí)情
一些精明的IT經(jīng)理會(huì)針對(duì)不同的工作做出不同的選擇。偶爾的探究、內(nèi)部測(cè)試之前的原型和偶爾運(yùn)行的后端進(jìn)程都是低代碼工具集的不錯(cuò)選擇。開發(fā)團(tuán)隊(duì)很快就可以把事情搞得很好,即使不順利甚至失敗,也不會(huì)損失什么。
但是,如果代碼要維持公司的核心工作流程,并直接影響利潤(rùn),那么你就不太可能指望“某個(gè)勇敢的實(shí)習(xí)生去擺弄一個(gè)花哨的電子表格”。你應(yīng)該加大人才投入,只有人才才能創(chuàng)造出實(shí)際的價(jià)值。