一文瞭解低代碼開發!
每個人都應該學習程式設計,因為它教你如何思考。
--史蒂夫. 賈伯斯

Scratch截圖
最近幾年少兒程式設計火熱,少兒程式設計入門通常從Scratch軟體開始,Scratch是美國麻省理工學院開發的一款簡易圖形化程式設計工具。 Scratch程式設計通過塗鴉,錄音,圖片的方式,整個過程沒有編碼,像搭積木一樣的程式設計,但是同樣能夠體驗到程式設計的邏輯性和成就感。
如果Scratch是兒童的玩具,那麼低代碼開發就是成人的程式設計利器,通過低代碼開發,人人都可能通過拖拽的方式程式設計,全民程式設計的時代已經來臨了!
PART 01 什麼是低代碼開發,低代碼開發有什麼優勢?
低代碼開發(low-code development),是指軟體會開發過程中,消費者以圖形化介面以及少量編碼編寫應用程式。
低代碼是一種軟體開發方法,可以高效的以少量的手工編碼交付應用程式。

低代碼程式設計示意,圖來源outsystems公司網站
低代碼開發同傳統的開發模式相比,有以下優勢:
- 開發和部署更快:使用低代碼開發,最快可以數小時完成程式設計任務,效率極大提升,並且部署簡單,回滾方便。
- 門檻低,讓更多的人參與:不需要專業的技能,可以很快上手,可以將更多的時間集中在業務邏輯的實現上。
- 安全性更高:低代碼開發如同在沙箱中開發,可以實現更好的隔離性。
當然,低代碼開發也有劣勢:
- 運行效率低:同傳統開發相比,低代碼開發不涉及底層優化,運行的時候需要消耗的資源更多,相比運行效率更低。
- 容易被鎖定:低代碼開發往往需要依賴於平台,代碼不能被移植,容易被鎖定。
- 應用場景有限:低代碼開發適合開發人事管理、投票等應用,不不適合開發底層應用。
PART 02 低代碼開發勢不可擋
Gartner 2019年發佈了低代碼平臺(LCAP)象限,Gartner預測,到2024年,低代碼應用程式構建將佔所有應用程式開發的65%以上,並且大約66%的大公司將至少使用四個低代碼平臺。

Forrester在2019年Q1發佈了LCAP波形圖,Forrester進行的一項市場研究預計,低代碼開發平臺的市場將從2017年的38億美元增長到2022年的212億美元。

在資本市場上,低代碼開發也廣受追捧。
在國外:
- 2018年6月,低代碼開發平臺OutSystems獲KKR和高盛3.6億美元融資,估值超過10億美元,成為獨角獸。 其年營收遠高於1億美元,並且每年增長率超過70%。
- 2018年8月,西門子宣佈以6億歐元收購低代碼應用開發領域的知名公司Mendix。
- 2020年1月,谷歌宣布收購AppSheet,AppSheet是一家無代碼移動構建平臺,能夠從電子錶格、資料庫或表單中提取數據,並使用欄位或列名作為構建應用程式的基礎來工作,自動從中生成移動端的報告生成App、郵件發送App、圖像記錄App等等。
在國內:
- 2018年5月,低代碼軟體開發平臺搭搭雲獲千萬級人民幣A輪融資。
- 2018年8月,軟體產品服務商數式科技(2019)獲盈動資本數千萬人民幣天使輪融資;
- 2018年9月,可視化機器程式設計雲服務平臺宜創科技獲清源創投戰略融資。
- 2018年12月,無代碼業務流程管理系統搭建工具輕流獲近千萬人民幣Pre-A輪融資。
- 2018年12月,PaaS平臺研發商ClickPaaS獲晨興資本數百萬美元A輪融資。
Amazon、Microsoft、outsystems、Saleface和阿裡巴巴等廠商也於近些年紛紛推出各自的低代碼開發平臺。
PART 03 低代碼開發之權力的遊戲
1. Amazon
今年6月,亞馬遜宣佈以Beta形式啟動Amazon Honeycode專案,Honeycode是亞馬遜的低代碼開放專案,網站為https://honeycodecommunity.aws 。

Honeycode為使用者提供了一組用於常見用例的範本,包括客戶跟蹤器、庫存管理、即用清單、調查和時程表。
Honeycode服務運行在AWS 資料庫上,因此可以使用點擊式介面和類似於傳統電子錶格的數據輸入結構輕鬆連結、篩選和排序數據。 Honeycode服務少於20使用者的應用程式免費,對於需要更多用戶的應用程式,將收取收費。
對於低代碼開發,亞馬遜另外開啟一個功能變數名稱,說明還在探索階段,也說明對低代碼開發的看好。
2. Microsoft PowerApps
Microsoft Power Apps 是一系列應用、服務、連接器和數據平臺,可提供快速的應用程式開發環境,以根據業務需求生成自定義應用程式。 使用Power Apps可以快速生成自定義業務應用,這些應用連接到存儲在任一底層數據平臺 (Common Data Service) 或各種連線和本地數據源(SharePoint、Excel、Office 365、Dynamics 365、SQL Server 等)中的業務數據。

使用Power Apps構建的應用提供業務邏輯和工作流功能,這些功能可將手動業務流程轉換為數位化、自動化流程。 此外,使用Power Apps 構建的應用具有回應式設計,可以在瀏覽器或行動裝置(手機或平板電腦)上無縫運行。
Power Apps 還提供了一個可擴展的平臺,允許專業開發人員以程式設計方式與數據和元數據進行交互、應用業務邏輯、創建自定義連接器以及與外部數據集成。

微軟有許多PaaS應用,很適合低代碼開發的場景,所以對低代碼開發也非常重視,在Gartner象限也處於領導者位置。
3. Outsystems
Outsystems成立於2001年,以"改變企業軟體交付方式"為願景,是低代碼領域的獨角獸企業。
Outsystems平臺有以下功能:
- 全棧視覺開發,拖放式UI,業務流程,邏輯和數據模型可創建全棧,跨平台的應用程式。
- 一鍵式部署,交付應用程式並一鍵更新。 OutSystems自動檢查依賴關係並處理所有部署過程。
- 應用內反饋,使應用更好,更快。 使用者可以直接在應用程式內部共享語音和書面反饋,從而簡化了整個變更管理過程。
- 自動重構, OutSystems分析所有模型並立即重構依賴關係。 修改資料庫表,所有查詢將自動更新。
- 相容移動,通過離線數據同步,本機設備存取和設備上的業務邏輯輕鬆構建美觀的行動體驗。
- 可擴展的架構,將微服務與深度依賴關係分析相結合。 快速,大規模地創建和更改可重用的服務和應用程式。
Outsystems在低代碼領域深耕多年,在單一業務為低代碼的廠商中居於領先位置,相信隨著低代碼大潮的來臨,outsystems會增長更快。
4. Saleface
Salesforce一直是CRM技術的全球領導者,低代碼非常適合CRM應用的開發,Salesforce的低代碼開發平臺命名為閃電平臺(lightning platform),為使用者提供了所需的高級工具,以創建所需的應用程式。

除了為低代碼使用者和以代碼為中心的使用者提供應用程式工具外,閃電平臺還充當定製應用程序的資料庫。 用戶可以流覽Salesforce AppExchange,這是一個包含五百五十萬個可用應用程式的存儲庫。 實際上,有79%的Salesforce客戶使用AppExchange中的應用來改善業務。
閃電平臺由以下部分組成:
- 閃電服務:閃電服務是閃電平臺的核心,由http://Force.com發起的可信基礎架構,數據模型和共用服務組成。 該平臺具有多租戶,元數據,共用基礎結構,自動升級,自定義功能和API架構。
- 閃電生態系統:銷售人員和Salesforce AppExchange上越來越多的合作夥伴提供了預先構建的元件的閃電生態系統(可重用的代碼塊,可組裝到自定義應用程式中)。
- myLightning:管理員和開發人員可以使用工具通過Lightning App Builder定製任何應用程式以進行元件組裝,使用Lightning Flow進行流程自動化。
低代碼讓Salesforce服務的銷售人員有可能根據自己的需要做應用開發,不用再走傳統的開發模式,讓銷售人員的能力得到釋放,效率得到提升。
5. 阿裡巴巴
阿裡巴巴的低代碼平臺為宜搭,平臺的命名取適宜搭建、容易搭建之意。 平臺集合了頁面設計、業務規則定義、數據收集與分析三大核心能力,用戶通過簡單的拖拽、配置,即可完成業務應用的搭建。

平臺提供以下應用程式範本型態:
- 疫情防控統計系統:用於人員健康篩查,病例情況統計,返工訊息收集等與疫情相關的數據收集。 詳情請參見搭建疫情防控統計系統概述。
- 調查問卷:用於收集數據,支持單使用者提交單次或者匿名免登錄數據提交。
- 人事管理系統:用於企業員工訊息管理,請假以及落戶申請、證明開具等流程。
- 研發效能管理:自動觸發外部系統介面進行驅動。 用於發佈申請、數據變更申請和運維管理等。
- 法務系統:用於合同審批、合同收付款、用章管理等。
- 財務管理系統:用於財務管理,包含報銷、付款申請以及供應商管理。
隨著阿裡釘釘生態的完善,對釘釘應用的需求也越來越多,低代碼開發可以高效的豐富釘釘應用,讓釘釘生態更完善。
PART 04 總結:低代碼開發可能引起雲計算級別的變革
雲計算引發了一輪變革,但是雲的消費者主要還是IT人員,低代碼將引發的新的一輪變革,這一輪變革超出了IT圈,讓全民開發變為可能。
也許隨著低代碼的普及,以後將不再有全職的程式師,因為人人都將是程式師!
參考文件:
- https://en.wikipedia.org/wiki/Low-code_development_platform
- https://www. forbes.com/sites/ilkerkoksal/2020/04/29/the-rise-of-low-code-app-development
- https://www. outsystems.com/blog/what-is-low-code.html
- https://dzone.com/articles/low-code-vs-no-code-form-following-function
- https://www. iyiou.com/p/115417.html
- https://www. sohu.com/a/336292448_100191017
- https://amazonaws-china.com/cn/blogs/aws/introducing-amazon-honeycode-build-web-mobile-apps-without-writing-code/