深入評析低代碼開發平臺(深入評析低代碼開發平臺的優勢)
主持人:
郭衛丹 浙江師范大學附屬中學
嘉 賓:
劉宗凡 廣東省四會市四會中學
邱元陽 河南省安陽縣職業中專
倪俊杰 浙江省桐鄉市鳳鳴高中
楊 磊 天津市第五中學
APaaS火爆背景
邱元陽:去年,我們討論過學校數字化建設中的前臺和后臺的鏈接點,即將業務共同的工具和技術予以沉淀的“中臺”這個概念。今年,“低代碼”接力“中臺”成為新的IT熱點,引發了眾多業內人士論戰。其中有兩種極端的觀念,一種是“低端炒作”“玩具開發”,另一種是“顛覆行業”“取代碼農”。若說“顛覆”“取代”,事實上,低代碼、圖形化的開發模式存在至少已有20年歷史了,又豈能在今天突然顛覆?若說“低端”“玩具”,事實上,最早的國外低代碼平臺OutSystems、Mendix都已成為新興的獨角獸企業;亞馬遜、微軟、華為、阿里、騰訊等國內外IT巨頭,以及大量傳統軟件廠商、新興SaaS廠商紛紛進駐該領地,如此勢頭,又豈能以“無意義”一言概之?低代碼的形式是“可視化編程”,核心是“復用”。像中臺一樣,提高復用率是低代碼的關鍵。但單單“復用”不足以解釋今年低代碼平臺的火爆,低代碼突然火爆的原因是什么?
劉宗凡:邱老師提出的問題很有意義,以往,程序設計和應用開發不可避免地要寫代碼,因而成為比較專業的領域。對教師來說,大都接觸過很多廠商和機構提供的為了降低編程門檻和開發難度,針對非專業人員的積木式編程和開發工具,如針對低齡兒童的積木式編程工具Scratch和編程貓,針對手機應用開發的App Inventor,針對兒童機器人活動的樂高,針對教學課件的紅月亮等。這些積木式開發工具,將常用功能和算法集成到了相應的模塊中,簡化了程序設計代碼,甚至完全屏蔽了代碼,使編程和開發可以由普通用戶和非專業人員來完成,減輕了開發人員的勞動強度。對積木式編程工具而言,還可以避免枯燥的語法和算法破壞程序設計體驗,減少算法恐懼,使學生盡早接觸編程。對積木式開發工具而言,大幅度減少了寫代碼的工作量,并可以使更多的人參與到開發中來,不僅使開發者有成就感,而且吸引了更多的用戶,并降低了最終用戶的成本。教學環境中,也有很多可以利用的無代碼開發工具,如秋風試題系統、方正奧思創作工具等。當下,云計算技術的成熟、應用移動化等,為低代碼2.0提供了技術基礎,這好比互聯網出現前夕,計算機網絡是一座座孤島,互聯網打破了這些孤島。同樣,如今的信息孤島、云端孤島屢見不鮮,曾經的低代碼作為開發工具也只是在構建孤島。但“低代碼 云”的想象力將不止這些,如果能形成“互聯、共生的生態”,它有可能打破當前應用與應用、企業與企業、開發者與開發者之間的孤島現狀,大大提高代碼復用率,進而引發一次效率的飛躍。另外,國外低代碼平臺成功商業化,國內“互聯網 ”“數智化轉型”熱潮等都是低代碼開發升級的催化因素。
郭衛丹:和企業軟件開發與應用一樣,在學校信息化建設過程中,在享受一些成功軟件項目的便捷增效中,我們也看到很多失敗的例子,無法為學校帶來預期價值。軟件產品的搭建從原生代碼開發到SaaS租用再到低代碼平臺的嘗試,都是人們為了降低開發成本、控制項目風險、提高開發效率不斷努力的結果,人們期望能找到更通用更高效的解決方案。低代碼平臺之所以能廣泛應用于使用單位軟件的搭建,就是因為從底層思維出發找到了使用方的軟件的某些要義,即絕大部分單位的軟件由業務實體、業務流程、業務活動、業務權限、統計報表這幾個要點組成,因此,低代碼平臺若能將以上要點抽象后實施,可形成比較通用的用戶軟件解決方案。
倪俊杰:業務的實體更明確地說就是操作對象,如教師、學生用戶,也可以是某個應用表單。這術的成熟、應用移動化等,為低代碼2.0提供了技術基礎,這好比互聯網出現前夕,計算機網絡是一座座孤島,互聯網打破了這些孤島。同樣,如今的信息孤島、云端孤島屢見不鮮,曾經的低代碼作為開發工具也只是在構建孤島。但“低代碼 云”的想象力將不止這些,如果能形成“互聯、共生的生態”,它有可能打破當前應用與應用、企業與企業、開發者與開發者之間的孤島現狀,大大提高代碼復用率,進而引發一次效率的飛躍。另外,國外低代碼平臺成功商業化,國內“互聯網 ”“數智化轉型”熱潮等都是低代碼開發升級的催化因素。
低代碼平臺核心要義
郭衛丹:和企業軟件開發與應用一樣,在學校信息化建設過程中,在享受一些成功軟件項目的便捷增效中,我們也看到很多失敗的例子,無法為學校帶來預期價值。軟件產品的搭建從原生代碼開發到SaaS租用再到低代碼平臺的嘗試,都是人們為了降低開發成本、控制項目風險、提高開發效率不斷努力的結果,人們期望能找到更通用更高效的解決方案。低代碼平臺之所以能廣泛應用于使用單位軟件的搭建,就是因為從底層思維出發找到了使用方的軟件的某些要義,即絕大部分單位的軟件由業務實體、業務流程、業務活動、業務權限、統計報表這幾個要點組成,因此,低代碼平臺若能將以上要點抽象后實施,可形成比較通用的用戶軟件解決方案。
倪俊杰:業務的實體更明確地說就是操作對象,如教師、學生用戶,也可以是某個應用表單。這術的成熟、應用移動化等,為低代碼2.0提供了技術基礎,這好比互聯網出現前夕,計算機網絡是一座座孤島,互聯網打破了這些孤島。同樣,如今的信息孤島、云端孤島屢見不鮮,曾經的低代碼作為開發工具也只是在構建孤島。但“低代碼 云”的想象力將不止這些,如果能形成“互聯、共生的生態”,它有可能打破當前應用與應用、企業與企業、開發者與開發者之間的孤島現狀,大大提高代碼復用率,進而引發一次效率的飛躍。另外,國外低代碼平臺成功商業化,國內“互聯網 ”“數智化轉型”熱潮等都是低代碼開發升級的催化因素。
就需要我們在低代碼平臺中建立數據模型來提取業務實體的數據特征,抽象為數據表,建立表間關系。在軟件開發前期制作ER圖的過程就是數據建模。常見的低代碼開發平臺均提供了豐富的控件,可以拖拽完成數據模型搭建。此外,數據模型搭建與表單展示合二為一,每完成一個數據表的創建,就自動生成了該表的“增刪改查”功能及相關頁面,進而隱藏了數據庫設計、前端開發這些專業技術。其實,這也就是我們常說的表單引擎。雖然很多低代碼平臺將數據建模與表單展示合二為一,但通過這種方式自動生成的表單只能實現最基礎的“增刪改查”頁面,用戶對界面展示內容及形式的控制程度很低,無法滿足大部分軟件的需求,所以,低代碼平臺一般還會提供自定義頁面功能,用戶可根據需要在頁面上配置按鈕、圖表等元素,以滿足個性化需求。以明道云平臺為例,對單個業務實體創建界面及平臺自動生成的新增該業務實體頁面分別如圖1和圖2所示。以學生、班級為例,配置了“班級”這個業務實體包含的字段,并設置了“班級”實體與已創建的“學生”實體的1:N對應關系。
圖1 業務實體創建界面
圖2 自動生成的業務實體頁面面
楊磊:我來說一下平臺是如何支持另外三個要素的,業務流程是指為了實現某項目標,由多人合作,按照一定的規則、順序進行的一系列活動,即進行何種操作,如采購申請、物品領用。在軟件中,業務流程的參與者可以是人,也可以是子應用。低代碼平臺實現了可視化流程配置,用戶對觸發條件、處理節點、節點參與者進行配置,實現自定義業務流程。圖3和圖4是以宜搭中的流程工具制作的學校采購訂單流程和領用申請的業務流程配置界面。
圖3 學校采購訂單流程(左) 圖4 領用申請的業務流程(右)
業務權限就是何種角色擁有何種權限,包括數據查看權限和數據操作權限,如教務人員可以管理所有學生信息,而班主任只能管理自己班級的學生信息。業務權限對低代碼平臺來說尤其重要,新接手用戶擁有太大權限會給開發工作帶來很大的風險。所以一定要確保為每個用戶提供他們所需的功能。
例如,需要開發簡單報表任務的用戶不應該具有創建數據庫管理應用的權限。所以,低代碼平臺都采用了非常經典的基于角色的訪問控制(RBAC)模型管理用戶權限,簡單來說就是將擁有相同權限的用戶添加為相同角色,通過為角色分配權限,實現“用戶—角色—權限”的授權模式。類似學校就是一個組織,下轄都會有各個學校部門的概念,所以,也可以將部門添加到某個角色,實現“用戶—部門—角色—權限”的授權模式。下頁圖5為用宜搭平臺對學校總務部門的物品領用流水進行權限管控的頁面。
圖5 物品領用流水權限管控
統計報表就是在表單/流程表單中收集得到的數據,可通過報表來進行查看、分析和處理,查看從哪些方面量化單位整體活動情況,如班級考勤、食堂用餐分析可以類比Excel中的透視圖,統計圖表由數據源、統計規則、展示形式定義,低代碼平臺也正是遵循這種方式,實現了統計圖表的可視化配置,甚至還可以做出比較專業的BI、儀表板應用程序,非常適合學校根據數據變化趨勢做出決策和學校數據中心展示,圖6為借助明道云創建的統計圖表配置頁面。
圖6 明道云創建的統計圖表
解析“低代碼”的常見誤區
郭衛丹:低代碼開發平臺,正在風靡整個IT世界。畢竟能夠以最少的編碼快速開發應用的想法本身就很吸引人。但是,隨著它受歡迎程度的提升,圍繞著低代碼的各種誤區也隨之而來。我們希望通過破解這些低代碼的誤區,幫助讀者更好地了解低代碼開發平臺這個低門檻、高效率的軟件開發新選擇。首先,業內還是有很多人認為低代碼僅適用于平民開發者,大家怎么看?
邱元陽:我想大多數從業者可以使用低代碼來輕松開發所有類型的應用。在詳述這個觀點之前,讓我以學校為例,先看一下從事應用開發的人員可以分為哪幾類。
業務人員:包括沒有編碼知識,但在校辦、教務、總務等學校行政服務領域的操作人員。
IT人員:包含學校信息科或信息技術教師。他們編碼經驗相對不高,但熟悉電子表格,并且具有JavaScript、PHP、Python等腳本語言的基本知識。
專業開發者:與學校原先軟件業務有聯系的編碼專家,熟練掌握一門或多門編程語言及相關工具,經過短時間的培訓就能和學校現有使用低代碼平臺銜接。
與專業開發者相對應,業內一般將前兩者統稱為平民開發者。事實上,平民開發者和專業開發者都可以使用低代碼開發平臺,但開發的應用程序的功能和復雜性會有所不同。使用低代碼平臺,平民開發者可以構建非常簡單的應用,提供基本功能。專業開發者可以開發出更復雜的應用,功能和復雜度都可以高于平民開發者開發的應用。在這個過程中,低代碼開發平臺幫助專業開發者減少所需的手動編碼量,縮短應用交付的時間周期。簡而言之,無論是平民開發者還是專業開發者,低代碼開發平臺都可以從不同維度擴展他們的能力,做出更有效能的應用。
①采用低代碼/無代碼的單位必須具有一定的數字化基礎,以學校為例,相關教職員工也必須具有最基礎的表單、流程等基礎信息素養,客觀來講,所謂低代碼/無代碼,并不是像大家從字面上看到,可以什么都不用學就能開發軟件。如果學校沒有數字化氛圍,教職工沒有對所從事的業務以及流程有深刻理解,根本無法生成應用軟件,更不可能對學校數字化建設發展產生正面的作用。
②要對所在單位實際業務的痛點有深刻的認知。學校相關職能人員都必須曾經面對在教務、財務、科研等方面最關鍵的痛點,這樣新應用才能夠解決這些痛點,否則開發的新應用將成為無源之水、無本之木。
③雖然低代碼開發平臺能夠建立全新的數據,但學校已經積累了一定的數據,如師生基礎數據、學校資源數據、選課數據、財務數據等,可以快速地理解應用目的,通過低代碼開發,加快一些利用現有數據進行數據打通的應用開發進程。
④個性化需求更強的學校,更容易利用低代碼平臺開發滿足自己個性化需求的應用。開發更快、代碼量更低,這是低代碼開發平臺永遠的追求,也是學校提升到智慧校園級別的體現。
郭衛丹:從字面上看,低代碼開發平臺似乎只適用于軟件開發生命周期(SDLC)的開發階段(如圖7),大家怎么理解?
圖7 軟件開發生命周期(SDLC)
劉宗凡:事實并非如此。優秀的低代碼平臺,可以非常有效地支持整個應用交付生命周期:設計、開發、測試/調試、部署、運維和迭代。這些平臺通常配備了可視化開發工具,增加了一鍵式部署、自動運維等功能。這些功能通過在SDLC內持續迭代應用,縮短了產品的上線時間。可以通過領域模型的構建開發出不同類型和規模的應用,如單位官網、APP、ERP等。其能應對單位不同程度的復雜場景開發需求,即能服務不同規模的用戶方。現代的軟件開發流程與協作模式,凝聚了數代軟件人的智慧,并形成了完整的生態系統,廣泛服務于包括專業級軟件在內的各類軟件項目。一些基于模型驅動的低代碼平臺可適配業界主流的敏捷式開發流程,覆蓋應用開發的全生命周期。另外,低代碼開發雖然通常以云端形式面向開發者,但也有單位從數據安全、完全取得軟件所有權方面考慮,希望進行本地化服務器和軟件應用部署。這也完成了一個完整的軟件開發生命周期,國內如騰訊云、活字格等低代碼開發平臺都開放了本地化部署模式。
具體從架構模式上看,本地化低代碼開發平臺往往由開發設計器、服務器,以及第三方提供的協作服務器構成,覆蓋專業級應用開發的全生命周期。通常情況下,開發者使用低代碼開發平臺開發專業級應用的流程如下:開發者使用開發設計器,啟動開發工作。如需與其他開發者組成團隊,共同推進項目開發,或者需要進行版本管理,開發者可以利用協作服務器(如碼云、GitHub等互聯網或安裝在局域網內的Git服務器)和其他開發者進行協作。開發者在自己的計算機上,通過設計器構建數據表、服務端邏輯、頁面等元素,完成應用開發和調試后,可以利用一鍵發布功能,將應用打包成可發布文件,部署到本地服務器上。其中,系統管理員可以通過管理控制臺,可視化管理系統用戶和權限,并且完成網絡安全、自動備份等配置工作。配置完成后,用戶即可通過瀏覽器、APP、微信、釘釘等多終端使用開發者構建的專業級應用。從這里可以得出,一個可靠的低代碼開發平臺可以完成處理軟件開發生命周期所有階段的內容。
郭衛丹:軟件開發生命周期可能還是比較專業,對初學者來說還有一個常見的誤區:常常在低代碼和無代碼之間混淆,并傾向于互換使用它們,大家能談談對此的理解嗎?
倪俊杰:低代碼和無代碼這兩個術語本身具有誤導性,因為兩者的真實區別不在于人們是否需要編碼。其區別主要在于使用這些平臺構建應用的人的類型。低代碼開發平臺可以幫助平民開發者在沒有任何編碼的情況下創建簡單應用,并且能夠讓專業開發者通過少量編碼,快速構建出更復雜的應用。雖然無代碼平臺允許平民開發者創建基本應用程序,但它們對專業開發者毫無用處。沒有足夠擴展能力和編程接口的無代碼開發平臺以及部分低代碼開發平臺的使用者,在遇到復雜的單位業務要求時,會遭遇之前開發的工作量前功盡棄的風險,這也是很多開發者對低代碼開發平臺產生疑慮的主要原因之一。
事實上,成熟的低代碼開發平臺因為其足夠的開放性,可以支持開發者像純代碼開發一樣做出各種功能,包括但不限于連接第三方軟件,還可以硬件驅動程序。以活字格為例,可以對接企業微信、釘釘等第三方平臺,還可對接用友、泛微等專業既存系統,并能對接高拍儀、掃碼槍等硬件設備。我們可以想象低代碼開發會在物聯網APP開發中擁有廣闊的前景,尤其對硬件底層不太熟悉的學校用戶就不用再依賴各設備廠商和軟件廠商來幫其開發物聯應用,業務人員自己就可以上手,使業務部門可以聚焦應用和技術開發并口管理,組件高復用提升可靠度,降低多頭私有開發、代碼質量參差不齊帶來的安全風險,應用開發安全和目的性更明確可靠,簡化APP應用管理的復雜性,為物聯網應用APP的敏捷開發提供了一條便捷的途經。這也是低代碼開發平臺與無代碼開發平臺之間的具體差別之一。
楊磊:我再補充一點,低代碼和無代碼之間的差異對許多人來說的確是模糊的,因此導致人們認為低代碼平臺僅具備有限的可定制性和可擴展性,低代碼平臺無法通過精心設計的UI/UX設計來開發大型應用。事實上正相反,低代碼開發平臺可以滿足高度復雜應用需求。在業務邏輯方面,自定義代碼和重用業務邏輯的選項使開發人員可以自由添加所有必需的功能,并對其進行自定義,以滿足業務需求。除此之外,低代碼開發平臺還提供了開發引人入勝的UI/UX設計所需的所有工具,對行業理解較深的低代碼開發平臺就內置有與行業相關的大量素材、樣式主題以及所見即所得的頁面元素樣式設計器。通過低代碼開發平臺,開發者可以開發出包含內部協作系統、用戶特色服務系統(如課程資源庫、課堂教師評價等)在內的各種專業級大型應用。如果單位的項目需要保持統一的VI,還需考慮在開發平臺上引入統一的CSS樣式,如上頁圖8所示。
圖8 活字格低代碼開發平臺對頁面進行專業設計
結語
討論到這里,關于低代碼開發平臺的誤區已經被破解了。相信軟件公司或者使用單位自身的IT部門甚至業務人員都可以利用低代碼開發平臺,快速開發出面向未來的應用和擴展。需要強調的是,雖然本欄目連續兩期都在討論低代碼開發,但要說哪一種實現路徑占優,都是片面的,只是站的角度不同而已。在數字化發展的大潮中,低代碼無代碼開發平臺要讓每個人,包括開發者和普通業務人員,都能夠成為各自單位數字化過程中的主導者和構建者。無論是原生開發模式、SaaS模式,還是低代碼平臺,變化的都是軟件開發模式,而永遠不變的是讓技術賦能業務,為單位創造價值。對每位嘗試在學校數智化變革有所貢獻的教育工作者來說,對業務的理解能力、抽象能力、解決方案能力都值得不斷去提升。
了解更多精彩內容,請關注我們公眾號【ID:xingongyecn】,或百度搜“新工業網”。