談?wù)勎覍Φ痛a開發(fā)平臺的見解(談?wù)勎覍Φ痛a開發(fā)平臺的見解和認(rèn)識)
低代碼開發(fā)平臺在近年來熱度不減,那么,低代碼平臺究竟是什么?其產(chǎn)品形態(tài)和產(chǎn)品架構(gòu)是怎么樣的?這篇文章里,作者聊了聊自己對低代碼平臺的見解,一起來看看吧。
近些年,低代碼平臺的熱潮只增不減。來公司之后做了一段時(shí)間的低代碼平臺,也調(diào)研了一些市面上的平臺淺淺談一下我的見解。
一、低代碼平臺概述
低代碼平臺,簡而言之,是將傳統(tǒng)的軟件開發(fā)流程線上化,通過配置面板和控制臺替代繁瑣的代碼編寫,實(shí)現(xiàn)開發(fā)環(huán)境的可視化。這使得不懂技術(shù)的業(yè)務(wù)人員也能通過簡單的配置方式,快速搭建出滿足業(yè)務(wù)需求的功能。
它打破了傳統(tǒng)的軟件開發(fā)流程:提交需求、確定產(chǎn)品方案、確定優(yōu)先級、排期、開發(fā)、驗(yàn)收、上線。在低代碼/無代碼開發(fā)模式下,用戶可以根據(jù)自己的需求,自行完成配置、測試、上線等操作,極大地縮短了系統(tǒng)上線或變更的周期。
產(chǎn)品形態(tài)
從實(shí)現(xiàn)方式上,市面上的低代碼平臺主要分為兩種大類。一類是基于表單 流程引擎設(shè)計(jì)模式,這類廠商較多,如明道云,一開始就定位于提供工具。另一類則是基于元數(shù)據(jù) 頁面組件 流程引擎的模式,這類廠商多為傳統(tǒng)開發(fā)模式的軟件廠商。它們在主營業(yè)務(wù)達(dá)到一定規(guī)模后,為了提高代碼復(fù)用率,將前后端的程序模塊化抽象出來,逐漸形成了低代碼產(chǎn)品。
表單 流程引擎:
- 描述:直接拖拽組件生成表單,無需手動搭建頁面,廣泛適用于多個(gè)行業(yè)。
- 優(yōu)點(diǎn):操作便捷,簡單易學(xué)習(xí);缺點(diǎn):簡單場景可以快速搭建,復(fù)雜場景需要做二開。
- 代表廠商:明道云、宜搭、輕流、道一云。
元數(shù)據(jù) 頁面組件 流程引擎:
- 描述:實(shí)現(xiàn)思路和傳統(tǒng)軟件開發(fā)方式有點(diǎn)相似:建表,建頁面,建流程。
- 優(yōu)點(diǎn):可以實(shí)現(xiàn)教復(fù)雜的頁面及業(yè)務(wù)邏輯;缺點(diǎn):學(xué)習(xí)成本高。
- 代表廠商:華為應(yīng)用魔方、北森。
二、產(chǎn)品架構(gòu)
以下以我所參與的產(chǎn)品為例進(jìn)行說明:經(jīng)典的MVC模式下,其中M代表數(shù)據(jù)模型,V代表用戶界面,C代表控制器。
這也就是低代碼平臺的核心能力:元數(shù)據(jù) 頁面引擎 流程引擎。
1. 元數(shù)據(jù)
和打開Navicat建表一樣,在低代碼平臺的配置中心,我們可以通過簡單四步快速的創(chuàng)建系統(tǒng)的對象:
- 創(chuàng)建對象:靈活定義數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)關(guān)系、校驗(yàn)條件和代碼標(biāo)準(zhǔn)等。內(nèi)置國標(biāo)代碼標(biāo)準(zhǔn),例如常用的證件類別、人員性別、學(xué)歷水平等,也可以自定義添加代碼標(biāo)準(zhǔn)。
- 添加業(yè)務(wù)接口:平臺自動為業(yè)務(wù)模型提供常用數(shù)據(jù)操作接口,包括新增、編輯、刪除、查詢、導(dǎo)入、導(dǎo)出、申請、審核等,并能根據(jù)需要靈活擴(kuò)展和自定義。
- 添加對象權(quán)限:業(yè)務(wù)模型操作授權(quán),可靈活設(shè)置接口范圍,精確到行和列。
- 發(fā)布對象:創(chuàng)建后發(fā)布對象即在數(shù)據(jù)庫同步生成了一張實(shí)體表。
2. 頁面引擎
定制化開發(fā)使得頁面沒有復(fù)用性,并導(dǎo)致業(yè)務(wù)低速運(yùn)轉(zhuǎn),從而限制業(yè)務(wù)擴(kuò)展。在這樣的背景下,我們提出組件化的產(chǎn)品設(shè)計(jì)。積木式搭建前端頁面,所見即所得的可視化配置,并且自適應(yīng)多終端。
我們將組件庫從業(yè)務(wù)層抽離出來,根據(jù)實(shí)際業(yè)務(wù)場景選擇合適的組件組合成對應(yīng)的頁面,提高開發(fā)效率的同時(shí),也可以保障產(chǎn)品體驗(yàn)的一致性。
除了組件,低代碼開發(fā)平臺將組件組合成了常用的頁面模板,創(chuàng)建頁面時(shí)直接選用基礎(chǔ)模板,如果有需要調(diào)整的地方再在這個(gè)模板基礎(chǔ)上進(jìn)行增減。
3. 流程引擎
流程引擎是低代碼平臺的核心組件之一。業(yè)務(wù)人員有自己調(diào)整業(yè)務(wù)流程及審批人的需求,流程引擎在業(yè)務(wù)場景中尤為重要。它支持靈活定義業(yè)務(wù)流程,包括并行和串行流程,以及或簽、會簽和順簽等多種審批方式。此外,流程引擎還提供了統(tǒng)一的待辦事項(xiàng)管理和流程監(jiān)控功能,確保業(yè)務(wù)的高效運(yùn)轉(zhuǎn)。
除了流程管理,業(yè)務(wù)邏輯的調(diào)整也是低代碼平臺的重要開發(fā)功能。不同于市面上大部分審批流程設(shè)置,為了簡化開發(fā)工作,我們采用了可視化的邏輯編排方式,使得新增、編輯、刪除和邏輯判斷等操作都可以通過簡單的拖拽和配置來實(shí)現(xiàn)。這種方式不僅降低了開發(fā)難度,還提高了開發(fā)效率,使得企業(yè)能夠快速響應(yīng)市場需求,實(shí)現(xiàn)業(yè)務(wù)創(chuàng)新。
除此核心能力還有一些低代碼平臺的重要功能:
4. 權(quán)限中心
權(quán)限管理,就是將系統(tǒng)資源的訪問權(quán)限授權(quán)給需要的用戶,通過角色管理實(shí)現(xiàn)細(xì)粒度的權(quán)限控制不同崗位(如人事處、二級單位、普通員工)具有不同的應(yīng)用權(quán)限、菜單權(quán)限、操作權(quán)限和數(shù)據(jù)權(quán)限。這種設(shè)計(jì)確保了系統(tǒng)的安全性和數(shù)據(jù)的保密性。
5. 報(bào)表引擎
報(bào)表引擎是現(xiàn)代數(shù)據(jù)分析領(lǐng)域的核心組件,它通過高度集成和優(yōu)化的技術(shù)架構(gòu),實(shí)現(xiàn)了對多維數(shù)據(jù)的快速處理和可視化展示。設(shè)計(jì)上支持多種圖表類型,包括柱狀圖、折線圖、餅圖、表格圖、雷達(dá)圖、漏斗圖等。用戶可以根據(jù)自己的需求,選擇不同的維度和指標(biāo),將數(shù)據(jù)用圖表呈現(xiàn)進(jìn)而對數(shù)據(jù)進(jìn)行分析。報(bào)表引擎是智慧決策的重要工具。
6. 消息中心
各個(gè)業(yè)務(wù)模塊均用到發(fā)送消息功能,招聘系統(tǒng)給應(yīng)聘人員發(fā)送面試通知,薪酬系統(tǒng)給員工發(fā)送工資條等。
首先在消息中心定義消息模板,另外需要設(shè)置:
- 觸發(fā)規(guī)則,是定時(shí)發(fā)送還是指定條件下自動提醒;
- 發(fā)送方式:支持短信、郵件、站內(nèi)消息等發(fā)送方式,另外還支持和企業(yè)微信、釘釘、飛書等第三方軟件對接。
最后前端業(yè)務(wù)系統(tǒng)通過觸發(fā)事件調(diào)用消息中心的消息推送服務(wù),把具體的業(yè)務(wù)消息內(nèi)容推送給指定的用戶,消息內(nèi)容可設(shè)置短鏈接,點(diǎn)擊即可辦理業(yè)務(wù)。并且支持在消息管理中心對運(yùn)行情況實(shí)時(shí)監(jiān)控和統(tǒng)計(jì)分析。
7. 表單設(shè)計(jì)
支持可視化編輯表單樣式,動態(tài)綁定數(shù)據(jù),支持預(yù)覽、打印和下載。支持Word、excel等多種設(shè)計(jì)形式,可直接導(dǎo)表單樣式;表單設(shè)計(jì)的功能與操作習(xí)慣與Word、excel類似。
三、低代碼開發(fā)平臺優(yōu)勢
- 快速構(gòu)建與靈活調(diào)整:低代碼平臺允許企業(yè)迅速構(gòu)建業(yè)務(wù)系統(tǒng),并隨著需求的變化進(jìn)行快速配置和調(diào)整,確保系統(tǒng)始終與業(yè)務(wù)需求保持同步。
- 高可視化與低學(xué)習(xí)成本:系統(tǒng)配置功能高度可視化,降低了學(xué)習(xí)成本。常規(guī)功能無需編寫代碼,而個(gè)性化功能則可通過低代碼開發(fā)快速實(shí)現(xiàn)。
- 跨平臺兼容性:無論是PC端還是移動端,低代碼平臺都能實(shí)現(xiàn)同步配置開發(fā),確保在不同版本的終端上都能獲得一致的用戶體驗(yàn)。
- 全面的基礎(chǔ)服務(wù):為客戶提供元數(shù)據(jù)、流程、頁面、權(quán)限、日志、報(bào)表等基礎(chǔ)服務(wù),并全部支持可視化配置,簡化了開發(fā)和管理過程。
- SDK支持:對于獨(dú)立部署的業(yè)務(wù)系統(tǒng),平臺提供SDK,為業(yè)務(wù)系統(tǒng)的開發(fā)提供技術(shù)框架能力和基礎(chǔ)服務(wù)能力。
- 個(gè)性化開發(fā)服務(wù):低代碼開發(fā)模式使得基于平臺或業(yè)務(wù)系統(tǒng)的個(gè)性化開發(fā)服務(wù)變得快捷和方便。
總結(jié):隨著數(shù)字化轉(zhuǎn)型的加速,各行業(yè)對系統(tǒng)敏捷性和易用性的需求不斷增加。市場環(huán)境多變,傳統(tǒng)軟件開發(fā)周期長,難以適應(yīng)快速變化的需求。而低代碼開發(fā)平臺以其豐富的模板和插件,幫助企業(yè)快速搭建業(yè)務(wù)應(yīng)用,隨著AIGC時(shí)代的到來,開發(fā)形式可能還會有所變化,只能一直進(jìn)步,持續(xù)創(chuàng)新了呀。
本文由 @徐大小姐 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自 Unsplash,基于 CC0 協(xié)議
該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)。