共计 1941 个字符,预计需要花费 5 分钟才能阅读完成。
大家好,我是一位 93 年的前端开发者,最近开源了一款基于 Fabric.js + Vue3 开发的 Web 图形编辑器,它是一个 能够自定义设计模板、设计素材,让开发者快捷的开发出一个图片编辑利用,相似稿定设计、创客贴设计这样的工具。
这篇笔记的两个目标:
- 介绍开源我的项目,如果有相似场景大家可间接应用,不再反复开发。
分享开源经验,激励和邀请对开源感兴趣的搭档一起参加进来。
我的项目介绍
Github:https://github.com/nihaojob/vue-fabric-editor
预览:https://nihaojob.github.io/vue-fabric-editor/
技术选型:
我的项目以 Fabric.js 为底层,应用 Vue3 框架和粗劣的 View UI Plus 组件库构建 。
Fabric.js 是业界出名的 Canvas 工具库,它曾经 12 岁了,在业界失去了宽泛的利用和认可;Vue 提供更敌对的入门曲线,尤其在国内利用更广;心愿借助这些优良的开源我的项目, 构建底层弱小、上手容易、便捷扩大、开箱即用的开源图像编辑器产品。
利用场景
它实用于 海报设计、封面设计、T 恤设计、奖状 / 工卡设计、电子价签设计、印章设计、手机壁纸、PPT 设计等场景,还有更简单的工业软件场景,如机房拓扑拓展、设施巡检图等。
产品特点
开源前做了一些调研,曾经有一些比拟业余的开源编辑器我的项目,比方出名的 SVGEdit 我的项目,它们很弱小,相似在线版本的 PS,提供给更业余的设计师应用;vue-fabric-editor 的产品定位是给非专业设计人员应用,例如让没有设计技能的经营同学在模板上简略批改,生成一张在公众号中应用的头图。
反对性能
- 反对导入导出 JSON 源文件,导出常见的图片 PNG、SVG 格局。
- 可自定义设计模板、字体款式模板、自定义分类素材。
- 元素反对拖拽、组合、层级治理、多种对齐操作。
- 图片素材反对插入、替换、滤镜、裁剪。
- 反对形态素材、线条绘制,突变、边框、透明度、暗影设置。
- 画布可自定义尺寸、放大放大、辅助线、标尺性能。
- 快捷键、右键菜单快捷操作设置。
以上就是我的项目的介绍了,总结一下,它是一个基于 Fabric + Vue3 开发的一款开源 Web 图片编辑器,二次开发简略、扩大便捷、可帮忙开发者疾速构建一个面向非专业设计人员的图形编辑器。
开源经验
对于我
我曾就任于优信二手车,参加过低代码平台的开发,当初一家互联网保险公司工作,参加音视频营销工具、外呼零碎的开发,都属于复杂度比拟高的前端我的项目,始终对架构和开源比拟感兴趣,也在学习和积攒设计模式、架构设计、开源相干的教训。
作为一位曾经 30 岁的开发者,始终对开源有着强烈的趣味,然而从未参加过,于是在好奇心的驱动下发动了这个开源我的项目。
我的项目经验
最后,我帮敌人实现了一个基于 Fabric.js 开发的图片生成工具,前面将外围性能抽离并开源到了 Github 上,投稿到了阮一峰老师的博客,取得了一些关注。
Fabric.js 的底层能力十分弱小,接口也很灵便,我最后认为只须要简略的 API 调用就能够实现一个图片编辑器,事实上我高估了本人的学习能力,也低估了 Fabric.js 的弱小和灵便。
很多开发者反馈 Fabric.js 的文档不太敌对 ,太过弱小和灵便也有一个弊病,那就是细节太多,要实现一个根底性能残缺、功能丰富的图编辑器利用并不轻松, 要把握很多的细节,做很多根底的封装工作。
我将开发过程公布到了技术社区,结识了很多 Fabric.js 的开发者。
- 《应用 fabric.js 疾速开发一个图片编辑器》
- 《fabric.js 开发图片编辑器的细节实现》
- 《fabric.js 开发图片编辑器能够实现哪些性能?》
短短几个月的工夫,我的项目 在 Github 上曾经从 0 涨到 1K+ Star,开源给我带来了离奇的体验。
积淀
在和泛滥的开发者交换后,发现大家都在做同一件事件,反复的开发;大家更冀望在 不做太多根底工作的状况下,疾速构建一个性能残缺、易于扩大的图片编辑利用。
目前的我的项目还只是一个前端利用我的项目,心愿将来和社区一起积淀一个介于 Web 图片编辑器利用与 Fabric.js 底层库之间的封装层,面向利用开发者设计,提供更简略的接口,让开发者能够通过开源 SDK,疾速构建图片编辑器利用。
邀请
开源是很有魅力一件事件,我在 Github 上结识了很多气味相投的贡献者,他们是一个个富裕激情且有执行力的乏味灵魂 ,是他们在深夜付出本人的工夫与酷爱为我的项目奉献代码,让不相识的起初人受害,让我的项目越来越好, 我也从一个开源门外汉,和大家一起成为了开源贡献者。
这是一个很新的我的项目和社区,有太多的工作须要做,如果你对这件事件感兴趣,真挚的邀请你退出,心愿咱们一起边走边学,在将来一起成为开源世界里的一部分,期待你的退出。