騰訊低代碼平臺正式開源!可拖拽、生成手機項目、PC 項目!接私活福利啊!

來源:騰訊開源

項目簡介

騰訊tmagic-editor是一個所見即所得的頁面可視化編輯器,基於tmagic-editor可以快速搭建可視化頁面生產平臺,讓非技術人員可以通過拖拽和配置,自助生成H5頁面、PC頁面、TV頁面,大大降低頁面生產成本,實現零代碼/低代碼生成頁面。

以下是騰訊視頻會員業務基於tmagic-editor搭建的可視化頁面搭建平臺示意圖。tmagic-editor已經用於騰訊視頻會員、愛玩遊戲、雲視聽極光、騰訊會議等十幾個騰訊業務,每月生產和發佈數百個頁面。

基於可視化編輯器的頁面生產流程

一、物料開發,主要是指業務組件,比如圖片組件、抽獎組件、登錄插件等。tmagic-editor本身並不提供業務組件,業務組件由使用tmagic-editor的業務,根據自己的業務需求去自行開發。業務組件一次開發,在多個頁面反覆使用,業務組件應該提供一些配置選項,保證靈活性,滿足不同頁面使用該組件時的定製需求。業務組件可以用不同的前端框架實現,如vue2、vue3、react。

二、編排,這裏指通過對組件的拖拽和配置,完成頁面編輯,主要由非技術人員完成。

三、保存與發佈,這個環節在技術實現上,分爲生成DSL、構建、部署。生成DSL:編輯器和生成的頁面之間,通過DSL解耦。編輯器上配置頁面,得到的產物是一個序列化js對象的頁面描述文件,這個對象採用js schema描述,描述頁面的基本信息、包含的組件信息、以及組件間邏輯。構建:構建模塊基於runtime代碼,對組件進行打包構建,生成html、js、css文件。構建環節使用的runtime可以根據業務的需要,選擇不同的前端框架實現,tmagic-editor默認提供了vue2、vue3、react三種runtime。部署:將前面環節生成的html、js、css、js schema描述文件,部署到業務自己的服務器上。

tmagic-editor提供了什麼

可視化編輯器

如上圖所示,就是tmagic-editor可視化編輯器,tmagic-editor基於vue3實現。包括左側側邊欄、組件列表展示、已選組件的組件樹、中間的頁面拖拽的畫布區域(也叫模擬器)、右側表單配置區域、正中間上方的畫布控制區域(放大縮小、網格線顯隱)、預覽、保存、查看源碼(js schema描述的js對象)、底部區域的頁面添加與刪除。編輯器具有擴展功能,業務可以根據需要在側邊欄和頂部欄增加版本管理、發佈等功能。

runtime

runtime 的概念,是理解tmagic-editor頁面運行的重要概念,runtime 是承載tmagic-editor頁面的運行環境。可視化頁面需要在tmagic-editor編輯器中搭建、渲染,通過模擬器所見即所得。搭建完成後,保存配置併發布,然後渲染成用戶訪問的真實頁面。其中涉及到兩個不同的 runtime:編輯器中的模擬器,終端打開真實頁面。

由於tmagic-editor在編輯器中的模擬器是通過 iframe 渲染的,和tmagic-editor平臺本身可以做到框架解耦,所以 runtime 也可以用不同框架開發。目前tmagic-editor提供了 vue2/vue3 和 react 的 runtime 。

各個 runtime 的作用除了作爲不同場景下的渲染環境,同時也是不同環境的打包構建載體。tmagic-editor示例代碼中的打包就是基於 runtime 進行的。

管理端demo

編輯器可以對一個頁面進行編輯、配置、發佈,我們還需要一個管理端來對頁面列表進行管理。我們提供了一個管理端demo,方便業務快速搭建起一個完整的可視化搭建平臺。管理端提供瞭如下能力:

  • 頁面列表展示,查詢
  • 頁面創建,複製
  • 頁面編輯以及 AB TEST 配置能力
  • 頁面發佈以及發佈狀態查看和管理

使用tmagic-editor的業務需要做什麼

開發業務組件

tmagic-editor並不提供業務組件,業務需要根據自己的業務場景,開發相應的業務組件。比如抽獎組件、視頻播放組件等。tmagic-editor的通用性設計,使得業務方可以使用不同的前端框架去開發組件。tmagic-editor官方已經提供了vue2/vue3、react的runtime,意味着業務可以直接使用這些框架開發組件,如果業務想用其它框架開發組件,則需要開發相應的runtime。

開發業務插件(可選)

插件的功能是作爲頁面邏輯行爲的一種補充方式。一般不顯式的在模擬器中被渲染出具體內容(除非插件中會生成組件並插入頁面),通常我們會用插件實現類似登錄,頁面環境判斷,請求攔截器等功能。跟組件一樣,可以用不同前端框架實現。

部署可視化搭建服務

tmagic-editor提供的是開源代碼,並不是一個saas服務,因此業務需要自己部署可視化搭建平臺的服務。

構建和發佈頁面

業務需要管理自己的組件庫,在發佈環節基於拿到的頁面js Schema描述文件,基於runtime進行打包構建,並把打包構建的產物部署到自己的服務器/CDN。

其它定製需求

如果對編輯器有一些擴展需求,編輯器已經預留了相應的擴展能力,業務可以開發相應擴展功能。tmagic-editor提供了vue2/vue3、react的runtime,業務可以修改runtime,或者開發其它前端框架的runtime。

tmagic-editor能力項

很香吧??

不多說了,真是神仙項目,應有盡有,喜歡就直接拿去用吧,快速開發必備。

微信關注Java大後端公衆號,回覆 8516 即可免費領取。

近期熱文推薦:

1.1,000+ 道 Java面試題及答案整理(2022最新版)

2.勁爆!Java 協程要來了。。。

3.Spring Boot 2.x 教程,太全了!

4.別再寫滿屏的爆爆爆炸類了,試試裝飾器模式,這纔是優雅的方式!!

5.《Java開發手冊(嵩山版)》最新發布,速速下載!

覺得不錯,別忘了隨手點贊+轉發哦!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章