Frappe Builder:Frappe推出的开源可视化低代码网站快速构建工具

原创 发布日期:
53

一、Frappe Builder是什么?

Frappe Builder是由Frappe团队开发的一款开源低代码网站构建工具,定位为“简单、快速、灵活”的网页创作解决方案,核心使命是让网页构建摆脱复杂编码的束缚,同时避免传统低代码工具“冗余臃肿、定制性差”的弊端。

从项目动机来看,开发者发现现有网站构建工具普遍存在三大问题:一是操作复杂,对非技术人员不友好;二是限制过多,难以与Frappe生态深度集成;三是生成页面冗余,包含大量不必要的脚本和样式,影响加载性能。因此,Frappe Builder从设计之初就确立了两大核心目标:提供直观的可视化设计方式实现一键式发布流程,同时将性能优化贯穿始终,让无论是设计师(追求操作便捷性)还是开发者(需要高度定制性)的用户,都能高效完成网页构建。

作为Frappe生态的重要组成部分,Frappe Builder并非孤立工具——它深度依托Frappe Framework(全栈Web应用框架)和Frappe UI(Vue-based UI库),既能独立完成网页设计与发布,也能无缝对接Frappe CMS等生态组件,实现数据联动与动态页面开发。其开源特性(基于AGPLv3许可证)也允许用户根据需求修改源码,进一步拓展功能边界。

简单来说,Frappe Builder就像“网页版Figma+一键部署工具”的结合体:无需编写大量HTML/CSS/JS代码,通过拖拽、点击即可完成页面布局与样式设计;设计完成后无需复杂部署流程,一键即可将网页上线;同时支持开发者通过脚本和代码定制,平衡了“易用性”与“灵活性”。

二、功能特色

Frappe Builder的核心优势在于“兼顾易用性与专业性”,其功能设计围绕“高效构建、性能优异、灵活扩展”三大核心展开,具体特色如下:

1. 直观的可视化编辑器(类Figma操作体验)

这是Frappe Builder最核心的功能之一,编辑器采用“所见即所得”模式,操作逻辑与Figma高度相似,降低了用户学习成本。用户可以直接拖拽组件(如文本、图片、按钮、容器等)到画布,通过可视化面板调整样式(字体、颜色、间距、布局等),无需手动编写CSS。此外,编辑器还支持“图层管理”“组件锁定”“属性搜索”等功能,方便复杂页面的设计与维护——即使是没有编程基础的设计师,也能快速上手并制作出专业级网页。

2. 原生响应式设计,适配全设备

无需额外编写适配代码,Frappe Builder支持“一键切换设备视图”(桌面、平板、手机),用户可以针对不同设备调整布局和样式,确保网页在任何终端上都能正常显示。例如,在手机视图中可以隐藏桌面端的冗余元素、调整字体大小和间距,所有修改实时同步,避免了传统开发中“多设备适配反复调试”的麻烦。

3. 深度集成Frappe CMS,支持动态页面开发

作为Frappe生态工具,Frappe Builder能无缝对接Frappe CMS,轻松从数据库中获取数据并动态渲染到页面。例如,企业可以通过它构建“产品列表页”(自动从数据库读取产品信息并展示)、“新闻动态页”(实时同步CMS中的文章内容)、“用户中心页”(关联用户数据实现个性化展示)等。这种集成能力让静态网页升级为动态应用,满足企业级场景的核心需求。

4. 全面的脚本与样式定制能力

针对有编程基础的开发者,Frappe Builder提供了充分的定制空间:

  • 客户端脚本:可以为单个组件添加交互逻辑(如点击事件、表单验证、动态加载内容);

  • 全局脚本:编写全局生效的JS代码(如统计埋点、全局状态管理);

  • 自定义样式:支持直接编写CSS/Tailwind代码,覆盖默认样式或实现复杂设计效果。 这种“可视化操作+代码定制”的混合模式,让开发者既能享受低代码工具的高效,又能灵活满足特殊需求。

5. 一键发布,即时上线

设计完成后,无需复杂的部署流程,通过“一键发布”功能即可将网页同步到生产环境。对于使用Frappe Cloud托管的用户,发布过程仅需点击按钮;自托管用户也能通过脚本自动完成部署,整个过程最快仅需几秒,实现“设计即上线”的高效流程。

6. 性能优异,无冗余代码

这是Frappe Builder与其他低代码工具的核心差异之一。项目从设计之初就注重性能优化,生成的网页不会包含不必要的脚本和样式,因此加载速度快、资源占用少,在Google Lighthouse(谷歌性能测试工具)中能稳定获得高分。例如,传统低代码工具生成的网页可能包含数百KB的冗余JS,而Frappe Builder生成的页面通常仅需几十KB,加载速度提升50%以上。

7. 生产环境验证,稳定可靠

Frappe官方网站(frappe.io)完全基于Frappe Builder构建,这意味着该工具经过了真实生产环境的长期验证,能够承受高并发访问、复杂业务逻辑等场景的考验。对于企业用户而言,这种“官方背书”大幅降低了使用风险,无需担心工具在关键场景下出现故障。

为了更清晰地展现Frappe Builder的优势,以下是它与传统代码开发、其他低代码工具的核心差异对比:

对比维度 Frappe Builder 传统代码开发 其他低代码工具
操作难度 低(可视化拖拽,类Figma体验) 高(需掌握HTML/CSS/JS等技术) 中低(可视化操作,但逻辑复杂)
页面性能 高(无冗余代码,Lighthouse高分) 高(可手动优化) 低(冗余脚本多,加载慢)
Frappe生态集成 原生支持(无缝对接CMS/Framework) 需手动集成(开发成本高) 不支持或部分支持
发布效率 极高(一键发布,秒级上线) 低(需部署服务器、配置环境) 中(需配置部署参数,流程繁琐)
定制化能力 高(可视化+脚本/样式定制) 极高(完全自主编码) 低(受限于工具内置组件)
学习成本 低(1-2小时即可上手) 高(需数月编程学习) 中(需熟悉工具特定逻辑)

Frappe Builder:Frappe推出的开源可视化低代码网站快速构建工具

三、技术细节

Frappe Builder的稳定运行和核心功能,依赖于成熟的技术栈和严谨的开发架构,以下从技术栈、项目结构、开发规范、许可证四个维度展开说明:

1. 核心技术栈

Frappe Builder采用“前后端分离”架构,技术选型聚焦“稳定性、兼容性、开发效率”:

  • 后端框架:Frappe Framework(一款基于Python的全栈Web应用框架,提供数据库管理、用户认证、API接口等核心能力,是Frappe生态的基础);

  • 前端框架:Vue.js(核心前端框架)+ Frappe UI(基于Vue的UI组件库,提供现代化的交互组件和设计系统,确保编辑器的流畅体验);

  • 开发工具:Docker(容器化部署,简化开发和生产环境配置)、docker-compose(多容器编排)、Git(版本控制)、Yarn(前端包管理)、Vite(前端开发服务器,支持热更新);

  • 代码规范工具:Ruff(Python代码 lint/格式化工具)、Prettier(前端代码格式化工具)、pre-commit(提交前代码校验,确保代码风格一致);

  • 自动化工具:GitHub Actions(CI/CD流程,支持自动测试、自动发布)、semantic versioning(语义化版本管理,自动生成版本号)。

2. 项目结构

从GitHub仓库的文件结构来看,Frappe Builder的代码组织清晰,核心目录和文件功能如下:

目录/文件 核心功能
.devcontainer/.github/.vscode 开发环境配置(如Codespaces初始化、CI/CD配置、VS Code编辑器配置)
builder 核心业务逻辑目录(包含后端API、数据模型、核心功能实现)
frontend 前端代码目录(可视化编辑器、页面预览、用户交互界面等,是前端开发的核心)
docker Docker部署配置(docker-compose.yml、init.sh等,用于快速启动容器环境)
frappe-ui @ 372b85c Frappe UI组件库子模块(通过git submodules引入,确保版本一致性)
scripts 自动化脚本(如部署脚本、测试脚本)
package.json/yarn.lock 前端依赖管理文件(记录依赖包版本、脚本命令等)
pyproject.toml Python项目配置文件(如Ruff代码规范、依赖包管理)
.pre-commit-config.yaml 代码提交前校验配置(如自动格式化代码、检查语法错误)
LICENSE 许可证文件(AGPLv3)
README.md 项目说明文档(包含快速开始、部署步骤、功能介绍等)

3. 开发与协作规范

为确保项目的可维护性,Frappe Builder制定了严格的开发规范:

  • 代码风格:Python代码使用Ruff进行lint和格式化,前端代码使用Prettier统一风格,通过.pre-commit-config.yaml配置自动校验,避免提交不符合规范的代码;

  • 版本管理:采用语义化版本(semantic versioning),通过.releaserc配置自动发布流程,根据提交信息(feat/fix/chore等)自动生成版本号和更新日志;

  • 提交信息规范:要求提交信息遵循“类型:描述”格式(如feat: 新增脚本排序功能、fix: 修复分析路由过滤问题),便于追溯变更;

  • 分支管理:主分支为stable(稳定版本),开发分支为develop(开发中的功能),通过Pull Request进行代码合并,合并前需经过代码审核和测试。

4. 许可证类型

Frappe Builder采用GNU Affero General Public License v3.0(AGPLv3) 许可证,核心条款如下:

  • 允许自由使用、复制、修改和分发软件;

  • 任何基于该软件修改后的衍生作品,必须以相同许可证开源(确保开源精神的延续);

  • 如果通过网络提供该软件的服务(如搭建SaaS平台),必须向用户提供源代码。

该许可证适合个人、企业自用或二次开发后开源发布,不适合闭源商用(如基于其开发闭源的低代码工具并售卖)。

四、应用场景

Frappe Builder的“低代码+高性能+Frappe生态集成”特性,使其适用于多种场景,覆盖个人、企业、开发者等不同用户群体:

1. 个人用户:快速搭建个人网站/博客

对于没有编程基础的个人用户,Frappe Builder是搭建个人网站的理想选择:

  • 无需学习代码,通过可视化编辑器拖拽组件,即可制作个人主页、博客、作品集等;

  • 响应式设计确保网站在手机、电脑上都能正常显示;

  • 一键发布功能无需配置服务器,通过Frappe Cloud托管即可快速上线;

  • 支持自定义域名,让个人网站更具专业性(如将网站绑定为“yourname.com”)。

例如,设计师可以用它制作作品集网站,上传作品图片、添加简介和联系方式,全程仅需1-2小时;博主可以搭建个人博客,通过Frappe CMS集成实现文章发布和管理,无需关心后端开发。

2. 中小企业:构建企业官网/动态业务页面

中小企业通常缺乏专业的开发团队,Frappe Builder能帮助其快速搭建实用的企业级网页:

  • 企业官网:制作首页、产品介绍页、联系我们页等,支持添加表单(如咨询表单、报名表单)、地图定位、社交媒体链接等功能;

  • 动态业务页面:通过Frappe CMS集成,构建产品列表页(实时更新产品信息)、新闻动态页(发布企业公告)、客户案例页(展示合作案例)等;

  • 成本可控:无需支付高额开发费用,自托管模式可节省服务器租赁成本,开源特性允许按需修改功能。

例如,一家小型电商企业可以用它搭建产品展示网站,通过Frappe CMS上传产品图片、价格、详情,用户提交咨询后数据直接同步到企业数据库,无需额外开发后台管理系统。

3. 设计师:独立完成“设计+上线”全流程

传统流程中,设计师完成UI设计后,需要交给开发人员实现,过程中可能出现“设计还原度低”“沟通成本高”等问题。Frappe Builder让设计师能够独立完成从设计到上线的全流程:

  • 类Figma的编辑器让设计师可以直接还原自己的UI设计,无需编写代码;

  • 支持导入Figma设计文件(通过Figma插件Beta版),进一步降低操作成本;

  • 一键发布功能让设计师无需依赖开发人员,设计完成后即可上线,大幅提升工作效率。

4. 开发者:高效开发定制化网页/集成Frappe生态

对于开发人员而言,Frappe Builder是提升开发效率的“工具助手”,而非替代方案:

  • 快速原型开发:无需从零编写页面结构,通过可视化编辑器快速搭建页面原型,再通过脚本和样式定制实现复杂功能;

  • Frappe生态集成:开发Frappe Framework相关应用时,可直接用它构建前端页面,无缝对接后端API和数据库;

  • 二次开发:基于开源代码修改编辑器功能,例如添加自定义组件、扩展脚本能力等,满足特殊业务需求。

例如,开发人员可以用它快速搭建后台管理系统的前端页面,通过脚本添加数据查询、表单提交等逻辑,再与Frappe Framework后端对接,开发效率提升50%以上。

5. Frappe生态用户:拓展生态应用场景

Frappe Framework的现有用户(如使用Frappe ERPNext的企业),可以通过Frappe Builder拓展更多应用场景:

  • 定制ERPNext前端页面:修改ERPNext的默认前端界面,使其更符合企业品牌风格;

  • 构建生态联动页面:例如制作ERPNext数据可视化页面(展示销售数据、库存情况)、客户门户页面(让客户查询订单状态)等;

  • 降低维护成本:统一技术栈(Frappe Framework/Frappe UI),减少跨技术栈维护的复杂度。

五、使用方法

Frappe Builder提供两种核心使用场景:生产环境使用(直接搭建并上线网站)和开发环境使用(二次开发或定制功能),以下是详细步骤:

1. 生产环境使用(推荐非开发用户)

生产环境使用分为“托管部署”和“自托管部署”,前者适合新手,后者适合需要自定义服务器的用户。

(1)托管部署(Frappe Cloud)

这是最简单的使用方式,无需配置服务器,全程通过Frappe Cloud托管:

  1. 访问Frappe Cloud官方托管链接(https://frappecloud.com/builder/signup);

  2. 注册账号并登录,选择“创建新项目”,填写项目名称(如“my-website”);

  3. 选择Frappe Builder模板,设置网站域名(支持默认域名或自定义域名);

  4. 点击“部署”,等待5分钟左右,网站即可部署完成;

  5. 访问部署后的域名,即可进入Frappe Builder编辑器,开始设计网页。

(2)自托管部署(适合有服务器基础的用户)

自托管部署需要拥有自己的服务器(支持Linux系统),步骤如下:

  1. 下载官方提供的一键安装脚本:

    wget https://frappe.io/easy-install.py
  2. 运行部署命令,替换参数为自己的信息:

    python3 ./easy-install.py deploy \
      --project=builder_prod_setup \ # 项目名称(自定义)
      --email=email@example.com \   # 你的邮箱(用于接收通知)
      --image=ghcr.io/frappe/builder \# 镜像地址(无需修改)
      --version=stable \       # 版本(stable为稳定版)
      --app=builder \         # 应用名称(无需修改)
      --sitename=subdomain.domain.tld # 你的域名(如www.yourcompany.com)
  3. 等待脚本执行完成(约5分钟),期间会自动配置服务器环境、安装依赖、部署应用;

  4. 部署完成后,访问设置的域名,即可进入Frappe Builder编辑器。

2. 开发环境使用(适合开发者二次开发)

如果需要修改Frappe Builder的源码、添加自定义功能,需搭建开发环境,支持Docker和本地手动搭建两种方式。

(1)Docker搭建(推荐,环境配置更简单)

前提:本地已安装Docker、docker-compose和Git(参考Docker官方文档安装)。

  1. 创建项目文件夹并进入:

    mkdir frappe-builder && cd frappe-builder
  2. 下载Docker配置文件和初始化脚本:

    wget -O docker-compose.yml https://raw.githubusercontent.com/frappe/builder/develop/docker/docker-compose.yml
    wget -O init.sh https://raw.githubusercontent.com/frappe/builder/develop/docker/init.sh
  3. 启动Docker容器:

    docker compose up
  4. 等待启动完成,当终端显示“Current Site set to builder.localhost”时,说明环境搭建成功;

  5. 访问http://builder.localhost:8000,使用默认账号登录:

    • 用户名:Administrator

    • 密码:admin

  6. 进入编辑器后,即可开始开发测试。

(2)本地手动搭建(适合熟悉Frappe Framework的开发者)

前提:已搭建Frappe Bench环境(Frappe Framework的开发环境工具)。

  1. 启动Frappe Bench并保持运行:

    cd frappe-bench
    bench start
  2. 打开新终端,进入frappe-bench目录,获取Frappe Builder应用:

    bench get-app builder
  3. 创建新站点并安装应用:

    bench new-site builder.localhost --install-app builder
  4. 启动站点并访问:

    bench browse builder.localhost --user Administrator
  5. 配置CSRF忽略(避免开发时出现令牌错误):

    bench --site builder.localhost set-config ignore_csrf 1
  6. 访问http://builder.localhost:8000/builder,即可进入编辑器开发。

(3)前端开发单独配置(如需修改前端界面)

如果仅需修改前端编辑器的样式或交互,需单独配置前端开发环境:

  1. 进入Frappe Builder应用的前端目录:

    cd frappe-bench/apps/builder
  2. 安装前端依赖:

    yarn install
  3. 启动Vite开发服务器(支持热更新):

    yarn dev --host
  4. 访问http://builder.localhost:8080,即可实时预览前端修改效果(前端代码位于frappe-bench/apps/builder/frontend目录)。

Frappe Builder:Frappe推出的开源可视化低代码网站快速构建工具

六、常见问题解答(FAQ)

1. 部署时提示“脚本执行失败”,如何解决?

  • 检查服务器环境:自托管部署需使用Linux系统(推荐Ubuntu 20.04+/Debian 10+),确保服务器已安装Python3、wget等基础工具;

  • 网络问题:如果下载脚本或镜像失败,可尝试更换服务器网络(如使用国内镜像源)或检查防火墙设置;

  • 域名问题:确保--sitename参数填写的域名已正确解析到服务器IP,且未被其他服务占用80/443端口。

2. 访问编辑器时出现“CSRFToken错误”,怎么办?

这是开发环境中常见的问题,解决方案如下:

  • 执行CSRF忽略配置命令(仅开发环境使用):

    bench --site builder.localhost set-config ignore_csrf 1
  • 重启Frappe Bench服务:

    bench restart
  • 清除浏览器缓存后重新访问。

3. 如何自定义组件或添加新功能?

  • 前端组件修改:编辑frappe-bench/apps/builder/frontend目录下的代码,添加自定义组件(需熟悉Vue.js和Frappe UI);

  • 后端功能扩展:修改builder目录下的Python代码(需熟悉Frappe Framework),添加新的API接口或数据模型;

  • 提交修改后,重启开发服务器即可生效。

4. 生成的网页如何优化SEO?

Frappe Builder生成的网页本身支持SEO优化,可通过以下方式配置:

  • 在编辑器中设置页面标题、关键词、描述(通过“页面属性”面板);

  • 启用HTTPS(Frappe Cloud托管默认支持,自托管需配置SSL证书);

  • 优化图片大小(编辑器支持图片压缩),确保页面加载速度(提升SEO排名);

  • 支持添加robots.txt和sitemap.xml(通过“设置-SEO”菜单配置)。

5. 能否导入外部设计文件(如Figma、Sketch)?

目前支持Figma文件导入(Beta版),步骤如下:

  1. 安装Frappe Builder的Figma插件(在Figma插件市场搜索“Frappe Builder”);

  2. 在Figma中打开设计文件,使用插件导出为Frappe Builder支持的格式;

  3. 在Frappe Builder编辑器中,通过“导入-Figma文件”功能上传导出的文件,即可自动还原设计布局。 Sketch文件暂不直接支持,可先导出为Figma文件后再导入。

6. 自托管模式下,如何备份网站数据?

  • 手动备份:执行以下命令备份数据库和文件:

    bench --site builder.localhost backup
  • 自动备份:修改Frappe Bench的备份配置(frappe-bench/sites/common_site_config.json),设置自动备份时间和存储路径。

七、相关链接

八、总结

Frappe Builder是一款兼顾“易用性、高性能、灵活性”的开源低代码网站构建工具,核心价值在于解决传统网站建设中“复杂难用、冗余臃肿、集成困难”的痛点。它通过类Figma的可视化编辑器降低了网页设计门槛,让非技术人员也能快速搭建专业网页;同时支持Frappe CMS集成、自定义脚本与样式,满足开发者的定制化需求;一键发布功能和优秀的性能优化,让网页从设计到上线的全流程高效且可靠。无论是个人用户搭建博客、中小企业构建官网,还是设计师独立完成“设计+上线”、开发者提升开发效率,Frappe Builder都能提供适配的解决方案。其开源特性和Frappe生态的深度集成,进一步拓展了工具的应用边界,而Frappe官方网站的生产环境验证,也让用户可以放心使用。对于需要快速、高效、高性能构建网页的用户而言,Frappe Builder无疑是一款值得尝试的优秀工具。

打赏
THE END
作者头像
AI铺子
关注ai行业发展,专注ai工具推荐