背景
在 B 端領(lǐng)域深耕多年,接觸了成百上千的 B 端頁(yè)面,發(fā)現(xiàn)對(duì)于 B 端產(chǎn)品需求和 C 端有著明顯的差異,B端產(chǎn)品一般是基于現(xiàn)有的“業(yè)務(wù)”形態(tài),將傳統(tǒng)線下工作,通過(guò)程序化、系統(tǒng)化、信息化轉(zhuǎn)換為線上產(chǎn)品,從而提升企業(yè)協(xié)同效率,降低辦公成本。需求一般來(lái)源于產(chǎn)品戰(zhàn)略定位、使用者個(gè)性需求等。
其中 B 端各種各樣的功能,其實(shí)就是很多 CURD 頁(yè)面的堆砌,對(duì)于 B 端這些頁(yè)面其實(shí)調(diào)性是差不多的,使用低頻,頁(yè)面重復(fù)度高,表格表單為主,功能性多且雜。
每個(gè)公司都會(huì)結(jié)合自己實(shí)際的業(yè)務(wù)抽象出一套搭建系統(tǒng)來(lái)解決 B 端場(chǎng)景的 CRUD 重復(fù)頁(yè)面的方案,核心就在于標(biāo)準(zhǔn)和規(guī)則的制定,對(duì)于 B 端搭建早就不是什么新鮮玩意,B 端搭建平臺(tái)的難點(diǎn)本身不在于有多少技術(shù)壁壘,更多的是在于從產(chǎn)品到研發(fā)再到測(cè)試整個(gè)流程的標(biāo)準(zhǔn)化,以及和業(yè)務(wù)的緊緊貼合,只有這樣才能發(fā)揮搭建平臺(tái)的價(jià)值。
二
標(biāo)準(zhǔn)
為什么說(shuō)核心是標(biāo)準(zhǔn),引用一個(gè)之前看到的通俗易懂的例子,我們小時(shí)候逢年過(guò)節(jié)穿的衣服,都是去裁縫店選一下材料、量一下尺寸,等個(gè)半個(gè)來(lái)月,討回來(lái)就可以穿了,衣服合身又喜歡。鏡頭切回今天,我們只需要在天貓、淘寶上看看圖片、選擇合適的尺寸就可以下單了,第二天就可以穿上,偶爾一絲不合身,偶爾大街上撞衫,但我們并不在意,因?yàn)槲覀兿硎艿搅烁嗟谋憷c高效,受益于這個(gè)產(chǎn)業(yè)制定了很多的標(biāo)準(zhǔn)化模型,比如身材模型:S、M、L、XL、XXL,我們不再需要每次都去量身高尺寸,現(xiàn)在標(biāo)準(zhǔn)化生產(chǎn)出來(lái)的衣服可以滿(mǎn)足超過(guò) 90% 的需求,除明星或特殊場(chǎng)景之外也不會(huì)費(fèi)心思去量身定制。
服裝、飲食、汽車(chē)乃至各行各業(yè)發(fā)展至今都已經(jīng)形成非常成熟、高效的產(chǎn)業(yè)鏈,軟件研發(fā)行業(yè)同樣如此,業(yè)務(wù)需求在增長(zhǎng)且變化快,越是技術(shù)密集型的工種越容易帶來(lái)人力不足的瓶頸,這就越需要更多的標(biāo)準(zhǔn)和模型的制定,標(biāo)準(zhǔn)越趨于統(tǒng)一,就越高效,有時(shí)候 “放棄創(chuàng)造力才是最大的創(chuàng)造力”,可以預(yù)見(jiàn),未來(lái)絕大多數(shù)場(chǎng)景將使用標(biāo)準(zhǔn)化模板通過(guò)無(wú)定制或低定制來(lái)完成業(yè)務(wù)需求。
三
定位
B 端搭建平臺(tái),設(shè)計(jì)方案上主要首先要想明白這幾個(gè)問(wèn)題:
pro-code,low-code,還是 no-code?
用戶(hù)群體是誰(shuí)?產(chǎn)品?運(yùn)營(yíng)?開(kāi)發(fā)?
什么樣的頁(yè)面適合用B端搭建平臺(tái)?需要制定什么樣的標(biāo)準(zhǔn)?
我們的業(yè)務(wù)特點(diǎn)是什么?怎么樣的搭建方案最貼切我們的業(yè)務(wù)?
針對(duì)目前B 端的業(yè)務(wù),更加傾向于少量代碼編寫(xiě)的 low-code,主要綜合以下幾點(diǎn)考慮:
成本和效率因素:使用 low-code 可以實(shí)現(xiàn)快速搭建應(yīng)用程序的目標(biāo),而無(wú)需具備高深的編程技能。low-code 搭建平臺(tái)提供了豐富的預(yù)定義組件和集成工具,可以減少開(kāi)發(fā)時(shí)間和成本,提高開(kāi)發(fā)效率。
簡(jiǎn)化開(kāi)發(fā)過(guò)程:采用 low-code 搭建平臺(tái),用戶(hù)只需要通過(guò)簡(jiǎn)單的拖放操作和配置即可實(shí)現(xiàn)應(yīng)用程序的設(shè)計(jì)和開(kāi)發(fā)。low-code 搭建平臺(tái)提供了一個(gè)可視化的開(kāi)發(fā)環(huán)境,使得開(kāi)發(fā)者可以更加專(zhuān)注于業(yè)務(wù)邏輯的實(shí)現(xiàn)。
提供更高的可定制性:使用 low-code 搭建平臺(tái),用戶(hù)可以根據(jù)自己的需求,快速構(gòu)建自定義的組件和應(yīng)用程序,而無(wú)需編寫(xiě)大量的代碼。用戶(hù)可以選擇在模板中制作自己喜歡的界面和布局,并自定義相關(guān)的數(shù)據(jù)驅(qū)動(dòng)器和互動(dòng)部件。
降低維護(hù)負(fù)擔(dān):使用 low-code 搭建平臺(tái)開(kāi)發(fā)的應(yīng)用程序通常會(huì)降低維護(hù)和更新的負(fù)擔(dān)。平臺(tái)通常支持升級(jí)和維護(hù)的自動(dòng)化機(jī)制,同時(shí)在應(yīng)用程序中,許多功能也由后臺(tái)機(jī)制自動(dòng)化完成,簡(jiǎn)化了開(kāi)發(fā)者的工作。
因?yàn)橛幸欢ǖ木帉?xiě)代碼成本,所以使用用戶(hù)群體就是開(kāi)發(fā),對(duì)于比較偏配置的頁(yè)面,適合用B端搭建平臺(tái)。
四
詳細(xì)設(shè)計(jì)
弄清楚了定位,結(jié)合目前后臺(tái)當(dāng)前業(yè)務(wù)域的業(yè)務(wù)特點(diǎn),主打配置+規(guī)則的搭建平臺(tái)樂(lè)高應(yīng)運(yùn)而生,下面是樂(lè)高平臺(tái)的主要設(shè)計(jì)和結(jié)構(gòu),主要為了解決規(guī)則配置類(lèi)的 CURD 頁(yè)面。
業(yè)務(wù)流程
完整流程
整體架構(gòu)
分層設(shè)計(jì)
整體采用前后端分離的架構(gòu)設(shè)計(jì),分為視圖層、模板層、引擎層。
視圖層?
視圖層具備完善的開(kāi)發(fā)和生產(chǎn)流程:基于國(guó)際JSON Schema標(biāo)準(zhǔn),開(kāi)發(fā)出獨(dú)立的組件 -> 組件經(jīng)過(guò)不同形式的排列組合,形成最終的產(chǎn)品界面。
頁(yè)面抽象定義如下:
視圖層如下圖所示,主要分為三個(gè)部分:
組件池:組件池是頁(yè)面的骨架部分,由內(nèi)置和自定義的各個(gè)組件組裝而成。可以通過(guò)拖動(dòng)組件進(jìn)行排列組合,即時(shí)的在預(yù)覽區(qū)域展示出效果。
畫(huà)布:畫(huà)布占據(jù)了頁(yè)面的中間部分。畫(huà)布由各個(gè)組件拼接而成。可以通過(guò)預(yù)覽能看到完整的頁(yè)面,也可以通過(guò)查看按鈕預(yù)覽生成的JSON Schema腳本。
屬性模塊:每個(gè)組件,都有可配置的屬性,選中組件可以對(duì)其屬性進(jìn)行配置。如,配置按鈕組件的名稱(chēng)、字段名、是否必填等,都取決于組件開(kāi)發(fā)者對(duì)該組件的預(yù)留項(xiàng)。
模板層
統(tǒng)一收斂所有功能入口,對(duì)底層數(shù)據(jù)存儲(chǔ)和接口協(xié)議進(jìn)行升級(jí),提供統(tǒng)一的接口協(xié)議、鑒權(quán)、審批、灰度、回滾等功能。
模板層主要包含三個(gè)部分:
Json Schema管理:提供通用的schema接口協(xié)議,包含schema數(shù)據(jù)管理,各組件數(shù)據(jù)源統(tǒng)一查詢(xún)接口,一鍵還原schema數(shù)據(jù)等功能。
模板數(shù)據(jù)管理:包含模板數(shù)據(jù)落地,模板數(shù)據(jù)校驗(yàn)、解析、搜索,以及模板數(shù)據(jù)與schema腳本的映射關(guān)系。
規(guī)則引擎適配:對(duì)模板數(shù)據(jù)進(jìn)行分組,解析schema腳本和模板數(shù)據(jù)得到規(guī)則因子,根據(jù)配置的規(guī)則 + 因子項(xiàng)組裝規(guī)則表達(dá)式,將實(shí)際業(yè)務(wù)邏輯翻譯成規(guī)則引擎能夠識(shí)別的表達(dá)式。
引擎層
規(guī)則引擎實(shí)現(xiàn)了將業(yè)務(wù)決策從應(yīng)用程序代碼中分離出來(lái),并使用預(yù)定義的語(yǔ)義模塊編寫(xiě)業(yè)務(wù)決策。通過(guò)入?yún)⒑鸵?guī)則表達(dá)式計(jì)算結(jié)果。
規(guī)則引擎主要包含四個(gè)部分:
規(guī)則組:對(duì)同類(lèi)規(guī)則進(jìn)行分組,規(guī)則組內(nèi)的規(guī)則可以互斥,也可以存在優(yōu)先級(jí)。
規(guī)則因子:對(duì)應(yīng)規(guī)則表達(dá)式中的已知條件。
規(guī)則:因子 + 表達(dá)式組成,代表一條判定邏輯。
結(jié)果:規(guī)則引擎輸出的場(chǎng)景處理方案。
規(guī)則引擎執(zhí)行流程:
邏輯編排
以某個(gè)案例作為一個(gè)通用的業(yè)務(wù)場(chǎng)景,看看如何落地到業(yè)務(wù)當(dāng)中,業(yè)務(wù)流程大致如下:
關(guān)鍵用例:
然后 B 端頁(yè)面進(jìn)行邏輯編排,最后通過(guò)規(guī)則引擎計(jì)算出結(jié)果,規(guī)則因子和結(jié)果會(huì)根據(jù)業(yè)務(wù)提前定義好。
C 端進(jìn)行消費(fèi)
存儲(chǔ)設(shè)計(jì)
五
思考
低代碼平臺(tái)一直被業(yè)界調(diào)侃為“行業(yè)毒瘤”,相反,它是一種非常有前途的技術(shù)趨勢(shì)。低代碼搭建平臺(tái)可以幫助企業(yè)降低開(kāi)發(fā)成本、縮短開(kāi)發(fā)周期、增加靈活性,降本增效。
但是,有人認(rèn)為低代碼平臺(tái)有著一些潛在的問(wèn)題,這也是“低代碼平臺(tái)是行業(yè)毒瘤”這一說(shuō)法背后的原因:
可定制性差:低代碼平臺(tái)提供的模塊化組件和界面模板可定制性有限,有可能不能滿(mǎn)足某些用戶(hù)的特殊需求,這使得它在某些場(chǎng)景下的協(xié)作和管理有一定的限制。
依賴(lài)平臺(tái)技術(shù)構(gòu)架:許多低代碼平臺(tái)采用特有的技術(shù)架構(gòu)和編程方式,容易給開(kāi)發(fā)者學(xué)習(xí)和成長(zhǎng)帶來(lái)困難,也會(huì)導(dǎo)致平臺(tái)的依賴(lài)性增加。
風(fēng)險(xiǎn)管理不完善:低代碼平臺(tái)對(duì)于數(shù)據(jù)安全等問(wèn)題的風(fēng)險(xiǎn)管理還存在一些缺陷。在使用低代碼平臺(tái)開(kāi)發(fā)的應(yīng)用程序可能無(wú)法滿(mǎn)足某些重要的數(shù)據(jù)管理要求,例如安全性、隱私保護(hù)等因素。
存在即合理,低代碼平臺(tái)本身并非行業(yè)毒瘤,只是一個(gè)優(yōu)勢(shì)和劣勢(shì)都非常明顯的技術(shù),切不可因噎廢食,一棍子打死所有,但如果沒(méi)有充分考量和處理相關(guān)的問(wèn)題,使用低代碼平臺(tái)開(kāi)發(fā)的應(yīng)用程序可能會(huì)帶來(lái)一些風(fēng)險(xiǎn)和限制。因此,在選擇平臺(tái)時(shí)應(yīng)根據(jù)實(shí)際需求,權(quán)衡各種因素,謹(jǐn)慎抉擇。
低代碼要利用,但是一定要“謹(jǐn)慎”,適合自己業(yè)務(wù)才是最好的。
編輯:黃飛
-
代碼
+關(guān)注
關(guān)注
30文章
4827瀏覽量
69052
原文標(biāo)題:再玩玩B端搭建
文章出處:【微信號(hào):OSC開(kāi)源社區(qū),微信公眾號(hào):OSC開(kāi)源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論