国产偷窥熟女精品视频大全,国产成人精品av,国产亚洲精品久久久久5区,国产精品欧美一区二区三区,,国产成人亚洲精品无码av大片

低代碼平臺(tái)中的“不可能三角”(不可替代代碼)

近年來(lái),“低代碼”這一概念在資本市場(chǎng)上愈發(fā)火熱,各種低代碼平臺(tái)項(xiàng)目也紛紛上馬。

然而,此類(lèi)平臺(tái)的設(shè)計(jì)者與維護(hù)者們,或早或晚,終將會(huì)面對(duì)“低代碼”與生俱來(lái)的一組底層矛盾,而是否能合理地處理這組矛盾,最終決定了此平臺(tái)的發(fā)展前景。

背景

我們團(tuán)隊(duì)正在維護(hù)一套基于DSL(領(lǐng)域特定語(yǔ)言)的表單管理平臺(tái)。該平臺(tái)由客戶(hù)方團(tuán)隊(duì)自建,其中包含了前端UI、數(shù)據(jù)管理、表單規(guī)則管理等模塊。設(shè)計(jì)目標(biāo)是:讓業(yè)務(wù)人員以書(shū)寫(xiě)DSL的方式定義表單模板,此后可以直接基于模板生成UI并管理表單數(shù)據(jù),從而達(dá)到低代碼甚至零代碼創(chuàng)建表單的效果。該平臺(tái)自建立以來(lái),已經(jīng)支持了數(shù)百個(gè)大型表單的成功上線(xiàn),支持了公司業(yè)務(wù)的快速成長(zhǎng)。然而隨著業(yè)務(wù)的持續(xù)發(fā)展,該平臺(tái)的疲態(tài)也日益凸顯:

  • 難以支持復(fù)雜的表單需求(可用的表單組件、數(shù)據(jù)結(jié)構(gòu)、DSL語(yǔ)法不足,且新增成本過(guò)高)
  • 平臺(tái)代碼極度難以維護(hù)
  • 大型表單的性能表現(xiàn)糟糕

不可能三角

以上案例,生動(dòng)展現(xiàn)了一款低代碼平臺(tái)的典型生命周期:

低代碼平臺(tái)中的“不可能三角”(不可替代代碼)

  • 前期:平臺(tái)能力弱,但業(yè)務(wù)也簡(jiǎn)單。平臺(tái)開(kāi)始起步。
  • 中期:平臺(tái)能力趨于成熟,業(yè)務(wù)逐漸變得復(fù)雜但仍在平臺(tái)能力范圍之內(nèi)。平臺(tái)支撐著業(yè)務(wù)快速發(fā)展。
  • 后期:平臺(tái)觸達(dá)能力上限,部分業(yè)務(wù)需求開(kāi)始超出平臺(tái)能力。

而此類(lèi)平臺(tái)之所以會(huì)有如此表現(xiàn),根本癥結(jié)在于其發(fā)展受到了“低代碼”天然自帶的一組矛盾的掣肘,該矛盾可以用不可能三角的形式加以描述:

低代碼平臺(tái)中的“不可能三角”(不可替代代碼)

如圖,該三角的三個(gè)頂點(diǎn)分別代表了低代碼平臺(tái)的三個(gè)核心設(shè)計(jì)目標(biāo):

  • Easy to Use – 易于使用
  • Powerful – (功能)強(qiáng)大
  • Low Complexity – 低(系統(tǒng))復(fù)雜度

而這三個(gè)目標(biāo)形成了如此一個(gè)三角形的結(jié)構(gòu),意味著在同一低代碼平臺(tái)上,他們永遠(yuǎn)不可能同時(shí)被滿(mǎn)足

若一平臺(tái)在易于使用的同時(shí)功能強(qiáng)大,則必然擁有較高的系統(tǒng)復(fù)雜度。

其中,系統(tǒng)復(fù)雜度與維護(hù)成本成正比,與系統(tǒng)性能成反比。也即,較高的系統(tǒng)復(fù)雜度最終會(huì)導(dǎo)致平臺(tái)擁有較高的維護(hù)成本以及較低的系統(tǒng)性能。

例子:人工智能編程。用戶(hù)只需使用自然語(yǔ)言描述需求(易于使用),系統(tǒng)就能生成代碼(功能強(qiáng)大),但該技術(shù)至今仍未完全成熟(高系統(tǒng)復(fù)雜度)。

若一平臺(tái)易于使用的同時(shí)保持低系統(tǒng)復(fù)雜度,則必然功能受限

例子:Scratch少兒編程。使用圖形化界面編程(易于使用),指令只需經(jīng)過(guò)簡(jiǎn)單翻譯即可執(zhí)行(低系統(tǒng)復(fù)雜度),但功能只能滿(mǎn)足教學(xué)目的(功能受限)。

若一平臺(tái)功能強(qiáng)大的同時(shí)保持低系統(tǒng)復(fù)雜度,則必然擁有較高的使用成本

例子:通用編程語(yǔ)言圖靈完備理論上可以實(shí)現(xiàn)任何功能(功能強(qiáng)大),編譯或解釋為機(jī)器指令執(zhí)行(低系統(tǒng)復(fù)雜度),但存在較高的專(zhuān)業(yè)門(mén)檻(高使用成本)。

出路

正所謂,

軟件工程就是trade-off的藝術(shù)

對(duì)于低代碼平臺(tái)上述的三個(gè)目標(biāo)來(lái)說(shuō),“我全都要”的結(jié)果只能是“全都得不到”,最終勢(shì)必會(huì)陷入到按下葫蘆浮起瓢的窘境當(dāng)中。所以,對(duì)于任何一款低代碼平臺(tái)的設(shè)計(jì)者來(lái)說(shuō),做出合理的trade-off都將是所有工作中的重中之重。

那么如何trade-off來(lái)破解“不可能三角”呢?需要基于以下2個(gè)事實(shí):

事實(shí)1:易用性與性能/可維護(hù)性不可放棄

通常,一款低代碼產(chǎn)品的宣傳會(huì)向我們?cè)S諾至少以下兩個(gè)承諾:

  1. 低代碼平臺(tái)一定會(huì)比傳統(tǒng)開(kāi)發(fā)方式更方便/更快速/更易上手
  2. 低代碼平臺(tái)的最終產(chǎn)物一定是可運(yùn)行的商業(yè)應(yīng)用

對(duì)應(yīng)到我們的三個(gè)核心設(shè)計(jì)目標(biāo)上去,很容易看出:

  • 第1條直接要求低代碼平臺(tái)必須是易于使用的,尤其是相對(duì)于傳統(tǒng)方式要有顯著優(yōu)勢(shì),這是此類(lèi)平臺(tái)的核心競(jìng)爭(zhēng)力。否則面對(duì)同樣需求,客戶(hù)為何不選擇更成熟可靠的傳統(tǒng)方案,而要使用低代碼平臺(tái)呢?
  • 第2條則要求低代碼平臺(tái)以及其產(chǎn)物必須是生產(chǎn)可用的。這要求平臺(tái)的產(chǎn)物要具有可接受的性能可維護(hù)性,從而要求平臺(tái)的復(fù)雜度不宜過(guò)高。而低性能或不可維護(hù)的產(chǎn)品則是斷然無(wú)法應(yīng)用在生產(chǎn)中的。

與之相對(duì)的,雖然低代碼平臺(tái)也會(huì)將“功能強(qiáng)大”作為其一大賣(mài)點(diǎn),但又往往會(huì)特意強(qiáng)調(diào)其功能具有特定的應(yīng)用范圍。常見(jiàn)的有針對(duì)企業(yè)工作流、報(bào)表、ERP等場(chǎng)景設(shè)計(jì)的低代碼平臺(tái)。

綜上,三個(gè)設(shè)計(jì)目標(biāo)可以被簡(jiǎn)短的總結(jié)為:

  • 易于使用是,是平臺(tái)的意義所在。
  • 低復(fù)雜度是,是平臺(tái)在生產(chǎn)中可用的基石。
  • 功能強(qiáng)大是,是平臺(tái)價(jià)值的組成部分。

事實(shí)2:?jiǎn)我环桨钢炼嘀荒軡M(mǎn)足80%場(chǎng)景

我們可以將一款低代碼平臺(tái)所面向的問(wèn)題域,劃分為封閉問(wèn)題域開(kāi)放問(wèn)題域兩類(lèi),它們之間的區(qū)別在于問(wèn)題空間是否存在確定的邊界。

  • 對(duì)于那些專(zhuān)注于解決封閉問(wèn)題域問(wèn)題的低代碼方案,經(jīng)過(guò)精心設(shè)計(jì),是有機(jī)會(huì)做到使用一個(gè)通用方案覆蓋100%域內(nèi)場(chǎng)景的。此類(lèi)方案中的佼佼者有SQL之于數(shù)據(jù)查詢(xún)領(lǐng)域,可以實(shí)現(xiàn)幾乎所有查詢(xún)需求。
  • 然而對(duì)于一個(gè)開(kāi)放問(wèn)題域來(lái)說(shuō),由于不可能窮盡域內(nèi)所有可能的問(wèn)題場(chǎng)景,則可以說(shuō)完全不可能存在有某個(gè)單一的“終極方案”,能夠憑一己之力解決域內(nèi)所有問(wèn)題。

例如說(shuō)對(duì)于一個(gè)To C的低代碼開(kāi)發(fā)平臺(tái),在UI交互方面,它的問(wèn)題域就是開(kāi)放的。

因?yàn)榻K端用戶(hù)的交互需求無(wú)法窮盡:同樣是展示數(shù)據(jù),既可以用文本、表格,亦可以用圖表、3D模型,甚至可以用AR、VR……

也因此,平臺(tái)不可能提供一個(gè)滿(mǎn)足100%應(yīng)用場(chǎng)景的UI構(gòu)建方案。

所以,我們可以化用“二八定律”對(duì)這個(gè)問(wèn)題做個(gè)略微粗暴的總結(jié)(當(dāng)然這里的2與8都是虛數(shù)):

對(duì)于一開(kāi)放問(wèn)題域,任何單一方案至多只能滿(mǎn)足其80%場(chǎng)景。

逃生艙

注:筆者非常喜歡React新版文檔中所使用的“逃生艙”(Escape Hatches)這一比喻,因此在此處也借鑒一番。但需要注意的是,這篇文章中的逃生艙與React中的概念并不完全相同,還需讀者自行鑒別。

聊到這里,其實(shí)我們的最佳策略已經(jīng)不言而喻了。如上所述,已知:

  • 事實(shí)1:易用性與性能/可維護(hù)性不可放棄
  • 事實(shí)2:?jiǎn)我环桨钢炼嘀荒軡M(mǎn)足80%場(chǎng)景

顯而易見(jiàn),對(duì)于平臺(tái)設(shè)計(jì)者來(lái)說(shuō),他們應(yīng)該將絕大部分精力投入到服務(wù)好平臺(tái)最擅長(zhǎng)的那80%業(yè)務(wù)場(chǎng)景當(dāng)中去,竭盡全力在優(yōu)勢(shì)領(lǐng)域中做到盡善盡美。

至于剩余的20%邊緣場(chǎng)景,在某些時(shí)候,直接放棄或許也是一種可以接受的選項(xiàng)。

當(dāng)然,對(duì)于那些富有野心的平臺(tái)來(lái)說(shuō),這恐怕難以接受。那么此時(shí)的最佳策略便是本節(jié)的標(biāo)題所指:在平臺(tái)設(shè)計(jì)之初,設(shè)計(jì)者就應(yīng)該考慮到為將來(lái)某些高級(jí)使用者提供一個(gè)完善的“逃生艙”機(jī)制。

這里的“逃生艙”指的是一種向平臺(tái)使用者暴露底層能力的機(jī)制。它可以是一組低級(jí)API,也可以是一批可供二開(kāi)擴(kuò)展的集成點(diǎn),甚至也可以是一套進(jìn)行定制開(kāi)發(fā)的解決方案??傊?,為了滿(mǎn)足從過(guò)去至將來(lái)100%的業(yè)務(wù)需求,平臺(tái)必須允許用戶(hù)在有必要的時(shí)候進(jìn)行“抽象降級(jí)”,有機(jī)會(huì)乘坐逃生艙從平臺(tái)規(guī)定的條條框框之中逃離。

這樣的設(shè)計(jì)思想其實(shí)在軟件工程領(lǐng)域相當(dāng)常見(jiàn),譬如plugin API之于webpack、unsafe之于rust、指針之于C#等等……只不過(guò)由于低代碼平臺(tái)本身業(yè)務(wù)的復(fù)雜性,設(shè)計(jì)出一套優(yōu)雅的“逃生艙”機(jī)制并不容易,因此設(shè)計(jì)者在平臺(tái)設(shè)計(jì)的早期就必須考慮這個(gè)問(wèn)題。

當(dāng)前我們團(tuán)隊(duì)遇到的問(wèn)題,就是由于平臺(tái)早期缺乏良好的“逃生艙”設(shè)計(jì),導(dǎo)致了面對(duì)超出平臺(tái)能力的新需求時(shí)無(wú)從下手:

  • 若在原有架構(gòu)上修修補(bǔ)補(bǔ)——復(fù)雜度爆炸
  • 若把架構(gòu)推倒重來(lái)——工期爆炸
  • 若拒絕支持新需求——PM爆炸

可以用一個(gè)詞來(lái)形容——積重難返。

小結(jié)

如上,筆者將本人在低代碼平臺(tái)上遇到的困難與思考進(jìn)行了些淺顯總結(jié),斗膽試圖借此來(lái)發(fā)現(xiàn)一點(diǎn)架構(gòu)設(shè)計(jì)的普遍規(guī)律,慚愧慚愧……

文章最后,再試著簡(jiǎn)單總結(jié)一些由本文觀(guān)點(diǎn)得出的建議。

對(duì)于平臺(tái)使用者

對(duì)于使用者來(lái)說(shuō),最大的啟示是在技術(shù)選型的階段最好留個(gè)心眼,切勿輕信了平臺(tái)銷(xiāo)售對(duì)其產(chǎn)品功能的吹噓。尤其是如果有人膽敢宣揚(yáng)他的平臺(tái)無(wú)所不能,今天開(kāi)發(fā)明天上線(xiàn)后天解雇程序員云云,那你可得小心了。

正如前文所言,任何低代碼產(chǎn)品的出發(fā)點(diǎn)都是為了降低用戶(hù)的使用成本,所以如果一個(gè)平臺(tái)即承諾了易用性,又承諾了功能性,那么代價(jià)是什么?

經(jīng)驗(yàn)來(lái)說(shuō),反倒是專(zhuān)注于一個(gè)特定領(lǐng)域的平臺(tái)供應(yīng)商往往更加務(wù)實(shí),也有更大概率做出更成熟的產(chǎn)品。

對(duì)于平臺(tái)設(shè)計(jì)者

對(duì)于設(shè)計(jì)者來(lái)說(shuō),最大的挑戰(zhàn)是在如上不可能三角中取得平衡。對(duì)于不同類(lèi)型的系統(tǒng)設(shè)計(jì)取向自然也不同,但對(duì)于低代碼平臺(tái)這一品類(lèi)來(lái)說(shuō),大部分情況下,易用性和系統(tǒng)復(fù)雜度還是比功能性重要的多。

因此如果你的產(chǎn)品也具有類(lèi)似的價(jià)值取向的話(huà),那么作為架構(gòu)設(shè)計(jì)者,盡早地規(guī)劃“逃生艙”的設(shè)計(jì)和落實(shí)才是負(fù)責(zé)任的做法。

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶(hù)自發(fā)貢獻(xiàn),該文觀(guān)點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。

(0)
上一篇 2024年5月16日 上午11:44
下一篇 2024年5月16日 上午11:56

相關(guān)推薦

  • 科研項(xiàng)目特別資助

    科研項(xiàng)目特別資助 隨著科技的不斷發(fā)展,科研項(xiàng)目的重要性越來(lái)越受到人們的關(guān)注。為了支持優(yōu)秀的科研項(xiàng)目,政府和社會(huì)推出了許多特別的資助項(xiàng)目。這些項(xiàng)目旨在為優(yōu)秀的科學(xué)家和研究人員提供資金…

  • 科研項(xiàng)目經(jīng)費(fèi)分配表格

    科研項(xiàng)目經(jīng)費(fèi)分配表格 隨著科技的不斷發(fā)展,科研項(xiàng)目已經(jīng)成為推動(dòng)社會(huì)進(jìn)步的重要力量。然而,科研項(xiàng)目的經(jīng)費(fèi)分配往往是一個(gè)棘手的問(wèn)題。一份合理的科研項(xiàng)目經(jīng)費(fèi)分配表格可以幫助研究人員更好地…

    科研百科 2025年3月16日
    5
  • uniapp低代碼開(kāi)發(fā)3079933075

    Uniapp低代碼開(kāi)發(fā):輕松搭建企業(yè)級(jí)應(yīng)用 隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展,企業(yè)級(jí)應(yīng)用的需求也越來(lái)越強(qiáng)烈。然而,傳統(tǒng)的開(kāi)發(fā)方式不僅效率低下,而且需要大量的技術(shù)支持和專(zhuān)業(yè)知識(shí)?,F(xiàn)在, Unia…

    科研百科 2024年11月6日
    4
  • 科研項(xiàng)目鑒定要求

    科研項(xiàng)目鑒定要求 科研項(xiàng)目的鑒定是項(xiàng)目完成后的重要一步,它可以幫助評(píng)估項(xiàng)目的質(zhì)量和成果,并為后續(xù)工作提供依據(jù)。在鑒定過(guò)程中,需要根據(jù)項(xiàng)目的目標(biāo)和任務(wù),對(duì)項(xiàng)目的內(nèi)容、方法、結(jié)果和意義…

    科研百科 2025年3月28日
    8
  • 進(jìn)一步實(shí)現(xiàn)無(wú)紙化辦公,華為MatePad Pro手寫(xiě)筆體驗(yàn)(華為 matepad pro 手寫(xiě)筆)

    步入信息時(shí)代以來(lái),紙和筆這兩個(gè)最基礎(chǔ)的生產(chǎn)力工具正在被鼠標(biāo)和鍵盤(pán)所替代,筆記本電腦越做越薄,甚至在產(chǎn)品形態(tài)上已經(jīng)與平板電腦交叉趨同,倘若你的工作對(duì)性能不敏感,那么平板電腦與鍵盤(pán)保護(hù)…

    科研百科 2024年6月14日
    102
  • 科研項(xiàng)目合作任務(wù)分工

    科研項(xiàng)目合作任務(wù)分工 在科研項(xiàng)目中,合作任務(wù)分工是非常重要的一項(xiàng)工作。它關(guān)系到項(xiàng)目的進(jìn)展和成果,也關(guān)系到團(tuán)隊(duì)成員的工作效率和質(zhì)量。合理的合作任務(wù)分工可以使項(xiàng)目團(tuán)隊(duì)更加高效地完成任務(wù)…

    科研百科 2025年3月13日
    4
  • 陽(yáng)山縣楊梅鎮(zhèn):黨建引領(lǐng)促振興,高質(zhì)量發(fā)展成效初顯(黨建引領(lǐng)鄉(xiāng)村振興示范鎮(zhèn))

    自開(kāi)展駐鎮(zhèn)幫鎮(zhèn)扶村工作以來(lái),陽(yáng)山縣楊梅鎮(zhèn)駐鎮(zhèn)幫扶工作隊(duì)與鎮(zhèn)黨委、政府同向發(fā)力,堅(jiān)持黨建引領(lǐng),積極構(gòu)建縱向到底、橫向到邊的黨建共建工作體系,創(chuàng)新工作舉措推動(dòng)鄉(xiāng)村全面振興,全力推動(dòng)經(jīng)濟(jì)…

    科研百科 2024年6月24日
    29
  • 設(shè)計(jì)院電子簽名的管理

    電子簽名是一種數(shù)字化的簽字方式,可以幫助用戶(hù)實(shí)現(xiàn)高效、安全、可靠的簽署和驗(yàn)證文件。在建筑設(shè)計(jì)行業(yè)中,電子簽名的應(yīng)用也越來(lái)越廣泛。 對(duì)于設(shè)計(jì)院來(lái)說(shuō),電子簽名的管理非常重要。它可以幫助…

    科研百科 2024年10月26日
    10
  • 做的項(xiàng)目管理系統(tǒng)

    做項(xiàng)目管理系統(tǒng) 項(xiàng)目管理系統(tǒng)是一種用于管理項(xiàng)目的工具,能夠幫助團(tuán)隊(duì)更好地規(guī)劃和執(zhí)行項(xiàng)目任務(wù)。一個(gè)好的項(xiàng)目管理系統(tǒng)可以提高團(tuán)隊(duì)的效率和協(xié)作能力,降低項(xiàng)目風(fēng)險(xiǎn),提高項(xiàng)目質(zhì)量。 我們公司…

    科研百科 2024年5月23日
    37
  • 房地產(chǎn)項(xiàng)目的管理(房地產(chǎn)項(xiàng)目的管理費(fèi)用)

    從策劃到竣工的全方位指南 一、引言 房地產(chǎn)項(xiàng)目的管理是一個(gè)復(fù)雜而富有挑戰(zhàn)性的過(guò)程,涉及眾多階段和無(wú)數(shù)細(xì)節(jié)。項(xiàng)目周期通常從土地獲取、項(xiàng)目策劃,歷經(jīng)設(shè)計(jì)、融資、建設(shè),到最終的銷(xiāo)售及物業(yè)…

    科研百科 2024年2月18日
    108