大家好,我是老赵

腾讯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能力项

如何了解tmagic-editor

开源地址:github.com/Tencent/tmagic-editor

在线文档:tencent.github.io/tmagic-editor/docs/

在线体验:tencent.github.io/tmagic-editor/playground/index.html

精彩推荐

1.接了很多私活之后的感触
2.Java 之父:尽快弃用 Java 8!!
3.Intellij IDEA 高级用法:集成 JIRA、SSH、FTP、UML类图、Database管理等插件4.设计一个高质量的 API 接口
5.重磅:Fastjson 2 官宣了,性能爆了,再战10年没问题!!
6.一款性能调优利器 — 火焰图
7.从 30248.271s 优化到 0.001,跪了....8.IntelliJ IDEA2022.1虽正式发布,但我不建议大家使用!真的很辣鸡,我主动放弃!

腾讯低代码平台正式开源!可拖拽生成手机项目、PC项目、TV项目!接私活福利啊!...相关推荐

  1. 腾讯低代码平台正式开源!可拖拽、生成手机项目、PC 项目!接私活福利啊!...

    点击上方"Java基基",选择"设为星标" 做积极的人,而不是积极废人! 每天 14:00 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | Java ...

  2. 互联网晚报 | 3月8日 星期二 |​ ​​沪指深V反弹,创业板指跌幅收窄至0.75%;腾讯低代码平台与微信开发者平台打通...

    沪指深V反弹,创业板指跌幅收窄至0.75% 沪指深V反弹,跌幅收窄至1%,创业板指跌幅收窄至0.75%. 首家递表SPAC通过港交所上市聆讯 3月9日消息,从港交所披露易获悉,首家递表的特殊目的收购公 ...

  3. 【中国版Appsmith】小程序低代码 PagePlug 正式开源,一分钟制作小程序上线!

    XDM!支持快速开发小程序.Web应用的前端低代码产品 PagePlug 正式开源了!!! Github链接 Gitee链接 欢迎各位star.fork.pr三连!!! PagePlug 真的能一分钟 ...

  4. 【快讯】JeecgBoot低代码平台,成功入选2021科创中国·开源创新榜

    近日,中国科学技术协会对2021年"科创中国"榜单遴选结果进行了公示.JeecgBoot低代码开发平台入选2021"科创中国"开源创新榜,此次上榜代表着&quo ...

  5. 一文说透低代码平台/无代码平台

    一.低代码/无代码平台是什么 二.低代码/无代码平台是怎么产生的 三.低代码/无代码平台应具备哪些能力 四.主流的低代码/无代码平台有哪些 五.低代码/无代码平台典型应用场景 六.低代码/无代码平台有 ...

  6. 业务“多面手”,基于低代码平台的CRM系统

    编者按:本文介绍了CRM系统的概念和作用,并指出基于低代码平台的CRM系统可以更好地满足企业业务多样化需求,最后介绍了相关低代码平台. 概要: (1)CRM系统的概念及作用 (2)基于低代码平台的CR ...

  7. 建设企业中台?你可能缺一个低代码平台!

    00 引言 [中台] 是IT圈这两年热议的一个话题,与此同时 [低代码开发平台] 的概念也正在逐渐被关注.两个概念的兴起并不是一种巧合,他们都是由时代发展的趋势(人类技术与社会环境变化的速度不断被刷新 ...

  8. 可视化拖拽生成小程序,傻瓜式免开发实现一款属于自己的小程序,云开发低码入坑指北

    前两天无意间知道了一种可以免开发,傻瓜式的拖拽生成小程序的一种方式.瞬间感觉作为程序员的石头哥离失业不远了.... 好在石头哥是一个爱学习的石头.所以今天就来看看这种靠拖拽生成小程序的平台是何方神圣. ...

  9. 前端低代码平台腾讯云微搭使用文档

    腾讯云微搭 调研报告 之前作者有写过一个同类低代码平台调研报告 H5-Dooring 点击查看,这次我们去尝试使用腾讯系低代码平台,文中也会增加两者之间的差异对比和使用体验上的区别. 1. 简介 1. ...

最新文章

  1. 计算机视觉开源库OpenCV之平滑、模糊和滤波
  2. hdu oj1094题解
  3. cocos 时间函数需要什么引用_与时间赛跑:微盟的数据恢复为什么需要这么长时间...
  4. daily scrum 12.2
  5. php有ssm框架吗,SSM框架-企业门户网站-1-工程构建
  6. openCV+ASM+LBP+Gabor实现人脸识别(GT人脸库)
  7. 断言assert的使用
  8. win10您的计算机配置文件,Win10系统开机登录提示无法加载用户配置文件如何解决...
  9. PIC单片机IDE,IPE和PICkit3下载使用的几个坑
  10. NFC技术——1、初始NFC
  11. 西雅图亚马逊1个月入职日记,传闻中的“血汗工厂”真实存在吗?
  12. rangeOfString用法
  13. Word/Excel文档操作API哪家强?一张表带你了解Aspose和Spire系列全功能对比
  14. 【综述 寿命预测】基于机器学习的设备剩余寿命预测方法综述
  15. 132、网管型和非网管型交换机有什么区别
  16. 安卓商店应用商城申请需要资料
  17. 《Python编程:从入门到实践》答案
  18. 通过虚拟磁盘技术给电脑安装双系统或多系统
  19. Mac OS 修改默认复制、粘贴等快捷键
  20. select * from dual (转)

热门文章

  1. Css之【字体系列】综合技巧总结(持续更新中...)
  2. 自学java怎么快速入门?
  3. 画法几何3---- 基本几何体的投影
  4. Java Apple_Apple严控Java太不人性化
  5. 概率论常见面试问题总结,含答案
  6. 学校计算机室工作人员岗位职责,学校信息中心岗位职责说明.doc
  7. 阿里云EDAS满分通过可信云微服务先进级认证,助力企业低成本轻松上云
  8. 不用装闭路电视就可以看CCTV1-10频道电视,在线随心换台包你满意
  9. 数电_第九章_数模模数转换
  10. scrapy组件、中间件、spider中类方法from_crawler的作用