文/明道雲創始人任向暉
不寫代碼,或者寫很少的代碼來構築軟體並不是全新的概念。在上世紀八九十年代,在企業軟體發展的早期就有影響力很大的標杆產品。比如微軟在1992年在Office套件中增加了Access資料庫應用,曾經被蘋果公司收購的FileMaker在1985年就推出了。這兩個應用到今天都還在運營。
早期的低代碼開發工具只能在單機或者區域網環境中運行,主要面向的還是企業IT專業人員,幫助建立各種靈活度要求比較高的業務資料庫,實現常規的增刪查改應用場景。很多Access的熟練用戶都不是軟體開發人員,他們能夠自助完成業務數據表的設計和發布,讓某個部門能夠共享一個資料庫。
真正的應用平臺(Application Platform)型產品出現在世紀之交。美國著名的財務軟體廠商Intuit公司於1999年推出QuickBase,顧名思義,就是快速構建資料庫應用。這個產品在很長時間內都不溫不火,直到2016年被剝離成一家獨立的企業。但它的確開創了軟體實現的新方式,讓應用在封裝好的平臺上運行,而不再進行代碼的編譯和分發。這是解放用戶生產力和擴大用戶基數的關鍵一步,因為能夠全程掌握軟體開發和部署能力的企業和用戶是非常有限的,而應用平臺把這些繁榮和專業的技術環節統統承攬了。所以,這個門類在近幾年被稱為APaaS(應用平臺即服務)。
在雲計算技術發展起來以後,這個門類煥發了新的生機。構築雲原生應用變得更加簡單和直接,所有基於APaaS構築的應用顯然都是不依賴伺服器的(Serverless),它甚至模糊了開發和使用的邊界,使用者即是開發者,開發者當然也可以作為直接使用者。2014年,市場研究公司Forrestor正式提出了Low-Code的概念,並將相關品類稱為Low-Code Application Platform(LCAP)。Gartner隨後用高生產力應用平臺(hpaPaaS)來命名這個品類。近兩年,全行業對零代碼/低代碼平臺的品類定義開始集中在「APaaS」這個稱謂上。
在這個品類發展過程中,自然演化出兩種基本技術路徑。
1、基於IDE框架的快速開發平臺
這個技術路徑將傳統的集成開發環境(IDE)充分可視化,允許開發者使用配置面板和控制臺來替代相當比例的代碼編寫。開發者對前端界面組件、數據源綁定方式、數據模型、業務邏輯和工作流等均可自由定義,系統自動生成對應的原始碼,開發者甚至可以進一步修改源碼。這條技術路徑上的典型產品是美國的Outsystems和歐洲的Bettyblocks,兩者均在相應市場處於領先地位。
IDE模式的應用平臺可以提供更高的靈活性,尤其是對前端界面可以有自主控制的能力。但它依然涉及到比較複雜的應用開發過程管理,並大量使用技術語言,生成的應用依然需要編譯、發布和部署,所以主要針對的依然是IT專業人員,甚至需要有一定的代碼開發基礎,學習和掌握的時間也比較長。它的主要價值在於提高開發者工作效率,降低重複勞動。嚴格意義上說,生成代碼並編譯運行的平臺並不能稱為應用平臺,而只能作為開發平臺。
2、模型驅動 (Model Driven) 的應用平臺
在應用平臺市場,另外一個技術分支在近幾年成為新的主流選擇。它也進一步降低了代碼開發工作量,甚至實現了完全的零代碼,讓業務人員能夠直接完成或參與應用實現。
所謂模型驅動,是相對代碼生成編譯過程而言的。用戶一旦在應用平臺上通過可視化的方式構築了數據模型,視圖形態,權限角色等,應用就直接在平臺提供的運行時環境中運行,不再需要另外編譯分發。SaaS形態的應用平臺只需要完成用戶註冊後即可直接搭建和使用應用,不再需要配置獨立的應用運行環境。
因為摒棄了傳統DevOps過程,模型驅動的應用平臺指數級提高了實現效率,也大幅擴展了用戶群體。但它也不得不犧牲應用實現的自由度,用戶不可能隨心所欲地設計前端界面,後端邏輯的複雜度也有一定的限制。話說回來,大多數企業軟體,尤其是數據增刪查改類(CRUD)應用,它們的交互範式本來就比較固定。
Airtable,Smartsheet, Zoho Creator和http://Monday.com,國內的簡道雲,夥伴雲,氚雲,以及我們自己的明道雲都是模型驅動技術路線的應用平臺。這些產品會更加接近於一個面向終端用戶的應用,而不是開發工具。
3、相互融合的設計
雖然應用平臺大體有兩種截然不同的技術路徑,但是特定產品可能會從對立面取長補短。對於IDE模式的應用平臺來說,它也可能提供預置的模版,讓數據模型設計充分可視化,來降低用戶上手的學習成本;對於模型驅動的應用平臺,它也會引入低代碼能力,允許用戶用腳本語言、表達式和函數來提升靈活性。可以說,這個品類的競爭就是產品能力和易用性之間平衡的競爭。再強大的應用平臺,都不可能比得過原生開發模式,再簡單易用的平臺,如果不能兌現用戶的需求,也是沒有競爭力的。
和20多年前的早期產品相比,現代應用平臺的主要進步表現在:
1)和雲計算環境的融合,讓用戶用很低的成本直接獲取雲原生能力。
2)Web應用技術框架的進步,讓瀏覽器可以承載複雜的前端交互要求。
3)和移動技術的融合,讓用戶可以直接生成跨平臺的移動應用。
4)針對複雜邏輯的互動設計水平提升,讓可視化配置實現複雜應用邏輯成為可能。
5)支持性的技術框架日益豐富,包括資料庫,緩存,對象存儲服務,搜尋引擎,容器技術,運維編排自動化等,讓應用平臺可以提供和原生應用開發完全一致的性能。
在可預見的短期未來,應用平臺一定能夠替代相當比例的原生代碼開發,大幅提高企業軟體行業的生產力。圍繞用戶體驗和邏輯實現方面的市場期待也會很快得以更好的滿足。