“低代碼”十問(wèn),你能回答嗎?
如今,恐怕沒有比IT更愛創(chuàng)造新概念的行業(yè)了。一方面,源自于信息技術(shù)的高速發(fā)展,創(chuàng)新層出不窮;另一方面,可能是源自銷售的需要,客戶總有些獵奇的心理,先不論產(chǎn)品是否充分滿足客戶的需求,至少新的概念先從心理層面撥弄客戶的心扉。
那么,低代碼開發(fā)是真正的技術(shù)創(chuàng)新還是炒冷飯呢?
1. 什么是低代碼開發(fā)?
實(shí)際上, 低代碼開發(fā)并不是什么新鮮事。20多年前的VisualBasic 在上世紀(jì)90年代就是一個(gè)低代碼工具,更久遠(yuǎn)一點(diǎn),可以追溯到case tool 等代碼生成工具。
低代碼開發(fā)可以幫助人們以最少的代碼快速創(chuàng)建和部署應(yīng)用程序,降低開發(fā)和部署應(yīng)用程序的總體成本,并實(shí)現(xiàn)快速開發(fā)。此外,可以為非技術(shù)用戶提供更友好的用戶界面,使他們更容易創(chuàng)建和修改應(yīng)用程序。也就是說(shuō),允許開發(fā)者和業(yè)務(wù)人員通過(guò)圖形用戶界面創(chuàng)建業(yè)務(wù)應(yīng)用軟件,而不是傳統(tǒng)的計(jì)算機(jī)編程。通過(guò)拖放 UI 組件,可視化地構(gòu)建應(yīng)用程序取代了編碼。項(xiàng)目的所有組件,例如前端和后端代碼和配置文件,都是基于最佳實(shí)踐自動(dòng)生成的。
其中,低代碼開發(fā)平臺(tái)是關(guān)鍵,通常允許沒有編碼技能的業(yè)務(wù)用戶解決自己的問(wèn)題并優(yōu)化日常操作。這些平臺(tái)提供了一個(gè)抽象層,使用戶可以點(diǎn)擊、拖放、配置并最終創(chuàng)建一個(gè)無(wú)需編程或少量編程的應(yīng)用程序,零代碼開放本質(zhì)上是低代碼開發(fā)的一個(gè)子集。
典型的低代碼開發(fā)平臺(tái)包括以下組成部分:
- 可視化 IDE ——這是一個(gè)用于定義應(yīng)用程序的數(shù)據(jù)模型和工作流的可視化工具
- 后端組件或服務(wù)的連接器——用于管理數(shù)據(jù)的存儲(chǔ)和檢索
- 應(yīng)用程序生命周期管理器-這包括用于在階段和生產(chǎn)環(huán)境中構(gòu)建、部署和管理應(yīng)用程序的工具
低代碼平臺(tái)的圖形用戶界面可以自動(dòng)化開發(fā)過(guò)程中的元素,消除對(duì)傳統(tǒng)編程方法的依賴,提高敏捷性、靈活性和成本效率,同時(shí)提供具有連續(xù)性的業(yè)務(wù)價(jià)值。這些平臺(tái)減少了開發(fā)軟件所需的時(shí)間,因此商業(yè)應(yīng)用程序可以更快地交付,組織中更廣泛的人員可以為應(yīng)用程序的開發(fā)做出貢獻(xiàn),即使是全職的專業(yè)開發(fā)人員也可以與業(yè)務(wù)人員一起使用這些低代碼工具。
2. 為什么出現(xiàn)低代碼平臺(tái)?
“開源節(jié)流”一直是企業(yè)的主旋律,企業(yè)需要敏捷、適應(yīng)性和競(jìng)爭(zhēng)力來(lái)在這個(gè)數(shù)字時(shí)代保持領(lǐng)先地位。為了交付業(yè)務(wù)價(jià)值,保持市場(chǎng)領(lǐng)先地位,需要提供簡(jiǎn)單、直觀和更好的客戶解決方案。對(duì)于沉迷于傳統(tǒng)軟件開發(fā)方法的組織來(lái)說(shuō),這可能是一個(gè)挑戰(zhàn)。低代碼平臺(tái)可以通過(guò)簡(jiǎn)化工作流程和加速組織中的自動(dòng)化計(jì)劃來(lái)滿足這一需求。
近些年的疫情促使企業(yè)需要實(shí)現(xiàn)流程自動(dòng)化,而低代碼平臺(tái)強(qiáng)調(diào)了這一數(shù)字化轉(zhuǎn)型的必要性——
- 加快了價(jià)值評(píng)估的時(shí)間
- 減少了設(shè)計(jì)的影響
- 擁抱共同創(chuàng)造
- 組織小型的敏捷團(tuán)隊(duì)
- 采用以用戶為中心的設(shè)計(jì)
低代碼開發(fā)平臺(tái)為企業(yè)提供了一種開發(fā)和部署應(yīng)用程序的方法,不雇傭開發(fā)人員的企業(yè)仍然可以使用低代碼平臺(tái)創(chuàng)建應(yīng)用程序。軟件行業(yè),尤其是互聯(lián)網(wǎng)的開發(fā)工程師成本較高,低代碼平臺(tái)允許沒有編碼經(jīng)驗(yàn)的技術(shù)和商業(yè)專業(yè)人士開發(fā)應(yīng)用程序,并可能填補(bǔ)組織中的人才缺口。
另外,對(duì)于SaaS 服務(wù)的提供者而言,低代碼或許可以提供產(chǎn)品的附加價(jià)值。
Gartner 曾預(yù)測(cè)到2024年65% 的應(yīng)用開發(fā)功能將在低代碼平臺(tái)上執(zhí)行,也預(yù)測(cè)到那時(shí)66% 的大公司將使用低代碼軟件,但是, 老碼農(nóng)并不茍同。
3. 如何從使用低代碼平臺(tái)中獲益的呢?
低代碼平臺(tái)可以幫助企業(yè)填補(bǔ)開發(fā)人員的人才缺口,允許業(yè)務(wù)和 IT 專業(yè)人員在沒有開發(fā)經(jīng)驗(yàn)的情況下構(gòu)建應(yīng)用程序,還可以通過(guò)減少開發(fā)時(shí)間來(lái)提高開發(fā)人員的工作效率。
通過(guò)低代碼平臺(tái),開發(fā)者放棄了一些控制權(quán),固化了一些指令,從而獲得了更高的生產(chǎn)力水平。它還讓開發(fā)變得更容易為更多人所接受,這些人可能沒編程技能,但可以使用低代碼工具來(lái)構(gòu)建應(yīng)用程序。
在一項(xiàng)調(diào)查中顯示,68% 的人說(shuō)他們創(chuàng)建無(wú)代碼應(yīng)用的主要原因是因?yàn)榈痛a解決方案更適合他們組織的需要,61% 的人說(shuō)這是因?yàn)樗麄兛梢噪S著工作負(fù)載和需求的變化更快地改變應(yīng)用。調(diào)查發(fā)現(xiàn),在使用無(wú)代碼平臺(tái)方面,安全問(wèn)題和高管認(rèn)同度被列為最受關(guān)注的問(wèn)題,74% 的 IT 專業(yè)人士表示,他們認(rèn)為低代碼解決方案是快速開發(fā)應(yīng)用程序的關(guān)鍵。
低代碼平臺(tái)也有助于彌合業(yè)務(wù)和 IT 之間的鴻溝,因?yàn)樗鼈兪箻I(yè)務(wù)部門能夠按照自己的需要?jiǎng)?chuàng)建應(yīng)用程序,而 技術(shù)團(tuán)隊(duì)能夠在幕后進(jìn)行任何必要的編碼修復(fù),而業(yè)務(wù)部門不會(huì)注意到應(yīng)用程序運(yùn)行方式的變化。低代碼平臺(tái)還可以為企業(yè)提供更快速的應(yīng)用程序交付,幫助實(shí)現(xiàn) DevOps 的持續(xù)交付目標(biāo)。
如今,數(shù)字化的需求是如此之高,在某些方面,低代碼可能是某些企業(yè)能夠跟上節(jié)奏的唯一方式。
4. 低代碼平臺(tái)的局限性是什么?
盡管許多公司使用的日常應(yīng)用可以使用低代碼平臺(tái)構(gòu)建,但這些工具也有局限性。如果不需要開發(fā)和運(yùn)營(yíng)人員,企業(yè)也不可能總是能夠完全構(gòu)建和管理應(yīng)用程序。在概念驗(yàn)證階段,低代碼平臺(tái)可以成為一個(gè)強(qiáng)大的工具,并可以簡(jiǎn)化一些 UI/UX 問(wèn)題,以使應(yīng)用程序運(yùn)行得更快,但仍然需要開發(fā)人員來(lái)定制項(xiàng)目,創(chuàng)建后端 API,并管理基礎(chǔ)設(shè)施部署。
低代碼平臺(tái)的局限性意味著仍然需要熟練的軟件開發(fā)人員,隨著低代碼開發(fā)平臺(tái)在整個(gè)企業(yè)中的激增,這種轉(zhuǎn)變的結(jié)果是一種新的環(huán)境,在這種環(huán)境中,開發(fā)人員處理軟件開發(fā)的技術(shù)方面,而使用軟件的部門正在根據(jù)自己的愿望設(shè)計(jì) UI。
5. 什么是低代碼微服務(wù)?
如果說(shuō)早期的低代碼側(cè)重于某一軟件應(yīng)用可視化編程的話, 那么現(xiàn)在的低代碼平臺(tái)與過(guò)去的區(qū)別在生成應(yīng)用軟件的形式, 即面向的更多是分布式系統(tǒng), 尤其是微服務(wù)系統(tǒng)。
微服務(wù)將開發(fā)人員從技術(shù)堆棧、單體結(jié)構(gòu)等約束中解放出來(lái)。低代碼微服務(wù)通過(guò)增加智能性進(jìn)一步加強(qiáng)了這一點(diǎn)。只要應(yīng)用程序簡(jiǎn)單、干凈、集成點(diǎn)少,低代碼平臺(tái)可以大大節(jié)省基于微服務(wù)的應(yīng)用程序的開發(fā)時(shí)間。如果基于微服務(wù)的應(yīng)用程序不需要與其他數(shù)據(jù)庫(kù)集成,那么就更簡(jiǎn)單一些了。
但是,在開發(fā)基于微服務(wù)的大型應(yīng)用程序時(shí),面向微服務(wù)的低代碼方法并不理想。原因在于應(yīng)用程序可能需要在實(shí)時(shí)性、數(shù)據(jù)庫(kù)集成、消息傳遞等需要自定義的特性中進(jìn)行數(shù)據(jù)和信息交換。因此,測(cè)試基于低代碼的微服務(wù)應(yīng)用是另一個(gè)挑戰(zhàn)。
低代碼平臺(tái)為微服務(wù)的展開提供了一些好處,例如:
- 多級(jí)可重用性: 低代碼微服務(wù)在微服務(wù)體系結(jié)構(gòu)提供的代碼可重用性之上提供了更多的層。開發(fā)人員可以搜索和使用智能庫(kù),并從應(yīng)用程序功能列表中進(jìn)行選擇,這些功能可以通過(guò)簡(jiǎn)單的拖放來(lái)添加。
- 快速上市時(shí)間: 低代碼可以為您的應(yīng)用程序提供最低的上市時(shí)間,這要?dú)w功于多級(jí)可重用性。平臺(tái)的自動(dòng)化能力使應(yīng)用程序能夠快速構(gòu)建,一個(gè)可能花費(fèi)大量時(shí)間構(gòu)建的微服務(wù)系統(tǒng)現(xiàn)在可以隨時(shí)創(chuàng)建。
- 改善客戶體驗(yàn)-低代碼開發(fā)促進(jìn)更好的客戶體驗(yàn)。
普通微服務(wù)在可以處理的數(shù)據(jù)和提供的結(jié)果方面受到相對(duì)的限制。另一方面,低代碼平臺(tái)提供了更加專業(yè)化的微服務(wù),可以根據(jù)需求量身定做。
6. 企業(yè)級(jí)應(yīng)用使用低代碼平臺(tái)的利弊是什么?
盡管低代碼平臺(tái)很強(qiáng)大,但目前還不適合構(gòu)建復(fù)雜的企業(yè)應(yīng)用,這意味著開發(fā)人員面臨一個(gè)選擇。面對(duì)企業(yè)級(jí)應(yīng)用,使用低代碼平臺(tái)進(jìn)行軟件開發(fā)的好處包括:
- 更快的上市時(shí)間:實(shí)現(xiàn)低代碼開發(fā)最明顯的好處是節(jié)省時(shí)間。低代碼開發(fā)平臺(tái)能夠快速入門,并且不需要從頭開始編寫代碼就能生成功能性的原型,可以使用預(yù)先創(chuàng)建的模板快速創(chuàng)建新的應(yīng)用程序。
- 減少技術(shù)債務(wù):低代碼開發(fā)使企業(yè)能夠減少浪費(fèi),簡(jiǎn)化和縮短開發(fā),并加速部署,從而避免技術(shù)債務(wù)。
- 易于更新-低代碼開發(fā)使得更改應(yīng)用程序和調(diào)整它們以滿足新的需求變得簡(jiǎn)單。低代碼開發(fā)避免了復(fù)雜的編碼需求,從而允許在需要時(shí)快速更新。
- 更高的生產(chǎn)力:由于低代碼開發(fā)可以在更短的時(shí)間內(nèi)生成更多的應(yīng)用程序,因此它促進(jìn)了快速開發(fā)和發(fā)布周期。
- 降低成本:低代碼軟件開發(fā)為組織提供了一種更廉價(jià)、更直接的方法來(lái)設(shè)計(jì)符合其特定需求的業(yè)務(wù)流程和工作流。它使企業(yè)減少了對(duì)額外開發(fā)人員的需求,從而降低了開支。
- 增加敏捷性:低代碼開發(fā)意味著快速和簡(jiǎn)單的更新。大多數(shù)應(yīng)用程序都有預(yù)先構(gòu)建的用戶界面,允許您基于現(xiàn)有邏輯創(chuàng)建工作流和業(yè)務(wù)模型。
同樣,使用低代碼平臺(tái)進(jìn)行軟件開發(fā)的缺點(diǎn)也是明顯的:
- 缺乏自定義——盡管低代碼平臺(tái)的預(yù)構(gòu)建模塊使用起來(lái)非常方便,但是無(wú)法使用它們來(lái)自定義應(yīng)用程序。即便可以定制低代碼平臺(tái),但只能在有限的范圍內(nèi)定制。
- 有限的集成——由于低代碼平臺(tái)固有的限制,有時(shí)將它們與特定的系統(tǒng)集成是不可行的。
- 供應(yīng)商鎖定——有一些供應(yīng)商生產(chǎn)干凈、標(biāo)準(zhǔn)化的代碼,使得在平臺(tái)中使用應(yīng)用程序變得簡(jiǎn)單。但是,許多專有系統(tǒng)要么阻止代碼遷移,要么創(chuàng)建不可讀、不可重用的代碼。這使得將應(yīng)用程序移植到另一個(gè)平臺(tái)變得困難,從而導(dǎo)致供應(yīng)商被鎖定。
- 安全性和可靠性——使用低代碼平臺(tái),意味著不得不在很大程度上依賴第三方應(yīng)用程序和服務(wù)。由于開發(fā)人員沒有完全的控制權(quán),它可能會(huì)帶來(lái)安全風(fēng)險(xiǎn)。低代碼平臺(tái)的內(nèi)置安全性可能是不夠的。
7. 低代碼平臺(tái)的市場(chǎng)是什么樣的?
Garnter的預(yù)測(cè)顯示,到2025年,低代碼市場(chǎng)規(guī)模將達(dá)到455億美元,年復(fù)合增長(zhǎng)率可能達(dá)到22.7% 。據(jù) Forrester 報(bào)道,在2018年的時(shí)候,在低代碼領(lǐng)域已經(jīng)存在大約67家不同的供應(yīng)商,還有幾十家小規(guī)?;騾^(qū)域性的供應(yīng)商。報(bào)告指出,在大型供應(yīng)商中,只有 Salesforce 在2017年之前使用了 Force.com 的低代碼平臺(tái)。然而從那時(shí)起,戴爾、微軟、甲骨文、 IBM 和 SAP 也加入了這個(gè)市場(chǎng),領(lǐng)先的低代碼開發(fā)平臺(tái)包括 AppSheet、 Oracle、 Nintex、 OutSystems、 Appian、 Quick Base 等。
例如,Appian 是市場(chǎng)上最流行的低代碼解決方案之一。它易于學(xué)習(xí),提供優(yōu)秀的文檔,并且包括大量經(jīng)常更新的現(xiàn)有智能服務(wù)。Mendix 從2005年開始,已經(jīng)有超過(guò)4000家公司使用了這個(gè)平臺(tái)。使用 Mendix,開發(fā)團(tuán)隊(duì)可以快速構(gòu)建和部署在線門戶網(wǎng)站、自動(dòng)化工作流、數(shù)字化流程、用于客戶參與的移動(dòng)應(yīng)用程序,甚至可以更新現(xiàn)有的系統(tǒng)。
Microsoft Power Apps 與其他公司采用低代碼的方式有著根本的不同。其中一個(gè)原因是 Power Apps 已經(jīng)融入了人們?nèi)粘J褂玫奈④洰a(chǎn)品中。因此,使用 Power Platform 構(gòu)建的任何解決方案都可以很容易地分布到公司中每個(gè)人的工作流中。換句話說(shuō),如果業(yè)務(wù)依賴于一系列 Microsoft 工具,那么使用 Power Apps 意味著可以定制這些工具,以完美地適應(yīng)各個(gè)團(tuán)隊(duì)的工作流程。Power Apps 不僅專注于 MS 軟件,還可以連接到 SAP、 Oracle 和 Azure Cloud。Power Apps 不僅關(guān)注商業(yè)智能和移動(dòng)應(yīng)用,還關(guān)注應(yīng)用、面向公眾的網(wǎng)站、機(jī)器人流程自動(dòng)化、流程分析、聊天機(jī)器人、 BI 儀表板、后端數(shù)據(jù)系統(tǒng)和業(yè)務(wù)邏輯。
在國(guó)內(nèi),由于對(duì)低代碼平臺(tái)的認(rèn)知不同,老碼農(nóng)自己的關(guān)注度也不夠,還沒有找到詳細(xì)的分析報(bào)告。
8. 低代碼開發(fā)需要什么?
如果對(duì)低代碼開發(fā)感興趣,那么仍然需要人們做一些準(zhǔn)備。首先,需要選擇一個(gè)低代碼的開發(fā)平臺(tái)。有許多低代碼平臺(tái)可供選擇,在選擇之前,應(yīng)該分析自己的需求并探索所有這些潛在的選擇,以找到滿足需求的選項(xiàng)。
一旦選擇了一個(gè)平臺(tái),就需要學(xué)習(xí)如何使用它,這可能需要一些培訓(xùn)資料或閱讀文檔。最后,還需要一些關(guān)于想要構(gòu)建的內(nèi)容的想法,這樣可以開始“低代碼開發(fā)”了。
9. 如何開始選擇一個(gè)低代碼的平臺(tái)?
由于有許多的供應(yīng)商,企業(yè)可能很難確定從哪里開始選擇過(guò)程。Forrester 提供了以下三點(diǎn)建議:
- 決定誰(shuí)來(lái)做這項(xiàng)工作。低代碼平臺(tái)往往分為兩個(gè)市場(chǎng)部分: 一部分面向開發(fā)人員,另一部分面向業(yè)務(wù)部門。企業(yè)必須決定需要一個(gè)平臺(tái)的哪一方面,以及哪一方面最適合這一目標(biāo)。
- 找出企業(yè)想要交付的用例。每個(gè)工具都提供不同領(lǐng)域的功能,包括工作流和業(yè)務(wù)流程的應(yīng)用,應(yīng)該選擇一個(gè)適合自己項(xiàng)目需要的低代碼平臺(tái)。
- 創(chuàng)建一個(gè)包含治理的策略。不管有沒有編碼,構(gòu)建和維護(hù)軟件都很困難。從低代碼平臺(tái)獲益最大的企業(yè)是那些制定了戰(zhàn)略的企業(yè),比如一個(gè)組合的管理系統(tǒng),該系統(tǒng)可以幫助員工跟蹤平臺(tái)中已經(jīng)構(gòu)建的應(yīng)用程序。
這個(gè)領(lǐng)域的大多數(shù)供應(yīng)商都有“起步階段”的平臺(tái)和免費(fèi)增值服務(wù),嘗試這些工具,開發(fā)一個(gè)應(yīng)用程序并解決一個(gè)問(wèn)題,一個(gè)項(xiàng)目一個(gè)項(xiàng)目的采用這些工具是非常容易的。
10. 低代碼平臺(tái)的典型開發(fā)用例有哪些?
對(duì)于低代碼平臺(tái)而言,一些典型的開發(fā)用例如下:
- 概念驗(yàn)證(POC) ——由于低代碼平臺(tái)允許更快速地開發(fā)應(yīng)用程序,因此非常適合原型開發(fā)。例如,可以利用低代碼來(lái)創(chuàng)建解決業(yè)務(wù)問(wèn)題的應(yīng)用程序,然后使用傳統(tǒng)的開發(fā)方法開發(fā)應(yīng)用的最終版本。
- 快速應(yīng)用程序開發(fā)——如果項(xiàng)目不是那么復(fù)雜或廣泛,可以利用低代碼平臺(tái)快速交付應(yīng)用程序。使用此方法構(gòu)建的應(yīng)用程序可能有約束、風(fēng)險(xiǎn)和限制,但可以以后解再?zèng)Q這些問(wèn)題。
- 模塊化 Web 應(yīng)用程序——可以利用低代碼的微服務(wù)來(lái)構(gòu)建模塊化 Web 應(yīng)用程序,也可以利用低代碼的微服務(wù)來(lái)創(chuàng)建一套微服務(wù)應(yīng)用。
- API 生成——可以利用低代碼API 生成器從現(xiàn)有代碼中自動(dòng)構(gòu)建 API。
- 容器化——低代碼微服務(wù)也可以在容器內(nèi)運(yùn)行。如果低代碼平臺(tái)與 K8S 集成,就可以利用 K8S的容器編排功能。
一句話小結(jié)
隨著組織在削減 IT 預(yù)算的同時(shí)努力跟上數(shù)字化的需求,低代碼平臺(tái)的采用將會(huì)有所增長(zhǎng)。企業(yè)創(chuàng)新和業(yè)務(wù)敏捷性將推動(dòng)低代碼開發(fā),并不意味著能夠拋棄開發(fā)團(tuán)隊(duì),并不意味著需要更少的代碼知識(shí)。充分利用低代碼平臺(tái)確實(shí)需要對(duì)軟件工程有扎實(shí)的理解,盡管開發(fā)人員可能編寫較少的代碼,但是他們不能對(duì)代碼缺乏理解。