低代碼是一種近些年興起的企業(yè)軟件快速開發(fā)技術(shù)和工具查坪。借助低代碼使用者無需編碼即可完成企業(yè)應(yīng)用的常用功能,少量編碼擴(kuò)展出更多功能宁炫。低代碼憑借低門檻偿曙、高效率和易集成等特性,被越來越多的軟件開發(fā)團(tuán)隊青睞羔巢。Gartner預(yù)測望忆,到2024年四分之三的大企業(yè)將會使用至少4種低代碼開發(fā)平臺,用于信息化應(yīng)用開發(fā)竿秆。屆時启摄,65% 的應(yīng)用開發(fā)將通過低代碼完成。
看上去幽钢,低代碼是一種顛覆性的技術(shù)歉备。那么,低代碼會不會取代專業(yè)開發(fā)者匪燕?如果你是一名企業(yè)軟件領(lǐng)域的程序員蕾羊,這篇文章也許可以減輕你的恐懼喧笔。
恐懼來自哪里?
我是一名年近40歲的程序員龟再,在這家公司里先后從事過WinForm书闸、Web和移動APP的開發(fā)。不能否認(rèn)利凑,面對低代碼技術(shù)時浆劲,我是有些恐懼的:沒有受過專業(yè)訓(xùn)練的平民開發(fā)者可以先學(xué)習(xí)SQL(甚至可以跳過這一步),然后學(xué)習(xí)一種低代碼工具并投入開發(fā)過程中哀澈,我的工作可能也就終結(jié)了牌借。
這個想法曾經(jīng)變成短暫而真實的恐慌。在與活字格低代碼開發(fā)平臺的核心員工進(jìn)行過幾次討論之后割按,我意識到了自己邏輯上的錯誤膨报,而這個錯誤恰好就是低代碼永遠(yuǎn)不會取代我,也根本不打算取代我的原因哲虾。我想,充分了解這些論點择示,可以緩解你和你的團(tuán)隊對低代碼的恐懼感束凑,并防止他們陷入對低代碼的恐懼中。
低代碼平臺只是一款工具
在科幻電影中栅盲,我們看到過不止一次的“人工智能大災(zāi)難”汪诉,軟件最終會完成自我開發(fā)并最終征服人類。低代碼是否也會像電影中那樣谈秫,自己完成軟件開發(fā)扒寄?答案當(dāng)然是否定的,低代碼平臺僅僅是一種工具而已拟烫。和其他所有的工具一樣该编,其價值源自于它的使用者。設(shè)想一下硕淑,大多數(shù)軟件都可以基于低代碼平臺進(jìn)行開發(fā)课竣,這意味著老板們隨便雇用張三、李四置媳,而不是專業(yè)的程序員就可以進(jìn)行在低代碼開發(fā)平臺上拖拉拽出一個報銷系統(tǒng)于樟、填報表單。但是拇囊,如果沒有必要的軟件基礎(chǔ)知識迂曲,他們的能力也就到此為止了。
與標(biāo)榜為無代碼的“開發(fā)工具”不同寥袭,低代碼開發(fā)平臺具備更強(qiáng)的擴(kuò)展性路捧,比如活字格就提供了自定義JavaScript/CSS关霸,高級SQL查詢和C#接口。這使得經(jīng)驗豐富的專業(yè)開發(fā)者——比如我——可以在低代碼平臺上完成那些可視化開發(fā)不能滿足的需求鬓长,最終交付更復(fù)雜的系統(tǒng)谒拴。
更重要的是涉波,開發(fā)者更了解軟件英上、計算機(jī)架構(gòu)、數(shù)據(jù)庫啤覆、Web端等的基本原理苍日。這種知識儲備使他們能夠提高工作效率,進(jìn)行平臺優(yōu)化窗声,少走彎路相恃。這遠(yuǎn)遠(yuǎn)超過了張三、李四等平民開發(fā)者能做的笨觅。所以拦耐,沒有受過專業(yè)編程訓(xùn)練的平民開發(fā)者能夠使用低代碼開發(fā)平臺構(gòu)建出面對特定場景的簡單應(yīng)用,但是见剩,對于ERP杀糯、MES等為核心應(yīng)用場景而生的更高價值的大型系統(tǒng),依然是專業(yè)開發(fā)者的主舞臺苍苞。低代碼只是專業(yè)開發(fā)者手邊更趁手固翰、更高效的工具罷了。
低代碼是一個值得信賴的“黑盒子”
低代碼平臺不會取代專業(yè)開發(fā)者羹呵,相比于平民開發(fā)者骂际,專業(yè)開發(fā)者依然有著很強(qiáng)的優(yōu)勢。但這一發(fā)現(xiàn)并不能真正將開發(fā)者變成低代碼的支持者冈欢,尤其是當(dāng)他們第一次開始嘗試去了解低代碼的時候歉铝。
開發(fā)者對這些低代碼平臺所見即所得設(shè)計器有兩種反應(yīng)。
A: “我的天啊凑耻,看看我能以多快的速度開發(fā)出XXX犯戏!”,這是一個了解時間價值并欣賞抽象之美的人拳话。另一種更為突出的反應(yīng)是B:“我不相信有人能用這個搞出YYY先匪!”。
與對失業(yè)的恐懼不同弃衍,這種擔(dān)憂是有價值的呀非。就我個人而言,我屬于A組——就是我剛才很友善地稱贊過的那個組——因為我不僅是一個值得信賴的程序員,而且喜歡自夸岸裙。
但是猖败,當(dāng)我與專業(yè)開發(fā)者討論低代碼時,他們向我保證降允,這些低代碼開發(fā)平臺是個危險的黑盒子恩闻,他們擔(dān)不起在無法控制的“黑盒”上開發(fā)關(guān)鍵任務(wù)帶來的風(fēng)險,比如平臺不穩(wěn)定怎么辦剧董、開發(fā)進(jìn)度過半發(fā)現(xiàn)有問題無法解決怎么辦等等幢尚。首先,這種邏輯看起來沒毛病翅楼,所以尉剩,我將花更大的篇幅來解釋為什么這種恐懼是不合理的。
低代碼的技術(shù)棧并不特殊
首先毅臊,低代碼的黑盒子是在開發(fā)者熟悉的技術(shù)棧上運(yùn)行理茎,而這些技術(shù)棧本身和低代碼類似,也經(jīng)歷了被逐步認(rèn)識管嬉、喜愛皂林、鄙視并再次喜愛上的過程。比如活字格低代碼開發(fā)平臺就是的服務(wù)端是采用.net開發(fā)的(畢竟葡萄城在1980年代加入了Microsoft Early Adopter Partnership)蚯撩,前臺則完全使用JavaScript础倍,數(shù)據(jù)庫方面兼容SQLite、SQL Server求厕、MySQL等主流數(shù)據(jù)庫著隆。
這些技術(shù)棧保障了低代碼開發(fā)平臺自身的穩(wěn)定性和可靠性扰楼,更重要的是呀癣,平臺的編程接口也基于這些技術(shù),所以弦赖,開發(fā)者可以將現(xiàn)有的服務(wù)器代碼项栏、SQL視圖及存儲過程、樣式表等添加到使用低代碼開發(fā)的項目中蹬竖。這么看來沼沈,你對低代碼的穩(wěn)定性、擴(kuò)展性等擔(dān)心币厕,是不是有些多余了呢列另?
人人都愛黑盒子
事實上,我們都愛“黑盒子”旦装,尤其是可以幫我們大幅節(jié)省時間的黑盒子页衙。Java及其姊妹語言Scala,Groovy,和其他語言一樣依賴于開發(fā)者中最受歡迎的黑盒:JVM店乐;而C#艰躺、VB.net依托在.net Framework上才能運(yùn)行。那么眨八,為什么我們會信任JVM腺兴、.net而不是低代碼呢?因為時間可以為這些平臺證明廉侧。
21世紀(jì)初页响,.net在誕生時也受到開發(fā)者社區(qū)的嚴(yán)格審查。但在看到它年復(fù)一年地順利運(yùn)行后伏穆,信任度增加了拘泞。開發(fā)者知道C#和.net仍然會存在很長一段時間,而微軟將繼續(xù)支持這兩者枕扫。我不知道微軟將會如何執(zhí)行我的C#陪腌,但是我依然信任著它。就像我相信V8引擎執(zhí)行我的JavaScript烟瞧,JVM運(yùn)行我的Java一樣诗鸭。當(dāng)然,我也不能忘記曾經(jīng)依賴的其他著名的黑盒:Spread参滴、KendoUI强岸、ActiveReport等前端控件。正是因為有了這些控件砾赔,我們開發(fā)應(yīng)用的效率得到了數(shù)倍的提升蝌箍。如果你從事過程序界面的開發(fā),我相信你一定會和我有同感暴心。
事實上妓盲,低代碼并不是一個這兩年橫空出世的技術(shù),只是近些年更受媒體關(guān)注而已专普。十幾年來悯衬,已經(jīng)有太多的案例能向你證明這個“黑盒子”的真實實力,應(yīng)用場景從MES檀夹、ERP到SCM以及SCRM筋粗,終端平臺也支持PC瀏覽器、APP炸渡、企業(yè)微信和釘釘娜亿。所以,也許是時候給低代碼這個不算很新的黑盒子多點信心了蚌堵。
對了,前面提到的那些控件的廠商也推出了低代碼開發(fā)平臺,如果你對低代碼行業(yè)的初創(chuàng)企業(yè)實在沒有信心策州,可以先從那些來自開發(fā)控件廠商的產(chǎn)品(如Kinvey瘸味、活字格等)開始。
低代碼能夠帶來更大的成就感
到這里够挂,我們已經(jīng)粉碎了失業(yè)的威脅旁仿,粉碎了對黑盒子的恐懼。那還剩下什么孽糖?應(yīng)該是對失去挑戰(zhàn)及成就感的擔(dān)憂枯冈,因為它比其他所有類型的恐懼更可怕。
每當(dāng)深夜下班办悟,程序員們結(jié)束工作離開辦公室時尘奏,手中都掌握著自己所擁有的技能。有些人可能會會心滿意足地休息病蛉,太陽再次升起之前都不會使用這些技能炫加。但是其他的,譬如那些激情四射的黑客铺然,他們會利用個人時間來擺弄一些業(yè)余項目俗孝。他們也許會修補(bǔ)開源代碼,也許在學(xué)習(xí)新的框架魄健,還有可能會回答StackOverflow赋铝、知乎或其他社區(qū)上的問題。
他們熱愛編碼沽瘦,因為編碼可以解決復(fù)雜的問題革骨、憑空構(gòu)造產(chǎn)品,作用相當(dāng)于現(xiàn)代煉金術(shù)析恋。他們的技能賦予自己力量和尊重良哲。而低代碼則有可能威脅到他們的地位。
畢竟绿满,只需花費很少量時間來掌握軟件工程知識臂外,就能學(xué)會低代碼開發(fā)窟扑。當(dāng)?shù)痛a成為企業(yè)軟件開發(fā)的首選工具后喇颁,專業(yè)開發(fā)者的威望很可能會隨之降低。這些平臺可以預(yù)先解決大多數(shù)復(fù)雜的問題嚎货,如負(fù)載平衡橘霎、資源分配、加密甚至界面交互等殖属。這意味著使用低代碼做開發(fā)的人在日常工作中幾乎沒有什么需要克服的障礙和挑戰(zhàn)姐叁。程序員該如何獲得成就感呢?事實上,低代碼能夠幫我們解決更大的問題外潜,那就是如何更快速的完成軟件交付原环,而這才是成功的關(guān)鍵。
企業(yè)想要快速發(fā)展
企業(yè)需要以一種能夠匹配競爭對手处窥、供應(yīng)商和現(xiàn)代消費者稍縱即逝渴望的速度來進(jìn)行變革嘱吗。如果仍保持以蝸牛般速度升級的舊版軟件,企業(yè)如何能夠?qū)崿F(xiàn)這樣的速度滔驾?
然而谒麦,使用傳統(tǒng)的開發(fā)方式編寫軟件是一項艱巨且緩慢的任務(wù),容易出現(xiàn)人為錯誤哆致。根據(jù)我的經(jīng)驗绕德,程序員編寫代碼的速度和他們出錯的數(shù)量之間存在指數(shù)關(guān)系,寫的越快摊阀,Bug越多耻蛇。因此,更快地編碼其實并不是一個可行的選擇胞此。還有沒有別的辦法城丧?
站在領(lǐng)導(dǎo)者的角度考慮這個問題
辦法卻是存在,但已經(jīng)超出了編碼本身豌鹤。也許你正在企盼自己成為一個領(lǐng)導(dǎo)者亡哄,而不單是一個程序員,而要想成為領(lǐng)導(dǎo)者布疙,就要超越自己的角色蚊惯,看清大局。
這里的大局并不是 “解決復(fù)雜問題”或“重新考慮解決方案”灵临,而是如何快速發(fā)布產(chǎn)品截型,快速發(fā)布用戶滿意的產(chǎn)品。如果你不得不緩慢儒溉、費力宦焦、容易出錯的工作,而有一種技術(shù)能夠以同樣成本獲得快速顿涣、精確波闹、準(zhǔn)確的結(jié)果,我想你的選擇是顯而易見的涛碑。
所以精堕,對程序員這份工作來說,最大的成就感應(yīng)該源于其通過自己開發(fā)的軟件讓更多人的生活更加美好蒲障,而不是加班工作本身歹篓。我寧愿擁有一個低代碼庫和無窮多的滿意用戶瘫证,也不愿抱著自己編寫的專有源代碼,以及一堆褒貶不一的評論庄撮。
開始行動吧
當(dāng)然背捌,專業(yè)開發(fā)者還可能出于一些本文沒有提及的原因害怕低代碼平臺,因為人們可能對每種特定產(chǎn)品都存在更狹隘的懷疑洞斯。然而载萌,對失業(yè)、黑盒巡扇、喪失成就感的恐懼是常見且真實的扭仁。如果你已經(jīng)克服了這些非理性的恐懼,那就開始使用低代碼工具厅翔,乘著軟件開發(fā)技術(shù)的發(fā)展趨勢乖坠,從更高效率的開發(fā)中獲益吧。
原文出處:https://dzone.com/articles/why-developers-fear-low-code刀闷,有刪改熊泵。