“低程式碼”平臺特性概覽

weixin_33766168發表於2019-05-06

通常人們談及“低程式碼”平臺時,總會提起“非專業開發人員”(citizen developer)。非專業開發人員無需具體編寫程式碼,依靠圖形化介面就能建立企業應用。本文另闢蹊徑,意在綜述當前存在的多種風格各異的低程式碼平臺,以及這些平臺對專業開發人員的重要性。

低程式碼平臺家族

人們對於“低程式碼”的模糊認識,部分源自於對低程式碼開發平臺的誤解。通常而言,低程式碼開發平臺源自於兩大方向。即低程式碼平臺並非憑空出現的,而是邏輯演變自兩種各異的現有完備技術:

  • 工作流和業務過程管理(BPM,business process management)平臺。BPM平臺是低程式碼平臺的先驅,其最基本的功能就是將業務邏輯封裝在業務流程模型中,而不是程式設計實現邏輯。BPM平臺支援使用標準編輯器(例如,在BPM平臺中廣泛使用的BPMN2)以圖形化方式設計業務邏輯,之後提供事務流程引擎執行模型,這種方式稱為模型驅動開發。如今,大多數BPM平臺都新增了一些工具和框架,用於構建完備的業務應用。典型的BPM平臺包括AppianPegaK2BizagiBonita
  • 程式碼生成平臺。程式碼生成平臺提供了視覺化的應用開發環境,簡化了應用建立。完成應用後,平臺會自動生成可執行程式碼。目前,許多此類平臺還新增了一些工作流功能,完善原始的Webflow方法,設計業務應用邏輯。一些廣為人知的程式碼生成平臺包括OutsystemsKonyProgress Kinvey

隨著軟體市場的成熟,低程式碼使用者現在可考慮更多的選擇。他們面對的不再只是香草味或巧克力味冰激凌,而是至少“31種口味”(譯者注:指Baskin-Robbins冰激凌最早提出的商業理念,每天一種新口味)的低程式碼平臺。那麼人們該如何選擇?選擇低程式碼解決方案可能並非選擇本月的Baskin-Robbins冰激凌風格那麼容易。選擇一個合適的低程式碼平臺,需要從以下標準做出考慮,還需要考慮這些標準對使用者需求的影響:

  • 適用範圍:流程自動化、智慧自動化、微服務編排、案例管理、業務應用開發等。
  • 目標人物:非專業開發人員、專業開發人員,或者是兩者兼備的開發人員。
  • 執行方法:如上文所述,設計模型驅動開發、程式碼生成,或者兩者兼而有之。
  • 架構方法:基於架構、元件或服務、可嵌入功能、平臺可擴充套件性,可用API等。
  • 專案複雜性:小/中/大專案、可擴充套件性、容錯和效能、同步或非同步執行等。
  • 部署選項:內部部署、公共/私有/混合雲、SaaS、PaaS等。
  • 整合選項:雲整合、遺留系統整合、DevOps工具等。
  • 學習和提升資料:免費教學、開源、教程、GitHub儲存庫例項等。

專業開發人員的地位不可替代

在沒有專業開發人員參與的情況下,由非專業開發人員構建關鍵應用,下面我們對此理念展開認真分析。

一些人支援針對非專業開發人員的低程式碼平臺。在他們看來,在對所有所需專案提供支援時,使用低程式碼平臺可解決可用開發人匱缺的問題。當面對企業應用沒有足夠的專業開發人員時,是否有可能用非專業開發人員填補空白?或者甚至使用非專業開發人員取代專業開發人員?但我絕對不這麼認為。即使上述想法是可行的,使用非專業開發人員僅僅是通過提出一個更大的問題去解決另一個問題。對於負責企業應用的IT團隊,在面對那些由非技術人員維護和開發的應用時,最終依然需要解決如何從應用中獲得最佳效能的問題。

坦率地說,如果沒有專業開發人員參與開發,可能是非常危險的。特別可怕的是,非專業開發人員可能正在管理核心應用的實現,例如,難以想象銀行會在數字轉型計劃中依靠低程式碼平臺!

低程式碼平臺的真正強大之處並非在於消除編寫程式碼,而是通過提供可提高可重用性和減少程式碼需求的技術、框架和方法,幫助非專業開發人員和專業開發人員。

專業開發人員也需要藉助低程式碼平臺,使他們能夠使用正確的技術提高生產力,同時實現與非專業開發人員的協作。

專業開發人員期待從低程式碼平臺中獲取什麼?

對於專業開發人員,至少他們有望從五個基本方面上對使用低程式碼平臺開發企業應用有所收穫,即可擴充套件性(extensibility)、圖形化工具及編碼選項、DevOps和持續交付、部署選項和可伸縮性(scalability)。

我將在這個列表中新增第六項,即由開源提供的優勢,包括對做出決策之前試用平臺的支援、降低學習曲線,以及作為一員參與共享社群。

通過可擴充套件性實現靈活性,進而提供更大自由

開發人員和其他人一樣都喜歡自由。對於一個構建應用的完整平臺,開發人員應可以從中選擇他們僅需的元件。例如,開發人員僅需流程引擎,或者流程引擎和使用者介面設計器。平臺應提供多種靈活性,其中包括:通過可擴充套件性提供擴充套件庫、框架或平臺並對其進行改進的自由。例如,通過向第三方系統新增新聯結器或新增缺少的REST API;提供將一個服務或元件替換為另一個服務或元件的自由。例如,替換預設的身份驗證或SSO服務;提供將當前平臺與其他首選解決方案結合的自由。例如,使用特定的事務管理器、資料庫、應用伺服器或持續整合工具。對於面向開發人員的低程式碼平臺,仍然需要提供是否支援編碼的自由。

為異構團隊提供支援圖形化和編碼混用的工具

開發人員可能喜歡手工編碼,儘管他們通常並不喜歡重新制造輪子。如果能有一種易於使用、功能強大且圖形化的方式設計網頁,或者採用圖形化方式配置流程引數,那麼自然會有開發人員樂意使用它。當然,也總會有人不想甚至不需要這類“易用”的工具。如果給開發人員自由,可以選擇用他們喜歡的Javascript庫建立該網頁,或者使用XML檔案來配置流程引數,那麼真正喜歡編碼的開發人員也可以使用這個低程式碼方法。面向開發人員的低程式碼平臺,為具有不同偏好和技能水平的技術團隊提供了有效的支援。

為協作和持續整合提供工具

數字化轉型的關鍵在於快速構建新功能、判斷新功能的有效性,並根據反饋和利用敏捷方法做出改進。如果沒有專業開發人員和DevOps團隊的參與,那麼如何運作呢?當前的軟體構建方式,是整合一些原生的技術,如使用Githubf實現協作和程式碼庫管理的、使用Docker實現自動交付、使用Jenkins實現持續整合、使用Ansible實現應用和平臺的配置和部署。低程式碼平臺應該支援開發人員使用他們喜歡的方法和框架。

支援多學科開發團隊(multidisciplinary development team)

在企業實施中,分散式開發團隊工作的變更管理工具至關重要。如上所述,開發團隊通常由承擔不同職能的人員組成,例如前端開發和後端開發,他們更傾向於使用混合開發方式。一些開發人員可能更喜歡使用圖形化工具開發使用者介面,而另一些開發人員更喜歡使用HTML5手動編碼,還有一些人更喜歡使用JavaScript。低程式碼平臺支援團隊中的異構協作,有助於解決“缺乏可用的開發人員來支援所有需要完成的專案”的問題。

靈活選擇架構和可擴充套件性

應用無論是本地部署、通過SaaS部署,還是在公共、私有云或混合雲上部署,專業開發人員都希望能夠清楚地瞭解,將使用低程式碼平臺構建的應用的體系結構。這使得專業開發人員能夠針對效能和擴充套件對應用進行建模和設計,改善應用程式元件和服務間的通訊,以及將使用者介面與資料和業務流程分離。開發人員若想構建可在不同環境中執行和擴充套件的企業應用,需清晰瞭解具有可擴充套件功能和自由編碼的體系架構,這至關重要。

支援在做出決策前試用、學習並分享

開發人員當然和其他所有人一樣,更願意參與到選擇所用開發工具的過程中。開源和免費增值模式平臺當然是優先的選擇。開源產品的優勢在於任何人都可以下載並上手使用。通常開源產品背後多具有社群支援,可提問、反饋並分享最佳實踐。

實現高度協作的低程式碼平臺

在企業的數字化轉型計劃中,為建立創新的企業應用,不僅需要編寫程式碼,同樣需要一個由業務使用者、技術人員和終端使用者組成的優秀團隊。為增強數字化轉型團隊的能力,選擇合適的低程式碼平臺意味著團隊需要清楚地瞭解工具、擴充套件點、整合功能、API、所使用的底層技術,以及平臺所提供的持續整合和部署選項。

目前現狀是,所有複雜的低程式碼專案實施必須有專業開發人員的參與。專業人員的參與並不會影響到開發速度等任何使用這些平臺的優勢,並且有助於人們聚焦於真正的問題,即如何在低程式碼平臺的環境中更好地為專業開發人員服務,以及如何改善包括非職業開發人員在內的不同專案角色間的協作。

作者簡介

Miguel Valdes Faura是Bonitasoft的執行長兼聯合創始人,負責引領公司的發展方向,即利用Bonita BPM(業務流程管理,business process management)的數字業務自動化平臺並充分發揮開發團隊的潛力,開發具備無縫融合、吸引使用者並提供個性化體驗的應用。

在加入Bonitasoft之前,Valdes Faura負責歐洲軟體系統主要供應商Bull Information Systems的BPM部門的研發、售前和支援。Valdes Faura是BPM領域公認的思想領袖,對開源社群建設充滿熱情。他常在O’Reilly全球擴充套件峰會和網路峰會主辦的國際會議上發表演講,並在福布斯CNN和Mashable等媒體上發表演講。Valdes Faura在2014年獲得了著名的CEO世界獎,並在2018年獲得了工作流管理聯盟和BPM.com的“年度業務轉型人物”。

檢視英文原文: The Many Flavors of “Low-Code”

相關文章