低代碼是開發(fā)的未來嗎绣夺?淺談低代碼平臺

低代碼的熱潮在幾年前就火過吏奸,從阿里釘釘跨平臺協(xié)作方式,再到飛書上的審批流程陶耍,以及目前我們接觸到的表單審批奋蔚、投票的模板,這些都是關(guān)于低代碼的實現(xiàn)方式烈钞。隨著企業(yè)數(shù)字化轉(zhuǎn)型和云計算的不斷發(fā)展泊碑,低代碼平臺又一次成為熱門話題被越來越多的人討論。

今天分享的主題為淺談低代碼平臺棵磷,主要從以下 4 個方面進行介紹:

  • 低代碼平臺概述

  • 低代碼蛾狗、無代碼

  • 低代碼平臺的技術(shù)路線

  • 可視化拖拽平臺的應用

低代碼平臺概述

低代碼開發(fā)平臺,英文全稱“Low-Code Development Platform”仪媒,簡稱 LCDP,是通過少量代碼或零代碼就可以快速生成新應用谢鹊,實現(xiàn)業(yè)務應用的快速交付的應用平臺算吩。廣義上的低代碼平臺包括低代碼和零代碼,它們都屬于 APaaS(應用平臺即服務)佃扼。

低代碼這一概念首次出現(xiàn)于 20 世紀 80 年代偎巢,在近 40 年的歷程中,整個發(fā)展經(jīng)歷如下圖所示:

1.png

△(圖片來源于網(wǎng)絡)

第一階段是探索期兼耀,主要是基于 20 世紀 80 年代就有美國公司和實驗室開始研究程序可視化編程這個領(lǐng)域压昼,做出了4GL “第四代編程語言”求冷,后來衍生成 VPL(Visual Programming Language可視化編程語言)。

第二階段是發(fā)展期窍霞,2014年匠题,由研究機構(gòu) Forrester Research 正式提出了“低代碼/無代碼”的概念。

第三階段是爆發(fā)期但金,2018年韭山,荷蘭公司Mendix以7億美元被西門子收購、美國低代碼獨角獸企業(yè) Outsystem 獲得1.5億美元的融資冷溃。此次收購事件以及融資事件的發(fā)生將低代碼市場帶入資本方的視野钱磅,低代碼市場開始進入爆發(fā)期。

低代碼平臺代替了程序員開發(fā)數(shù)千行具有復雜代碼和語法的行似枕。它的作用是讓開發(fā)人員以及業(yè)務人員盖淡,通過“拖拉拽”的方式使用平臺,來創(chuàng)建完整的應用程序凿歼。同時突破了傳統(tǒng)業(yè)務之間溝通的復雜度和交付時間周期長的特點禁舷,能夠持續(xù)進行開發(fā)。

低代碼毅往、無代碼

低代碼平臺包括低代碼和無代碼牵咙,二者區(qū)別如下:

2.png

△(圖片來源于網(wǎng)絡)

  • 無代碼:主要面向業(yè)務人員,零開發(fā)經(jīng)驗的業(yè)務人員通過拖拽等方式攀唯,無需編寫代碼洁桌,即可快速搭建各種應用。無代碼更適合單點場景的應用侯嘀,平臺應用性高于低代碼另凌。

  • 低代碼:主要面向開發(fā)人員,通過自動代碼生成和可視化編程戒幔,只需要少量代碼吠谢,即可快速搭建各種應用。低代碼的市場占有率高诗茎,適合復雜場景交互應用的搭建工坊。平臺靈活性高于無代碼。

但本質(zhì)上低代碼與無代碼都能夠降低開發(fā)門檻敢订、快速響應業(yè)務需求王污、提升開發(fā)效率。

接下來我們來看看具體的低代碼平臺技術(shù)路線楚午。

低代碼平臺的技術(shù)路線

因低代碼平臺源自于集成開發(fā)環(huán)境(Integrated Development Environment昭齐,IDE)的可視化、模塊化與集成化特點矾柜,同時根據(jù)目標人群對象的使用阱驾,大體分為兩條線路:第一條為業(yè)務復用型就谜,主要包含應用開發(fā)平臺、智能表格里覆、SAAS 聚合丧荐,特點是數(shù)據(jù)與邏輯完全分離、各自獨立的模型驅(qū)動租谈,適合開發(fā)人員篮奄。第二條為開發(fā)工具型,主要包含在線 IDE割去、DSL 開發(fā)框架窟却、組件代碼庫,特點是數(shù)據(jù)與儲存結(jié)構(gòu)合一的表單驅(qū)動呻逆,適合業(yè)務人員使用夸赫。

3.png

△(圖片來源于網(wǎng)絡)

適合開發(fā)人員的技術(shù)路線

我們首先來看下適用于開發(fā)人員的技術(shù)路線模型驅(qū)動。由模型驅(qū)動對軟件所涉及到的功能進行建模咖城,然后以應用開發(fā)平臺為核心茬腿,承載各種開發(fā)工具和復雜邏輯,并將其可視化宜雀。然后輔以少量代碼切平,就能夠作為技術(shù)中臺核心幫助開發(fā)者快速產(chǎn)出一整套系符合企業(yè)需求的系統(tǒng)。具體處理場景示例如下:

4.png

開發(fā)人員通過圖中左右兩邊進行操作辐董,左邊是一些特定組件悴品,拖到中間的畫布里面。圖中的板塊都是相互獨立的简烘,需要通過右邊的語法把它們進行關(guān)聯(lián)苔严,再生成所需要的場景化應用,這是模型驅(qū)動的一種方式孤澎。

適合業(yè)務人員的技術(shù)路線

該路線是非IT模式届氢,以表單驅(qū)動數(shù)據(jù)為核心,通過拖拽構(gòu)建數(shù)據(jù)表方式展開業(yè)務分析設計覆旭。以做到完全去IDE化退子,像搭積木一樣按流程構(gòu)建程序邏輯。適合完全零基礎(chǔ)人員姐扮,比如人事行政進行資料歸檔絮供、OA審批,銷售人員客戶管理等茶敏。

處理場景示例如下:

5.png

左邊是拖拽組件,中間是畫布缚俏,右邊是編輯屬性惊搏。我們通過左邊拖拽表單將事件排列在上面贮乳,進行簡單的數(shù)據(jù)收集。右邊是對表單進行數(shù)據(jù)處理恬惯,比如標題向拆、寬度、必填線等設置酪耳。適合業(yè)務人員去操作填寫數(shù)據(jù)表格浓恳,快速生成自己想要的數(shù)據(jù)收集,這是表單驅(qū)動的一種方式碗暗。

對于這類技術(shù)路線的產(chǎn)品颈将,又拍云在2020年曾經(jīng)開發(fā)過一套,我們接下來通過又拍云低代碼產(chǎn)品來看一下表單驅(qū)動的具體應用場景言疗。

低代碼可視化拖拽平臺的應用

該產(chǎn)品使用拖拉拽的方式晴圾,生成所需要的表單。生成表單后噪奄,顯示面板會把表單數(shù)組包括的 json 數(shù)據(jù)拿出死姚,再通過它識別組件的順序進行編譯后展示。產(chǎn)品頁面結(jié)構(gòu)如下:

6.png

△ 產(chǎn)品頁面結(jié)構(gòu)

編輯器實現(xiàn)思路

該產(chǎn)品的編輯器實現(xiàn)思路如下:

首先勤篮,使用數(shù)組 componentData 維護編輯器中的數(shù)據(jù)都毒。

其次,將組件通過拖拽事件碰缔,拖拽到畫布上進行移動布局账劲。當然一個組件要設為可拖拽,那就需要為它添加 draggable 屬性手负,而且在將組件列表中的組件拖拽到畫布中時還會經(jīng)歷兩個關(guān)鍵事件:

  • dragstart 事件

  • drop 事件

dragstart 事件涤垫,它在拖拽剛開始時觸發(fā),主要用于將拖拽的組件信息傳遞給布竟终,下圖是示例代碼:

7.png

drop 事件蝠猬,在拖拽結(jié)束時觸發(fā),主要作用是用于接收拖拽的組件信息统捶,示例代碼如下圖:

8.png

之后使用 push() 方法將新的組件數(shù)據(jù)添加到 componentData榆芦。比如又拍云使用的 VLE 框架就是通過屬性來識別我們想要的組件。具體為組件 V-item 是文本數(shù)據(jù)寬喘鸟,可以通過其對應的屬性值進行上下數(shù)據(jù)綁定匆绣,把數(shù)據(jù)填到結(jié)成數(shù)組里面。

組件數(shù)據(jù)如下:

9.png

最后什黑,我們使用 v-for 指令遍歷 componentData崎淳,主要通過 is 屬性來識別出真正要渲染的是哪個組件,將每個組件逐個渲染到畫布愕把。例如要渲染的組件數(shù)據(jù)是 { component: 'v-text' }拣凹,則 <component :is="item.component" /> 會被轉(zhuǎn)換為 <v-text />森爽。

編輯器渲染的核心代碼如下所示:

10.png

全部完成后我們來看一下整體,如果將畫布設為相對定位 position: relative嚣镜,然后將每個組件設為絕對定位 position: absolute爬迟,只要通過監(jiān)聽三個事件就可以進行移動,這三個事件分別為:

  • Mousedown 事件菊匿,在組件上按下鼠標時付呕,記錄組件當前的位置,即 css 中的 left 和 top跌捆。

  • Mousemove 事件徽职,每次鼠標移動時,都用當前最新的 left 和 top 減去最開始的 left 和 top疹蛉,從而計算出移動距離活箕,再改變組件位置。

  • Mouseup 事件可款,鼠標抬起時結(jié)束移動育韩。

以上就是編譯器的整體實現(xiàn)思路。

淺談低代碼平臺的未來

根據(jù)咨詢機構(gòu) Gartner 的市場分析來看闺鲸,2023 年全球超過 50% 的大中型企業(yè)將把低代碼應用平臺作為主要的占領(lǐng)應用平臺之一筋讨。預計到2024年,低代碼應用程序開發(fā)將占總應用開發(fā)的65%以上摸恍。這就引出了兩個問題:傳統(tǒng)的軟件開發(fā)會被取代嗎悉罕?低代碼是未來的趨勢嗎?

實際上立镶,低代碼開發(fā)并不會取代傳統(tǒng)的軟件開發(fā)壁袄,但它將改變在某些領(lǐng)域中的軟件開發(fā),改變那些重復低效的業(yè)務媚媒,這意味著公司不需要為這種業(yè)務招聘大量的開發(fā)人員嗜逻,而是安排更多的專業(yè)軟件開發(fā)人員面向客戶的需求以及復雜和獨特的軟件開發(fā)問題。

盡管相較于原生的開發(fā)模式缭召,低代碼開發(fā)平臺能夠顯著提升開發(fā)效率栈顷,尤其適合業(yè)務變化快、預算有限嵌巷、開發(fā)時間緊迫的企業(yè)應用場景萄凤;但是低代碼平臺也有明顯的局限性,至少就目前來說搪哪,它主要用于搭建企業(yè)軟件靡努。因為此類軟件架構(gòu)是有一定規(guī)律的,但娛樂、社交等軟件開發(fā)比較深層交互的東西低代碼還是無法實現(xiàn)的颤难。

所以我認為低代碼并不是未來神年,它只是未來的一部分已维。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末行嗤,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子垛耳,更是在濱河造成了極大的恐慌栅屏,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件堂鲜,死亡現(xiàn)場離奇詭異栈雳,居然都是意外死亡,警方通過查閱死者的電腦和手機缔莲,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門哥纫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人痴奏,你說我怎么就攤上這事蛀骇。” “怎么了读拆?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵擅憔,是天一觀的道長。 經(jīng)常有香客問我檐晕,道長暑诸,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任辟灰,我火速辦了婚禮个榕,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘芥喇。我一直安慰自己西采,他們只是感情好,可當我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布乃坤。 她就那樣靜靜地躺著苛让,像睡著了一般。 火紅的嫁衣襯著肌膚如雪湿诊。 梳的紋絲不亂的頭發(fā)上狱杰,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天,我揣著相機與錄音厅须,去河邊找鬼仿畸。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的错沽。 我是一名探鬼主播簿晓,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼千埃!你這毒婦竟也來了憔儿?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤放可,失蹤者是張志新(化名)和其女友劉穎谒臼,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體耀里,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡蜈缤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了冯挎。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片底哥。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖房官,靈堂內(nèi)的尸體忽然破棺而出趾徽,到底是詐尸還是另有隱情,我是刑警寧澤易阳,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布附较,位于F島的核電站,受9級特大地震影響潦俺,放射性物質(zhì)發(fā)生泄漏拒课。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一事示、第九天 我趴在偏房一處隱蔽的房頂上張望早像。 院中可真熱鬧,春花似錦肖爵、人聲如沸卢鹦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽冀自。三九已至,卻和暖如春秒啦,著一層夾襖步出監(jiān)牢的瞬間熬粗,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工余境, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留驻呐,地道東北人灌诅。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像含末,于是被迫代替她去往敵國和親猜拾。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容