PageKit — 可自托管的 GrapesJS 建站工具,附完整源码。 获取抢先体验

GrapesJS 与 Framer

GrapesJS 与 Framer:哪种视觉 Builder 更适合你的产品?

Framer 是一个托管网站平台,用于设计、发布和管理网站。GrapesJS 是一个开源的可视化编辑器框架,面向希望将页面构建嵌入自身 SaaS、CMS、应用程序或网站的开发者。两者都是好产品。它们回答的问题不同——所以下面的决定不是哪一个赢,而是你是在搭建网站,还是开发包含编辑器的产品。

开源编辑器框架自托管可嵌入自定义组件你的后端和存储React / Vue / Angular / 原生 JS

Framer

托管平台

  1. Framer 编辑器Framer
  2. Framer CMSFramer
  3. Framer 托管Framer

一个供应商回答了这三个问题。

GrapesJS

编辑器框架

  1. 你的应用你
  2. GrapesJS 编辑器开源
  3. 你的后端你

在你拥有的堆栈里的一个开源层。

架构

架构比较

在任何功能列表之前,先查看每个产品的形状。Framer 运行从画布到上线网站的连续工作流程。GrapesJS 运行画布——并将结果交给你拥有的代码。

Framer ·集成平台

一个产品,端到端

设计、内容、托管和发布都是同一条工作流上的阶段。你拿到的是完整的一条链路,无需自己拼装。

  1. Framer 编辑器
  2. Framer CMS
  3. Framer 托管
  4. 发布
  5. 已发布网站

GrapesJS ·编辑器框架

你所组成的模块

引擎把编辑层作为独立模块给你。两侧发生的事情是你的应用程序的工作。

  1. 画布
  2. 组件
  3. 区块
  4. 样式
  5. 资产
  6. Commands
  7. 存储
  8. 导出

由你的应用提供

  • 后端
  • 认证
  • 内容模型
  • 发布
  • 托管
  • 账单
最大的区别在于架构。Framer 提供集成的网站平台。GrapesJS 提供可视化编辑层,你可以将其集成到自己的产品和基础设施中。

从抽象角度看,这两种形式都没有更好。集成的工作流程会去除决策;框架会把它们交给你。你想要哪种,取决于编辑器是你发布的产品,还是你已经发布的产品中的一个功能。

简短结论

快速结论:GrapesJS 与 Framer

如果你只读了一部分,就读这部分。大多数读者可以在这里做出决定。

如果你想要下面这些,就选 Framer

一个设计、内容和托管都已整合在一起的即用型网站平台。

你得到

  • 一个即用的网站平台
  • 视觉网站设计
  • 全球CDN托管服务
  • 内置的CMS
  • 不建设基础设施的发布
  • 以设计为先的工作流程
  • 快速启动营销网站的方式

你用一个已经运行的工作流程来交换架构控制。

探索Framer

如果你想要下面这些,就选 GrapesJS

一个你安装在已有软件里的编辑图层,周围的每个表面都由你控制。

你得到

  • 一个可嵌入的可视化编辑器
  • 你SaaS里的页面构建器
  • 你自己的后端和数据库
  • 自定义区块与组件
  • 自定义发布工作流程
  • 自托管基础设施
  • 白标体验
  • 对编辑器用户体验的完全控制
  • 与React、Vue、Angular或原生 JS的集成

你要承担周边的基础设施,换来的是一个真正成为产品一部分的编辑器。

使用 GrapesJS 构建
看它跑起来

先看编辑器,再谈论它

在新标签页中打开

引擎没有添加任何内容:画布、图层、样式、块和响应式设备切换器。

grapesjs.com/demo.html免费

加载第三方页面。直到你点击,什么都不会发送。

三个编辑器,一个引擎。第一个是原装的 GrapesJS 演示;另外两个是 GJS.Market 目录中的网站建设预设,显示是因为读者在与网站设计工具进行比较时,需要看到引擎在不需自定义的情况下达到多远。

核心区别

Framer 是一个网站平台。GrapesJS 是一个 Visual Editor 框架。

Framer 为用户提供了一个集成的工作流程:设计、CMS、托管、发布,最后是上线网站。GrapesJS 为开发者提供了一组编辑器模块——画布、组件、块、样式、资源、命令、存储、导出——周围没有其他内容。

使用 GrapesJS 时,由你的应用决定编辑器周围发生什么。

由你的应用决定

  • 内容存储地点
  • 用户身份验证方式
  • 页面发布方式
  • 模板的工作原理
  • 权限的工作原理
  • 租户如何分开
  • 自定义组件的行为
  • 内容的呈现方式
  • 计费流程

这并不是对 Framer 的批评,Framer 自己也不这么看待。它的开发者文档划出了同一条界线:

“Framer uses code as an escape hatch... If your project needs a lot of logic and components we advise to create a normal React application instead.”
Framer 开发者文档
“Most packages typically don’t work unless they were built specifically for Framer.”
Framer 开发者文档
“Framer does not offer HTML export for self-hosting... published sites are not fully static and cannot be exported as standalone HTML files for self-hosting.”
Framer 开发者文档

所以问题不是哪个产品更强大。而是你的项目处于这条边界的哪一侧。

一对一

GrapesJS 与 Framer:完整功能对比

三十七行,来源均为各自项目的官方文档。凡是能力真实存在、只是被套餐或附加组件限制的,单元格会如实说明,而不是记为缺失。

能力GrapesJSFramer
产品类型你嵌入的开源可视化编辑器框架托管网站设计与发布平台
可视化编辑器内置——拖放画布,带有图层和响应式断点内置——拖放画布,带有图层和响应式断点
网站建设器需要你自己在编辑器周围实现内置的——平台能处理
开源是的——BSD-3-Clause核心不——是专有的
源代码访问完整源代码访问;分支并修改编辑器本身无法访问源代码
自托管是的——完全运行在你自己的基础设施上不——Framer声明发布的网站不能作为独立的HTML导出用于自托管
托管服务你自己的托管;没有任何东西是为你托管的内置 — 全球 CDN,Basic 版 20 个节点,Pro 版 300+ 个
可嵌入编辑器支持——可挂载到你的应用中的任何页面Framer 不发布嵌入或编辑器托管 API;插件运行于 Framer 内部,而非反之
自定义后端由你的应用来做Server API(测试版)可以从你的服务器更新和发布项目
自定义数据库由你的应用来做Framer 自有的内容存储
自定义存储由你的应用来做内置的——平台能处理
自定义组件支持——用你自己的模型和 traits 定义组件是的——带有属性控制的React代码组件
自定义区块是的——任何组件都可以作为块暴露支持——用你自己的模型和 traits 定义组件
设计系统支持——将区块面板限制在你自己的设计系统内Framer 的开发者 FAQ 表示,它目前并未针对设计系统的工作场景做设计
自定义编辑器 UI完整源代码访问;分支并修改编辑器本身可通过Plugins API扩展;编辑器UI本身是Framer的
白标完整源代码访问;分支并修改编辑器本身付费套餐上的网站徽章已移除;编辑器仍保留Framer品牌
用户权限由你的应用来做内置——工作区和项目角色
多租户由你的应用来做工作空间和项目,而不是为自己的客户隔离租户
CMS你的CMS或无头CMS,通过Storage Manager连接内置——合集、项目和页数限制因计划而异
发布你的发布管道内置的——平台能处理
SEO你的渲染层拥有输出及其元标签内置 — 元标签、Open Graph、规范标签、网站地图、重定向
分析你的分析;目录里有一个Google Analytics插件内置且无cookie;历史保留因计划而异
A/B 测试需要你自己实现通过Convert附加组件获取,按事件计费
本地化编辑器界面自带 i18n 模块;网站内容的本地化则由你的应用负责内置为付费附加内容,按语言区域计价,并支持AI自动翻译
协作需要你自己实现内置——实时多人协作、评论,Pro 版还有分支与 Staging
AI功能通过插件获得内置 — AI 智能体与自动翻译,按套餐额度计量
React 集成是的——官方@grapesjs/react包装是的——代码组件是React
Vue 集成是的——引擎不依赖框架;自己安装不支持——Framer的组件模型是React
Angular 集成是的——引擎不依赖框架;自己安装不支持——Framer的组件模型是React
Next.js 集成是的——客户端挂载在应用或页面路由器中不适用——Framer会渲染并服务自己的网站
原生 JS是的——引擎不依赖框架;自己安装不适用——Framer会渲染并服务自己的网站
电子邮件构建器功能通过MJML和通讯插件获取这不是Framer的使用场景
插件生态系统GJS.Market 加上开源插件生态系统Framer 插件市场,第一方和第三方
API 可扩展性完整的编辑器 API——组件、区块、命令、面板、存储Plugins API 在编辑器中;Server API 在公开测试中,WebSocket、JS/TS SDK,没有出站 webhook
供应商依赖引擎是你的;随时可以 fork该网站运行在Framer的基础设施上
最适合包含编辑器的产品需要上线和维护的网站
定价模型免费引擎加上你的工程和基础设施按站点计费的套餐,加上按编辑席位计费,再加上按用量计费的附加服务

Framer 的各项能力读取自 Framer 自身的文档和定价页面,日期: 2026-09-03. Framer 提供 React 代码组件、Code Overrides、有文档的 Plugins API 和公开的插件市场——本表将上述各项均标记为支持。修改任何单元格前请先复核。资料来源: framer.com/pricing · Framer 开发者文档 · Framer:HTML 导出 · Framer Server API · Framer CMS · GrapesJS 文档 · npm 上的 grapesjs

控制

你真正能控制的东西

编辑器周围有十二个环节,以及各由谁来构建。绿色那一列是引擎提供的;其余都是你的应用,装插件也改变不了这一点。

  • 编辑 UI — 引擎
  • 组件 — 引擎
  • 区块 — 引擎
  • 样式控制 — 引擎
  • 品牌形象 — 引擎
  • 模板 — 插件
  • 存储 — 你的应用
  • 数据库 — 你的应用
  • 认证 — 你的应用
  • 权限 — 你的应用
  • 发布 — 你的应用
  • 托管 — 你的应用
谁来构建它你的应用引擎插件

十二个里有五个。这个比例就是整页的真实总结:GrapesJS给你编辑器,你围绕它构建产品。

所有权

自托管与基础设施控制

GrapesJS 是一个 npm 包。你的应用在哪里运行,它就在哪里运行——你的服务器、你的云账户、你的内网,或是物理隔离的环境。除非你主动把内容发出去,编辑会话的任何部分都不会离开你的基础设施。

Framer

托管网站平台

  1. 你的域名你
  2. Framer 编辑器Framer
  3. Framer CMSFramer
  4. Framer 托管Framer
  5. 已发布网站Framer

你的域名指向 Framer。其下的一切都由 Framer 运行——而这恰恰就是它提供的价值。

GrapesJS

你的堆栈中的编辑器框架

  1. 你的应用你
  2. GrapesJS 编辑器开源
  3. 你的API你
  4. 你的数据库/存储你
  5. 你的发布系统你

除了引擎本身,每一层都由你自己构建、运行和承担费用。

谁来管理它你开源Framer

自托管不是你开启的功能。它是编辑器作为你代码库中的一个库,而不是你登录的服务的结果。

这能给你带来什么

  • 基础设施控制——编辑器运行在你应用已经运行的地方
  • 自定义认证——您现有的身份提供者、会话和令牌模型
  • 自定义权限——你的角色,细到某个用户可以放置哪些区块
  • 自定义数据模型——页面是你模式中的行,不是别人模式中的文档
  • 自定义部署——编辑器会随你的构建、发布节奏同步发布
  • 自定义集成——只要后端能覆盖,编辑器就能覆盖
  • 无需围绕其他网站平台重新设计产品

要清楚它给了什么、没给什么。GrapesJS 提供的是编辑器这一层。周边的产品基础设施由你的应用提供——后端、内容模型、认证、权限、发布和托管,全都是你要做的工作。引擎并不提供其中任何一项,也没有哪个插件能把它变成一个平台。

嵌入

将Visual Editor嵌入你的SaaS

这就是比较变得不够接近的情况。如果你需要一个存在于你产品内部、域名和品牌下的编辑器,托管网站平台就不是合适的工具类别——而GrapesJS正是能回答这个问题的类别。

你的SaaS

你的应用

  • 仪表盘
  • 你的用户
  • 你的账单
  • 你的权限

编辑器层

GrapesJS 编辑器

浏览插件
  • 自定义区块
  • 自定义组件
  • Style Manager
  • Asset Manager
  • 传输

    你的API

    • REST
    • GraphQL
    • 认证
  • 持久性

    你的数据库

    • 页面
    • 模板
    • 资产
  • 交付

    你的发布

    • 渲染
    • 缓存
    • 部署
编辑器是你产品中的一个组件,而不是你把用户送到的目的地。

请求路径

  1. 你的SaaS
  2. 仪表盘
  3. GrapesJS 编辑器
  4. 自定义区块
  5. 你的API
  6. 你的数据库
  7. 你的发布管道
一条请求路径,完全在你控制的基础设施内部。

团队为何而嵌入它

  • SaaS 页面构建器
  • 着陆页构建器
  • 电子邮件生成器
  • CMS 可视化编辑器
  • 白标网站建设器
  • 客户门户
  • 营销平台
  • 文档构建器
  • 电子商务页面构建器
定制化

定制组件与设计系统

GrapesJS 并不假设页面的成分。你定义组件模型,编辑器只提供你注册的内容——这也是编辑器不再让人觉得像是附加在产品上的通用网站工具的原因。

扩展点

  • Components
  • Blocks
  • Traits
  • Commands
  • Panels
  • Style Manager
  • Asset Manager
  • Storage Manager
  • Plugins

从设计系统到编辑器

  1. 你的设计系统
  2. 注册组件
  3. Traits 与设置
  4. 面板中的区块
  5. 用户所看到的内容
你的组件是编辑器唯一能放置的东西。除非你添加通用块库,否则不会有任何内容泄漏进来。

一个现实的例子

一个 SaaS 产品对外只开放六个区块——Hero、定价、推荐、功能网格、CTA 和 FAQ——每个都绑定真实的 props,并按设计系统校验。用户用这些区块来组合页面。他们拿不到不受限制的 HTML 画布,客服也不会再收到有人把三栏布局嵌套四层之后弄坏的工单。

编辑器成为你产品的一部分,而不是一个独立的网站建设环境。

精选区块面板

六个区块,而不是六百个

受限的区块面板是一项功能,而不是限制。这正是大多数 SaaS 构建器实际交付的那一套。

  • Hero

    标题、副标题、一个主要行动。

  • 定价

    计划列绑定到你的真实计划数据。

  • 推荐

    带有出处的引用,来自你自己的记录。

  • 功能网格

    你的设计系统能保证固定的网格。

  • CTA

    一个样式受限的转化区块。

  • FAQ / 联系

    问题和一份发到你API的表格。

内容

CMS、存储与发布

Framer 提供了集成的网站发布工作流程:内容存在于 Framer 的 CMS,发布只需一个按钮。GrapesJS 两者都不提供,诚实的比较方式就是直白地说。

使用 GrapesJS 时,Storage Manager 就是一对回调——加载和存储。回调背后是什么,完全由你决定:

保存路径

  1. GrapesJS
  2. Storage Manager
  3. 你的传输层
  4. 你的API
  5. 你的数据库
  6. 你的渲染器
引擎会给你项目数据。之后的都是你写的代码。

团队连接的地方

  • Headless CMS
  • REST API
  • GraphQL
  • PostgreSQL
  • MySQL
  • MongoDB
  • Laravel
  • Node.js
  • Next.js
  • S3 / object storage

GrapesJS 既不能取代 CMS,也不能取代托管。它让你控制编辑层;你的应用程序决定内容如何存储和发布。如果你想在已有的 CMS 之上获得编辑体验,那这是一条老路——但这是你自己构建的路径。

集成

React、Vue、Angular 和 Next.js

引擎与框架无关:它挂载到一个 DOM 元素上,并不关心是什么渲染了那个元素。React 有官方封装;其他框架直接挂载引擎,在生命周期钩子里也就几行代码。

Framer自有的组件模型是React。这是一个范围声明,而非缺陷——但如果你的产品是Vue或Angular,那就是决定性问题。

坦率的回答

GrapesJS能替代Framer吗?

它可以取代视觉编辑层。但它本身无法取代一个完整的托管网站平台。

这句话的两半都很重要,而只印上前半部分的对比页面不值得一读。这正是关键所在。

是的,当

目标是用开发者控制的解决方案取代视觉编辑层。

  • SaaS 产品内的页面构建器
  • 内置 CMS 带视觉编辑功能
  • 可供你转售的白标构建器
  • 面向客户的网站建设工具
  • 结构化内容的视觉内容编辑器
  • 嵌入式着陆页构建器

不,不能直接替换,当

目标是一个完整的托管网站平台,已经组合完成。

  • 托管在托管的全球CDN上
  • 带集合与条目的内置 CMS
  • 一键发布
  • 内置分析
  • 实时协作与评论
  • 现成网站工作流程

GrapesJS 取代了它

7 种情况

编辑本身,以及它的外观和行为。

  • 拖放式画布
  • 组件模型与块模型
  • 样式控制
  • 层树
  • 响应式断点
  • 资产选择
  • 编辑器界面外壳与品牌

由你的应用来接手

7 种情况

Framer平台为你运行,这些服务成为你的工程工作。

  • 托管与CDN
  • 内容存储与CMS
  • 发布流程
  • 认证与角色
  • 分析
  • 协作
  • 域与SSL

生态系统会缩短这个过程

6 种情况

目录插件覆盖了多个部分,这样你就不会从空白画布开始。

  • 网站构建器预设
  • 设计系统与样式包
  • 页眉、页脚和网格组件
  • 页面和模板管理
  • 存储适配器
  • 静态部署命令

GrapesJS 可以替代产品的编辑器部分,但它不会自动重建完整网站平台所提供的每一项服务。在你投入之前,请为差额做预算。

对Framer有利

当Framer是更好的选择时

有一大类项目选择GrapesJS是错误的,假装不是这样会让本页其他内容变得不那么可信。

  • 本月就要上线的营销网站
  • 设计师直接在平台上工作,从不打开终端
  • 网站快速上线,无需自己搭建任何基础设施
  • 托管、域名和SSL都帮你处理
  • 一个集成的CMS,你的内容团队第一天就能使用
  • 那些不想搭建或运行基础设施的团队
  • 任何想要一个集成网站工作流程而不是部分的人

如果交付物是一个网站,Framer就在完成它设计的初衷,并且做得很好。

对GrapesJS有利

当GrapesJS是更好的选择时

镜像:那些托管网站平台无论多么优秀都无法覆盖的项目。

  • SaaS 产品需要编辑器作为功能,而不是独立工具
  • 开发者自有的基础设施,包括本地部署与物理隔离(air-gapped)环境
  • 编辑器嵌入在用户已经登录的应用中
  • 一个自定义的CMS,顶部有可视化编辑层
  • 以客户品牌销售的白标产品
  • 编辑器必须强制执行的自定义设计系统
  • 多租户平台,每个租户都有独立编辑器
  • 自定义工作流程——审批、草稿、调度、版本管理
  • 自定义后端和存储,搭配您自己的数据模型
  • 自定义发布到你已经运行的流水线中

如果交付物是一个包含编辑器的产品,编辑器必须是一个库。这就是整个论点。

费用

定价与总拥有成本

这不是$0和$X的比较,这样说团队在工作六个月后就会感到意外。这些是不同的产品类别,成本形态也不同:一个是订阅,另一个是工程。

Framer

每个网站订阅,每个编辑席位收费,还有计费附加内容。

站点套餐
编辑席位
本地化
A/B 测试
托管,CDN,CMS
工程
framer.com/pricing

GrapesJS

免费引擎,以及所有相关费用,都放在你自己的账面上。

编辑许可
基础设施
开发
维护
插件
支持/服务

GrapesJS可以免除平台授权成本。它并不意味着工程和基础设施是免费的——对于一个小型营销网站来说,订阅费几乎肯定比搭建成本便宜。

按站点计费的套餐

Framer 套餐与席位价格,读取自 framer.com/pricing
套餐标示价格
Free$0 按网站/月
Basic$10 按网站/月
Pro$30 按网站/月
Enterprise定制——联系销售

编辑席位

Framer 套餐与席位价格,读取自 framer.com/pricing
席位类型标示价格
Viewer$0 按编辑/月度
Content editor$10 按编辑/月度
Editor$20 按编辑/月度

附加组件

  • $20本地化——按语言区域计价,每月,最多 20 个语言区域
  • $50Convert: A/B 测试、漏斗和触发器——每 50 万次事件
  • $200高级托管——同一域下多站点,自定义响应头部

所引用的是 framer.com/pricing 上按年计费的价格。该页面的月付切换是客户端渲染的,其数值无法读取,因此这里不引用任何月度价格,也不去照搬第三方博客的数字。

Enterprise 是定制定价的,并增加了: SSO, SCIM, Roles, Uptime guarantee.

所有 Framer 数据均读取自 framer.com/pricing 于 2026-09-03. 套餐会变;在对这些数字做出决定前,请核实来源。请注意,Framer的免费套餐不允许自定义域名,且已不再有Scale套餐——通常归因于其限制的现为Pro附加项。

构建还是购买

从零开始构建 Visual Editor,还是直接用 GrapesJS?

如果你已经确定编辑器应该属于你的产品,还有一个选择:编写编辑器,或者从已经包含难点的引擎开始。

子系统从零开始GrapesJS
画布构建它已包含
拖放构建它已包含
组件模型构建它已包含
区块构建它包含且可扩展
样式系统构建它包含且可扩展
层树构建它已包含
Commands 与撤销构建它已包含
资产管理构建它可得
响应式断点构建它已包含
插件也要建设生态系统现有生态系统
定制化全套全套
工程工作高较低的起始点

这里刻意没有给出任何时间或成本节省的数字。编辑器要做多久完全取决于你在造什么,本页上任何百分比都会是我们编出来的。

GrapesJS 为你提供了现有的编辑器基础,让你的团队专注于体验中产品特定的部分。

生态系统

用插件扩展GrapesJS

引擎是地板,不是天花板。以下都是 GJS.Market 目录中的真实商品,按一个团队离开网站平台后真正必须自己替换的四件事来分组。

更多类别

另外四个列表回答了上述比较中的具体行——页面管理、模板管理、可重复使用符号和Google Analytics: pages-manager · templates-manager · symbols · grapesjs-ga

插件并不能把引擎变成一个平台。它确实会从四个不同的地方省去一周的工作。

目录已核实 2026-09-03.

迁移

从Framer转到GrapesJS

没有Framer导入器——无论是从Framer,还是在npm上,更不在这个目录里。Framer自己的文档说明,已发布的网站不能导出为独立的HTML进行自托管,所以迁移是工程工作,具体操作多少完全取决于你实际移动的是什么。

你可能正在迁移的内容

  • 视觉设计
  • 页面结构
  • 内容
  • CMS 数据
  • 组件
  • 模板
  • 发布工作流程
  • 域名与托管
  • 集成

其中一项的迁移是一个冲刺周期,九项全做则是一个项目。没有哪个页面能告诉你你属于哪一种——包括本页,这也是本节从不给出任何工期的原因。

迁移路径

  1. Framer 网站
  2. 内容盘点
  3. 迁移层
  4. GrapesJS 项目数据
  5. 你的后台
  6. 你的前端
迁移层是某人写的代码。它不是一个你安装的工具。

下面现实的流程假设你是在重建而不是转换。这通常是正确的判断:迁移的价值在于结果符合你的产品,而忠实地将Framer站点转换为GrapesJS既不能带来平台的便利,也无法获得框架的控制权。

一步步

实用的迁移路径

  1. 1

    确定内容模型

  2. 2

    定义 GrapesJS 组件

  3. 3

    重建设计系统

  4. 4

    连接存储

  5. 5

    构建发布

  6. 6

    迁移内容

  7. 7

    添加权限和工作流程

  8. 8

    测试响应式输出

  9. 9

    部署

服务

需要搭建或迁移的帮助吗?

GJS.Market 为那些宁愿先把产品做出来、而不是先把引擎学明白的团队构建 GrapesJS 集成。这里不卖任何导入工具——这是工程工作,也按工程工作来报价。

  • 编辑器架构与集成规划
  • 将编辑器嵌入现有应用程序
  • 设计系统与组件建模
  • 自定义组件、区块、traits 和命令
  • 存储、版本控制与内容模型设计
  • 发布流程与渲染
  • 从托管网站平台迁移
  • 白标和多租户设置
  • 持续支持与维护
决定

哪一个更适合你的项目?

六种情境,以及各自指向哪一边。其中三种指向 Framer——如果你的答案在其中,就选它。

你到底在构建什么?

  • 一个需要尽快上线的营销网站

    Framer

    托管、CMS 和发布都已经装好了,你要做的只是把它们重造一遍。

  • 设计师拥有网站所有权,并以视觉形式从头到端工作

    Framer

    以设计为先的平台是工作流程最快的平台,而且没有工程接缝。

  • 团队里没人想管理基础设施

    Framer

    托管服务、域名和CDN才是你付费购买的产品。

  • 编辑器必须存在于你已经发布的产品内部

    GrapesJS

    没有托管的网站平台会发布一个你可以挂载在自己应用中的编辑器。

  • 内容和基础设施必须留在你的系统中

    GrapesJS

    Framer 明确表示已发布的站点无法导出用于自托管;而这个引擎是一个你自己运行的包。

  • 你的客户必须看到你的品牌,而不是供应商的

    GrapesJS

    编辑器的整个 UI 都是你控制的源,连面板都不例外。

FAQ

常见问题解答

GrapesJS和Framer有什么区别?

Framer 是一个托管的网站设计和发布平台:编辑器、CMS、托管和发布步骤合为一体。GrapesJS 是一个开源的可视化编辑器框架——一个你可以安装到自己应用程序中的库。Framer 回答“我需要一个网站”;GrapesJS 回答“我的产品需要一个编辑器”。

GrapesJS是Framer的替代品吗?

它是Framer编辑层的替代方案,而非整个平台的替代方案。如果你用GrapesJS替代Framer,你还要承担托管、内容存储、发布、认证和分析等任务,因为引擎不提供这些。对于营销网站来说,这通常是个糟糕的交易;对于需要嵌入式编辑器的产品来说,这是唯一可选的交易。

GrapesJS 是开源的吗?

是的。核心在npm上以BSD-3-Clause许可证发布,并在GitHub上公开开发。官方的React封装程序@grapesjs/react是MIT授权的。你可以读取、分支并修改编辑器本身。

GrapesJS 可以自托管吗?

是的——它是一个运行在应用内部的JavaScript包,因此无论应用运行在哪里,包括本地和物理隔离(air-gapped)环境,都能运行。相比之下,Framer在其文档中声明,已发布的网站并非完全静态,不能作为独立的HTML导出自托管。

我可以把GrapesJS嵌入到我的SaaS里吗?

是的。这是主要的使用场景。你把编辑器挂载到你自己应用的容器元素里,注册自己的组件和模块,然后把Storage Manager指向你的API。你的用户永远不会离开你的产品,编辑器会承载你的品牌标识。

我能用 GrapesJS 构建类似 Framer 的编辑器吗?

你可以用它构建网站建设编辑器,GJS.Market目录中的网站建设预设展示了没有自定义工作时的构建效果。你自己构建的仍然是围绕画布的一切:托管、CMS、协作、分析和发布流程。Framer是一个平台,编辑器只是其中一部分。

GrapesJS能和React一起使用吗?

是的。有一个官方的包装器 @grapesjs/react,可以挂载编辑器并暴露给钩子。如果你不想添加依赖,也可以直接挂载引擎在ref回调中。

GrapesJS能和Next.js一起使用吗?

是的,无论在哪个路由器上。包在服务器上导入时没有错误;只有编辑器的 init() 调用需要浏览器,所以可以挂载到客户端组件或效果中。本网站有完整的指南。

GrapesJS能和Vue一起使用吗?

是的。没有官方的Vue封装,所以你先把引擎装在onMounted里,然后在onBeforeUnmount里销毁——只需几行。要小心你找到的第三方封装:广泛链接的封装针对Vue 2,且未被维护。

我可以把GrapesJS连接到我自己的数据库吗?

是的,而且你必须这样做——引擎本身没有存储。Storage Manager 是一对加载和存储回调;它们背后的是你的 API、你的模式和数据库。PostgreSQL、MySQL、MongoDB、无头 CMS 或对象存储都工作,因为引擎永远分不清。

我可以创建自定义组件吗?

可以,而且大部分价值就在这里。你定义组件模型、它的 traits、它如何渲染以及如何序列化。配置得当的编辑器只会提供你注册过的组件,这正是你避免让面向客户的构建器产出设计系统无法支撑的页面的方式。Framer 同样支持自定义组件,写法是带属性控件的 React 代码组件。

GrapesJS 提供托管服务吗?

不是。GrapesJS 是一个没有托管、没有域名、没有 CDN 和 SSL 的编辑器库。Framer 作为套餐的一部分提供所有这些。如果你选择 GrapesJS,托管就是你的基础设施和账单。

GrapesJS 包含 CMS 吗?

没有。引擎中没有内容模型、没有集合,也没有发布工作流。团队会通过 Storage Manager 把它接到 headless CMS 或自己的数据库上。Framer 则内置了 CMS,其集合、条目和页面的上限随套餐而变。

构建一个基于GrapesJS的编辑器需要多少钱?

引擎是$0。其他所有费用由你承担:基础设施、集成工作、定制组件、存储、发布和持续维护。没有一个准确的数字——这取决于你需要多少周边平台资源。任何页面给你节省的百分比都是猜测。

你能帮忙搭建或迁移一个可视化编辑器吗?

可以。GJS.Market 承接 GrapesJS 集成——架构、嵌入、组件建模、存储、发布、白标,以及从托管平台迁移。其中不涉及任何导入工具;它就是工程工作,也按工程工作来报价。
开始

构建产品真正需要的Visual Editor

从GrapesJS开始,定制编辑体验,连接自己的基础设施,并通过GJS.Market的插件进行扩展。

从这里开始

从GrapesJS开始

为你的堆栈配置一个编辑器,看看集成具体包含什么。

从GrapesJS开始
扩展

探索插件

来自目录的预设、设计系统、组件、存储适配器和部署命令。

探索插件
寻求帮助

获取自定义开发

架构、嵌入、迁移和白标服务,由每天都在做这些的人负责。

获取自定义开发

如果你想要一个托管的网站建设平台,Framer 非常棒。如果你想把可视化编辑集成到自己的产品中,并控制编辑器、后端、存储、组件、发布和基础设施,GrapesJS 是更好的基础。