低代碼火熱背后,其實(shí)是人人皆可編程的誘惑(低代碼原理)
“萬物皆可轉(zhuǎn)計算機(jī)”是一句在考研圈的笑談,但事實(shí)上也在一定程度上反應(yīng)了計算機(jī)科學(xué)(computer science)被稱為“宇宙機(jī)”,而受熱捧的現(xiàn)象。而在這背后無疑則是程序員相對優(yōu)渥的薪資,畢竟無論是在怎樣的統(tǒng)計中,信息與軟件行業(yè)的平均工資都往往能與金融等行業(yè)相提并論。
但在業(yè)內(nèi)人士看來,程序員能夠獲得高薪的原因其實(shí)無它,是因?yàn)殚T檻相對較高,而這里的門檻并不是指的學(xué)歷,而是需掌握一門乃至多門的計算機(jī)語言。并且在如今信息技術(shù)已經(jīng)成為驅(qū)動社會進(jìn)步的重要引擎時,市場對于IT從業(yè)者的需求和產(chǎn)能之間存在著巨大的不匹配。根據(jù)權(quán)威咨詢機(jī)構(gòu)Gartner此前公布的報告顯示,2021年市場對于應(yīng)用開發(fā)的需求將五倍于IT公司的產(chǎn)能。
面對如此巨大的市場空白,“低代碼”這一概念近來也再次火了起來。從國內(nèi)市場阿里的釘釘?shù)胶M獾奈④汸ower Platform,大大小小的低代碼開發(fā)平臺(LCDP,Low-Code Development Platform)如雨后春筍般誕生。不過必須要指出的是,所謂“低代碼”其實(shí)并非新概念,反而這是一個源自40年前業(yè)界探索在新世紀(jì)的結(jié)晶。
事實(shí)上,低代碼可以追溯到上世紀(jì)80年代,當(dāng)時美國業(yè)界的“第四代編程語言(4GL)”,這一讓開發(fā)者實(shí)現(xiàn)“做什么”而不是“如何做”的編程語言,也奠定了現(xiàn)代計算機(jī)開發(fā)語言的思想基礎(chǔ),進(jìn)而在21世紀(jì)初誕生了可視化編程語言(Visual Programming Language)的概念。此后在2012年左右,Citizen developer(全民開發(fā))被提出,并最終在2014年由Forrester Research正式提出了“低代碼(LowCode)”這一概念。
簡單來說,低代碼其實(shí)是相對于傳統(tǒng)代碼而存在。而傳統(tǒng)的計算機(jī)程序開發(fā)是以計算機(jī)語言為基礎(chǔ),例如Android的開發(fā)語言Java、iOS的開發(fā)語言O(shè)bjective-C/Swift 、Windows的開發(fā)語言首推C#,并且在此之外還有例如GO、PHP、C 等其他計算機(jī)語言。
理解并應(yīng)用計算機(jī)語言來開發(fā)程序,無一例外都需要一定的門檻。由于計算機(jī)技術(shù)是在美國興起,所以大量計算機(jī)語言同樣也是由美國人開發(fā)設(shè)計,這就導(dǎo)致英語成為了程序員圈的通用語言,所以對英文一竅不通無疑對于從事程序員這份工作有著極大的影響。同時因?yàn)橛嬎銠C(jī)語言需要遵循一定的范式,因此也就要求開發(fā)者有著不錯的邏輯思維能力。
既然傳統(tǒng)的計算機(jī)語言對于沒有相關(guān)專業(yè)背景的人來說并沒有那么好入門,低代碼也就應(yīng)運(yùn)而生。低代碼的形式是“可視化編程”,其核心則是“復(fù)用”,特質(zhì)是通過可視化、模塊化、拖拽式,來代替?zhèn)鹘y(tǒng)開發(fā)方式中大量編寫代碼來進(jìn)行開發(fā)。在低代碼的概念中,模塊化組件代替了編程語言中的一行行代碼,可視化的設(shè)計則將程序員腦海中的抽象思維變成了更容易理解的流程圖,進(jìn)而讓更多的非專業(yè)有人士能夠參與到開發(fā)中。
簡單來說,低代碼開發(fā)頗有些類似于少兒編程,是試圖通過搭積木的方式將程序給拼出來,這也正是低代碼會吸引相當(dāng)多企業(yè)關(guān)注的核心因素。并且低代碼也向企業(yè)描繪了一個這樣的遠(yuǎn)景,即便不具備編程技能的“小白”也能參與到開發(fā)中,從而將開發(fā)由一項程序員的專屬技能擴(kuò)展到更為廣泛的人群里。畢竟,程序思維與業(yè)務(wù)思維是兩種截然不同的思維模式,程序不懂業(yè)務(wù)、業(yè)務(wù)往往也不懂程序,所造成的溝通效率低下通常也是許多企業(yè),甚至于是科技企業(yè)IT部門與業(yè)務(wù)部門之間最大的難題,而低代碼或許就是其中一種解決方案。
除了傳統(tǒng)企業(yè)的數(shù)字化轉(zhuǎn)型早已是個老生常談的事情之外,如今低代碼的火熱還有一個直接的催化劑,就是此次疫情。在疫情席卷全球,線上辦公幾乎成為標(biāo)配的情況下,導(dǎo)致相當(dāng)多企業(yè)的傳統(tǒng)業(yè)務(wù)模式被顛覆,而低代碼也儼然成為了企業(yè)在數(shù)字化轉(zhuǎn)型中提升業(yè)務(wù)敏捷性和效率的關(guān)鍵所在。也使得用低代碼開發(fā)平臺開發(fā)ERP、供應(yīng)鏈、財務(wù)、OA、人力資源和項目管理的全系統(tǒng),不再成為空想。
然而如果低代碼真有SaaS廠商、Microsoft等傳統(tǒng)軟件開發(fā)商,以及云服務(wù)提供商等一眾開發(fā)平臺參與者所描繪的那么美好,當(dāng)下也就不會有如此多的爭議了。事實(shí)上盡管看上去很美,但低代碼中的坑可謂是一點(diǎn)也不少。
首先,許多低代碼平臺的框架對開發(fā)者來說是黑箱。無論傳統(tǒng)計算機(jī)語言還是低代碼,都不可能完全避免BUG的出現(xiàn),這時候就需要通過排查來解決問題,然而目前絕大多數(shù)低代碼開發(fā)平臺都是閉源的,這就導(dǎo)致即使是IT部門的程序員往往也很難排查問題,只能等待平臺提供的技術(shù)支持。
其次,使用低代碼就意味著企業(yè)將與某個低代碼平臺長期捆綁,畢竟其需要依靠開發(fā)平臺的運(yùn)行庫與API之上,改換門庭無異于重頭再來,這其中的成本之高也可以想象。再加上盡管低代碼的可視化看起來很清晰,然而是一旦工作流環(huán)節(jié)增多或項目規(guī)模上去后,圖形化反而會變得更加復(fù)雜和臃腫,“代碼審查”將變得尤為困難。
最后,也就是低代碼在程序員群體中最受爭議的一點(diǎn),就是其原本是旨在提升開發(fā)效率或讓非專業(yè)人士參與,在某種程度上侵蝕了程序員獲得高薪的基石,但其部署又離不開專業(yè)人士的協(xié)作。并且更加重要的一點(diǎn)是對于專業(yè)人士來說,使用低代碼平臺從長期來看幾乎等同于放棄職業(yè)生涯,畢竟面對日新月異的信息產(chǎn)業(yè),不斷學(xué)習(xí)新技術(shù)和理念是必然的一件事,長期不寫代碼往往也就意味著專業(yè)能力的退化。
當(dāng)然,即便低代碼有這樣或那樣的問題,但不可否認(rèn)的是,它確實(shí)也代表了全民開發(fā)這一未來可能的發(fā)展方向。