創(chuàng)新 or 炒作?十問低代碼之微軟所見
原創(chuàng)【51CTO.com原創(chuàng)稿件】從2020年開始,低代碼成為了業(yè)界熱點(diǎn),無(wú)論是資本市場(chǎng)還是企業(yè)用戶都紛紛追捧。在低代碼洪流下,支持和反對(duì)聲并存,有人認(rèn)為低代碼可以像Office一樣達(dá)到全民普及,也有人認(rèn)為低代碼是新瓶裝舊酒炒作概念。在爭(zhēng)議不休下,如何正確地看清、認(rèn)清低代碼?如何清晰地辨別并選擇適合自己企業(yè)的低代碼開發(fā)工具和平臺(tái)
為此,51CTO特別梳理了關(guān)于低代碼的十大問題,并邀請(qǐng)騰訊云、網(wǎng)易數(shù)帆、用友、微軟等不同低代碼平臺(tái)服務(wù)提供商的專家共同探討,視圖解答業(yè)界關(guān)于低代碼的相關(guān)疑問。
以下內(nèi)容是來(lái)自微軟(中國(guó))有限公司全渠道事業(yè)部,創(chuàng)新技術(shù)總經(jīng)理崔宏禹的解答!
問題一:低代碼真的是新瓶裝舊酒么?
任何技術(shù)的興起、流行或者消失,不僅取決于技術(shù)本身,更取決于現(xiàn)實(shí)的需求。低代碼技術(shù)之所以在這個(gè)時(shí)候重新發(fā)揚(yáng)光大,有兩個(gè)方面的原因。一方面,相關(guān)技術(shù)發(fā)展到一定程度,使原來(lái)不可能的事情成為可能,比如人工智能已經(jīng)在一些專業(yè)領(lǐng)域達(dá)到或超過(guò)人類水平,決定性因素是市場(chǎng)對(duì)更高生產(chǎn)力工具的追求;另外一個(gè)方面,生產(chǎn)力工具在不同時(shí)代有不同的特征。在數(shù)字化時(shí)代,通過(guò)軟件手段開發(fā)出的各種生產(chǎn)力應(yīng)用成為人類提高工作和生活效率的主要手段。這種時(shí)代的變化要求各行各業(yè)的從業(yè)人員具備基本的應(yīng)用開發(fā)能力,這是低代碼帶來(lái)的主要改變,即可以讓非專業(yè)的開發(fā)人員通過(guò)低代碼技術(shù)來(lái)實(shí)現(xiàn)其業(yè)務(wù)上的述求和能力的構(gòu)建。當(dāng)然,低代碼技術(shù)的目的并不是把這些人培養(yǎng)成專業(yè)程序員,而是借助這種能力來(lái)提高自己的工作效率。所以,低代碼能力是一種未來(lái)我們必須掌握的‘辦公能力’,是能夠發(fā)揮所有業(yè)務(wù)參與者能力的“新瓶新酒”。
問題二:低代碼開發(fā)就像是拼搭樂高積木?
我們經(jīng)常會(huì)用這樣的比喻,幫助大家對(duì)低代碼開發(fā)有更直觀的印象。從一定程度上來(lái)講,拼搭樂高積木的過(guò)程和低代碼開發(fā)的過(guò)程很類似,都是通過(guò)簡(jiǎn)單的模塊化構(gòu)建的方法,逐步搭建復(fù)雜的作品或方案。當(dāng)然,它既遵循一定的規(guī)律或規(guī)則,又鼓勵(lì)大家在既定的模板之上發(fā)揮各自天馬行空的創(chuàng)意和想法。因此用拼搭積木來(lái)形容低代碼開發(fā)的過(guò)程,還是比較恰當(dāng)?shù)?。不過(guò),如搭樂高積木需要一張圖紙和模板一樣,在開始之前,一定是有一些基礎(chǔ)的服務(wù)能力的,例如,必須具備通用的數(shù)據(jù)服務(wù)能力,和其他應(yīng)用系統(tǒng)的接口能力等。這些能力一定是由專業(yè)的開發(fā)人員預(yù)先定義好的。
問題三:低代碼適合開發(fā)哪些應(yīng)用?
低代碼適合開發(fā)的應(yīng)用本質(zhì)上沒有限制。我們希望未來(lái)的應(yīng)用都是可以通過(guò)低代碼平臺(tái)來(lái)開發(fā)實(shí)現(xiàn)的。但就目前我們看到的客戶和伙伴的應(yīng)用場(chǎng)景來(lái)講,內(nèi)部IT、財(cái)務(wù)、人力資源等部門都是低代碼應(yīng)用需求的聚集地。一方面,這些部門本身有厚重的系統(tǒng)支持,但希望能夠快速實(shí)現(xiàn)定制化需求和迭代新場(chǎng)景,這正好是低代碼最擅長(zhǎng)的事情;另一方面,很多部門的員工有想法,但苦于沒有IT背景和基礎(chǔ)的編程技能,只能寄希望于低代碼平臺(tái),來(lái)實(shí)現(xiàn)他們的需求。這都加速了低代碼應(yīng)用在這些領(lǐng)域的開花結(jié)果。這類低代碼應(yīng)用我們統(tǒng)稱為“內(nèi)部運(yùn)營(yíng)效率應(yīng)用”。
同時(shí),我們可以看到,低代碼在下面一些場(chǎng)景也是非常受歡迎的:
1、 需要快速迭代的創(chuàng)新型應(yīng)用
2、 客戶對(duì)需求的變更要求較高,從而由客戶參與的應(yīng)用項(xiàng)目;
傳統(tǒng)系統(tǒng)或遺留系統(tǒng)的升級(jí)改造。
問題四:低代碼不適合開發(fā)哪些應(yīng)用?
目前低代碼平臺(tái)的模板,生態(tài),和可拓展性有還在發(fā)展階段,更多旨在解決最后一公里的問題。如果想要從頭開發(fā)復(fù)雜厚重的業(yè)務(wù)系統(tǒng),還存在一定的困難。如基于CRM系統(tǒng)開發(fā)移動(dòng)端應(yīng)用,實(shí)現(xiàn)定制化的需求,對(duì)于低代碼平臺(tái)并不難。但從頭開發(fā)一個(gè)完整的CRM系統(tǒng),還是充滿挑戰(zhàn)的。
同時(shí),有大量的底層開發(fā)能力要求的應(yīng)用,尤其是和設(shè)備、接口、驅(qū)動(dòng)交互相關(guān)的項(xiàng)目,低代碼因其本身的場(chǎng)景和具備的能力,也是不太適合。
問題五:低代碼和零代碼的區(qū)別?
低代碼和零代碼沒有本質(zhì)區(qū)別,都是不斷提高生產(chǎn)力的工具,是一種APaaS(Application Platform as a Service,應(yīng)用程序平臺(tái)即服務(wù))。APaaS平臺(tái)最大的優(yōu)點(diǎn)是提供了快速開發(fā)的環(huán)境,個(gè)人或企業(yè)無(wú)需購(gòu)買和維護(hù)服務(wù)器、中間件、網(wǎng)絡(luò)等一系列技術(shù)基礎(chǔ)設(shè)施。APaaS平臺(tái)準(zhǔn)備好了這一切,個(gè)人或者企業(yè)可以在幾個(gè)小時(shí)內(nèi)就能完成應(yīng)用的開發(fā)、測(cè)試、部署,并能夠隨時(shí)調(diào)整或更新。就現(xiàn)階段而言,零代碼平臺(tái)對(duì)老板、產(chǎn)品經(jīng)理、銷售、運(yùn)營(yíng)等人員更友好;而低代碼可能更適合懂點(diǎn)代碼的人員使用。但是,低代碼與零代碼平臺(tái)有逐漸融合的趨勢(shì),低代碼平臺(tái)一直在不斷降低使用者門檻,兩者未來(lái)會(huì)越來(lái)越相似。
問題六:低代碼開發(fā)能否讓程序員失業(yè)?
這看起來(lái)是非程序員而不是程序員最關(guān)心的一個(gè)話題或者想法。本身作為曾經(jīng)的程序員,在剛接觸低代碼這個(gè)概念時(shí)并沒有太擔(dān)心低代碼會(huì)取代什么,但也確實(shí)聽到了很多的聲音在討論這個(gè)事情。我個(gè)人的一點(diǎn)感悟是,其實(shí)低代碼的出現(xiàn),解放了程序員的時(shí)間,反倒讓程序員能夠?qū)⒏嗟臅r(shí)間專注在解決復(fù)雜業(yè)務(wù)問題,編寫高質(zhì)量的代碼,優(yōu)化平臺(tái)架構(gòu),提升產(chǎn)品質(zhì)量等一系列專業(yè)的事情中。每一行業(yè)都有其特殊性,每一個(gè)職位都有其專業(yè)的地方,低代碼中的低字,并不是說(shuō)從此以后,就不用寫代碼了,而是說(shuō)未來(lái),解決業(yè)務(wù)問題的成本變得更低。低代碼出現(xiàn)后,其實(shí)打通了業(yè)務(wù)人員與IT人員以及專業(yè)程序員之間的一個(gè)屏障,業(yè)務(wù)人員可以利用低代碼工具將自己的想法變成現(xiàn)實(shí),拖拖拽拽地就實(shí)現(xiàn)了,但每一個(gè)拖拽的組件,都是程序員通過(guò)專業(yè)知識(shí)打造出來(lái)的。所以我個(gè)人覺得,低代碼平臺(tái)會(huì)讓程序員所做的事情,更有價(jià)值,更體現(xiàn)專業(yè)性。
問題七:低代碼能否走向“公民化”?
其實(shí) “公民化” 這個(gè)詞,或者說(shuō) “Citizen Developer”,我一直覺得特別抽象,其實(shí)更應(yīng)該說(shuō)是 “Digital Innovator”。最近五年,數(shù)字化、移動(dòng)化、智能化的發(fā)展,要遠(yuǎn)比過(guò)去十年、二十年要來(lái)的快,當(dāng)下很多的平臺(tái)、產(chǎn)品、消費(fèi)習(xí)慣、業(yè)務(wù)模式,放在五年前,十年前都覺得不太現(xiàn)實(shí),就像現(xiàn)在出門我最擔(dān)心的是手機(jī)沒電,而不是沒帶錢包。低代碼在這個(gè)時(shí)候出現(xiàn),如果能夠得到善用,確實(shí)能夠群策群力,解決以前需要3個(gè)月、6個(gè)月,要找專業(yè)供應(yīng)商才能解決的問題。就比如以前要從手機(jī)上查系統(tǒng)里的產(chǎn)品型號(hào),整理成BOM發(fā)給客戶,又要開發(fā)移動(dòng)APP,還得考慮iOS還是Android,還要寫接口、匹配不同的設(shè)備型號(hào)、分辨率等,很麻煩,所以很多時(shí)候想想也就算了,就手工搞吧,也不是搞不定,訂單也不多。就是這類看似不難,當(dāng)前也能對(duì)付,投入成本高的需求,在企業(yè)中有很多,不斷得對(duì)付著,終究一天會(huì)發(fā)現(xiàn),企業(yè)如果生意機(jī)會(huì)暴增,但卻沒有能力處理這類需求。低代碼的出現(xiàn),就提供了一個(gè)很好的平臺(tái),不是說(shuō)一定讓每個(gè)人都去開發(fā),而是說(shuō)當(dāng)業(yè)務(wù)專家有個(gè)想法,就可以立馬上手實(shí)現(xiàn)的,于個(gè)人、于公司,都是好事。
問題八:低代碼安全嗎?
低代碼作為一個(gè)開發(fā)平臺(tái),和其他的開發(fā)平臺(tái)一樣,并不因?yàn)槠湟?ldquo;公民開發(fā)”的概念而降低了安全性。一方面,低代碼平臺(tái)一般在企業(yè)安全的 DMZ 或安全的云平臺(tái)中建立,并且必須毫不費(fèi)力地通過(guò)網(wǎng)絡(luò)安全許可來(lái)實(shí)現(xiàn)對(duì)代碼和數(shù)據(jù)的訪問,可以共享整個(gè)企業(yè)的安全策略,因此,平臺(tái)層面的安全是有保障的;另一方面,低代碼平臺(tái)一般是自動(dòng)生成的代碼以及開發(fā)人員編寫的自定義代碼實(shí)施最佳的編程實(shí)踐(編碼約定,設(shè)計(jì)模式和數(shù)據(jù)加密),簡(jiǎn)化與現(xiàn)有 CI/CD 流程和工具的集成,因此,也是能保證低代碼平臺(tái)的安全。
問題九:如何選擇低代碼平臺(tái)?
數(shù)字化轉(zhuǎn)型已經(jīng)成為企業(yè)間的共識(shí),但是轉(zhuǎn)型之路上充滿了挑戰(zhàn),比如不斷涌現(xiàn)的創(chuàng)新型業(yè)務(wù)需求、信息孤島、切換成本、IT和技術(shù)人才缺口等等。在眾多的數(shù)字化轉(zhuǎn)型的實(shí)施方案中,低代碼平臺(tái)因其‘全民開發(fā)’理念成為首選。在現(xiàn)階段,企業(yè)可以從快速落地的業(yè)務(wù)場(chǎng)景出發(fā)進(jìn)行思考,適合低代碼的典型應(yīng)用場(chǎng)景可以分為以下類型:創(chuàng)新型應(yīng)用、客戶參與型應(yīng)用、內(nèi)部運(yùn)行效率型應(yīng)用、遺漏系統(tǒng)的遷移或者升級(jí)。以客戶參與型應(yīng)用為例,主要是應(yīng)用系統(tǒng)建設(shè)過(guò)程中,要針對(duì)客戶業(yè)務(wù)多樣化需求進(jìn)行開發(fā)的應(yīng)用,或者客戶根據(jù)自己的業(yè)務(wù)需求,基于某一個(gè)平臺(tái)自行開發(fā)并提供給其它客戶使用的應(yīng)用;其主要包括的3個(gè)場(chǎng)景分類為:基于Web的門戶網(wǎng)站,移動(dòng)為先的供應(yīng)商應(yīng)用,新的SaaS應(yīng)用。
問題十:低代碼是開源的好?還是商用的好?
在開源與商用的對(duì)比上,其實(shí)代碼還是低代碼面臨著同樣的問題。很多開源軟件都會(huì)有商用版本,目的是企業(yè)在出現(xiàn)問題時(shí)的一個(gè)保障。軟件圍繞著商用軟件,開源盛行,商用再起不斷地循環(huán),誰(shuí)也不能站出來(lái)給一個(gè)明確的答案是誰(shuí)好誰(shuí)不好。分享一點(diǎn)自己的感悟:首先,開源的功勞肯定是被認(rèn)可和肯定的,開源的軟件要么是民間的智慧聚在一起解決一個(gè)軟件領(lǐng)域的實(shí)際問題,比如OpenStack,要么技術(shù)巨頭捐贈(zèng)出來(lái)造福人類,比如 Kubernetes。開源的宗旨一直是希望讓大眾能夠享有技術(shù)紅利,避免重復(fù)造輪子,提升技術(shù)上的創(chuàng)新,減少大企業(yè)的壟斷。但開源也同樣面臨著一些問題,每一個(gè)問題的解決都是義務(wù)的,開發(fā)項(xiàng)目中的開發(fā)人員被成為 Contributor,是因?yàn)樗麄儧]有因?yàn)閷戇@個(gè)代碼拿到一分錢,所以很多需求的實(shí)現(xiàn),Bug的修改都是需要時(shí)間的。所以,如果企業(yè)有技術(shù)資源和技術(shù)能力,利用開源軟件時(shí)能夠自己去優(yōu)化,去解決遇到的問題,改代碼,那開源軟件確實(shí)實(shí)用;但也有很多企業(yè),其核心競(jìng)爭(zhēng)力是產(chǎn)品,而不是基礎(chǔ)設(shè)施中用到的軟件,可能商業(yè)軟件會(huì)更適合一些。
了解更多低代碼開發(fā)的詳細(xì)內(nèi)容,請(qǐng)查看《低代碼開發(fā)江湖混戰(zhàn),企業(yè)該如何正確選擇》選題。
【51CTO原創(chuàng)稿件,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文作者和出處為51CTO.com】