Why:為什么要用LowCode
從業(yè)界動(dòng)態(tài)來(lái)講,根據(jù)全球領(lǐng)先的信息技術(shù)研究和顧問(wèn)公司Gartner的最新預(yù)測(cè)蜀铲,2021年全球IT支出將達(dá)到4萬(wàn)億美元,到2023年街佑,超過(guò)50%的大中型企業(yè)將采用LowCode
作為其戰(zhàn)略應(yīng)用平臺(tái)之一巡语。那么中國(guó)作為亞太地區(qū)的經(jīng)濟(jì)大國(guó)與IT強(qiáng)國(guó)唆铐,中國(guó)的應(yīng)用開發(fā)市場(chǎng)將會(huì)引來(lái)一個(gè)爆發(fā)期,未來(lái)幾年內(nèi)的增速都會(huì)超過(guò)全球平均水平爹耗,LowCode
概念被重點(diǎn)提出耙考。目前國(guó)內(nèi)各大廠都有自己的LowCode
搭建平臺(tái),如云鳳蝶(阿里)潭兽、Blocks(百度)倦始、樂(lè)高(美團(tuán))等一系列的平臺(tái)。
What:什么是LowCode
LowCode
是一種軟件開發(fā)方法山卦,可以更快地以最少的手工編碼交付應(yīng)用程序鞋邑。
LowCode基礎(chǔ)能力
那么一個(gè)好的LowCode
平臺(tái)需要具備哪些基礎(chǔ)能力呢。
- HTML Tree 編輯: 可以方便自由的去改變頁(yè)面元素的尺寸账蓉、上下移動(dòng)位置枚碗,來(lái)更改頁(yè)面布局。
- Component Tree 編輯:指單個(gè)組件編輯铸本。在基礎(chǔ)組件列表中選擇合適的組件, 通過(guò)拖拉的方式將組件嵌入到頁(yè)面中, 生成帶布局和樣式肮雨。
- Custom Development:為什么我們叫
LowCode
低代碼而不是叫NoCode無(wú)代碼。因?yàn)檫€是可以有少量代碼開發(fā)箱玷。LowCode
平臺(tái)不僅要有豐富的基礎(chǔ)組件怨规,也需要具備定制化開發(fā)的能力,來(lái)滿足部分定制化的場(chǎng)景锡足。- Data 編輯:專注于可視化的編輯頁(yè)面的 Data部分, 如可以自由配置圖片URL椅亚、按鈕文本、按鈕跳轉(zhuǎn)鏈接等。
- Dynamic Logic 編輯:可靈活添加業(yè)務(wù)判斷邏輯的能力,如校驗(yàn)規(guī)則五辽,是否必填糠睡,填寫最大長(zhǎng)度為多少脏毯。
LowCode與現(xiàn)有開發(fā)模式對(duì)比
下面從3個(gè)方面來(lái)講使用了低代碼平臺(tái)之后的變化媚赖。
- 差異點(diǎn): 用編程方式來(lái)開發(fā)應(yīng)用霜瘪,變成直接可視化搭建應(yīng)用。
- 技能要求:之前生成應(yīng)用需要會(huì)編程基礎(chǔ)的人進(jìn)行開發(fā)惧磺,而用
LowCode
后颖对,無(wú)編程基礎(chǔ)的人也可以搭建自己想要的應(yīng)用。- 操作方式:操作方式的轉(zhuǎn)變磨隘,從在開發(fā)者工具中編寫代碼缤底,到直接在可視化平臺(tái)中拖拉。
How:投放LowCode實(shí)戰(zhàn)
投放平臺(tái)背景介紹
投放平臺(tái)是集素材錄入番捂,素材管理个唧,素材分發(fā)為一體的可視化智能平臺(tái)。隨著素材多樣性设预,需要越來(lái)越多的素材類型支持徙歼,而我們的產(chǎn)研資源都是有限的,怎么才能更快的滿足業(yè)務(wù)需求鳖枕。我們需要引入LowCode
-低代碼平臺(tái)魄梯,來(lái)優(yōu)化我們的現(xiàn)有流程。
投放LowCode流程對(duì)比
下面我們來(lái)分析下素材新增流程宾符,當(dāng)業(yè)務(wù)方有個(gè)新素材需求時(shí)酿秸,先要通過(guò)產(chǎn)品來(lái)編寫PRD
,交互出交互稿或者視覺稿魏烫,放入PRD中允扇。評(píng)審后進(jìn)入開發(fā)階段,后端進(jìn)行CMS接口開發(fā)以及對(duì)接上游接口则奥,前端開發(fā)頁(yè)面考润,前后端連調(diào),再測(cè)試上線读处。
但是會(huì)有兩個(gè)弊端糊治,第一個(gè)弊端是新增素材類型,前后端都需定制開發(fā)罚舱,產(chǎn)研溝通成本很高井辜,開發(fā)效率很低 。第二個(gè)弊端是目前素材類型已超過(guò)60種管闷,在開發(fā)過(guò)程中粥脚,為了滿足各種業(yè)務(wù)需求,引入了多種字段包个,缺乏對(duì)素材類型的明確區(qū)分刷允;而每次接入新素材,前端也需要定制化開發(fā),缺乏組件沉淀树灶。這導(dǎo)致了系統(tǒng)的復(fù)雜性增加纤怒,維護(hù)與迭代難度增加,不利于系統(tǒng)進(jìn)一步快速發(fā)展天通。
如果我們用LowCode
改造泊窘,后面的流程會(huì)變成:當(dāng)產(chǎn)品收到新素材需求時(shí),產(chǎn)品先去LowCode
平臺(tái)直接配置素材像寒, 如果都是復(fù)用以前的素材類型配置烘豹,則不需要研發(fā),直接測(cè)試诺祸,上線携悯。 低代碼平臺(tái)成熟后,測(cè)試也不需要接入序臂,直接上線發(fā)布。實(shí)現(xiàn)全鏈路一體化流程实束。像之前做一個(gè)“新增相似商品組”的需求奥秆,之前就有類似的組配置,可以無(wú)需開發(fā)咸灿,可直接上線构订。 如果有需要對(duì)接上游接口,后端定制開發(fā)介入避矢,但是CMS
端不用開發(fā)悼瘾。像接入小程序素材類型,沒(méi)有上游對(duì)接审胸,后端可無(wú)需接入亥宿。 如果有LowCode
平臺(tái)無(wú)法支持的需求,前端參與做定制化組件的開發(fā)砂沛。 對(duì)比兩個(gè)流程烫扼,LowCode
的優(yōu)勢(shì),通過(guò)可視化碍庵、配置化搭建映企,產(chǎn)品與研發(fā)無(wú)需或少量對(duì)接溝通,節(jié)約產(chǎn)研資源静浴,縮短需求交付周期堰氓。
接下來(lái)從不同用戶角色的角度來(lái)講解下素材新建的全流程。
角色一:產(chǎn)品搭建素材流程
先新建組類型苹享、錄入類型双絮、錄入限制,如先新建一個(gè)商品組名字為通用,再是新建到家業(yè)務(wù)錄入類型掷邦,最后是新建SkuId
錄入限制白胀。 接下來(lái)就是重點(diǎn),投放素材配置搭建抚岗,主要是兩部分或杠,表單搭建和表格搭建。表單搭建用的是可視化表單Drip-form-generator
技術(shù)宣蔚,它可自由拖拽基礎(chǔ)表單和業(yè)務(wù)表單向抢,并自定義校驗(yàn)規(guī)則,如必填胚委,或最大值判斷挟鸠。再就是有導(dǎo)入或?qū)С霰韱闻渲谩<由隙ㄖ苹_發(fā)的能力亩冬。配置完表單后得到配置數(shù)據(jù)艘希,配置數(shù)據(jù)的格式遵循業(yè)界通用的Json Schema
協(xié)議,后端來(lái)存儲(chǔ)配置數(shù)據(jù)硅急。新建素材類型需要配置4份表單覆享,分別為素材組、場(chǎng)次营袜、新增以及編輯素材表單撒顿。 可視化列表搭建技術(shù)架構(gòu)也是類似,叫做Drip-table-generator
荚板,遵循Json Schema
協(xié)議凤壁,前端收集配置數(shù)據(jù),后端存儲(chǔ)跪另。 最后是寫擴(kuò)展功能拧抖,白名單配置,可在投放現(xiàn)有的權(quán)限管理中配置免绿。
角色二:業(yè)務(wù)方錄入素材場(chǎng)景
業(yè)務(wù)方先選擇商品組還是廣告組徙鱼,白名單用戶會(huì)跳到新版素材錄入頁(yè)面,在場(chǎng)次上確定錄入限制针姿,也就是確定了素材類型袱吆。之后前端將從接口中讀取表單、列表的配置數(shù)據(jù)距淫,用Drip-form
以及Drip-table
去解析數(shù)據(jù)绞绒,渲染出4
份表單以及1
份素材列表,完成素材中心頁(yè)面渲染榕暇。
Feature:未來(lái)愿景
在未來(lái)蓬衡,借助LowCode
平臺(tái)喻杈,每個(gè)人都能快速構(gòu)建和共享低代碼應(yīng)用。
Happy coding .. :)