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