我的开源项目与开源经历分享

简介: 一位93年的前端开发者从一个开源门外汉变成了一个开源发起者,项目已经1K+ Star,分享一下自己的开源项目和开源历程,供大家参考。

大家好,我是一位 93 年的前端开发者,最近开源了一款基于 Fabric.js + Vue3 开发的 Web 图形编辑器,它是一个可以自定义设计模板、设计素材,让开发者快捷的开发出一个图片编辑应用,类似稿定设计、创客贴设计这样的工具。


这篇笔记的两个目的:


  1. 介绍开源项目,如果有类似场景大家可直接使用,不再重复开发。
  2. 分享开源经历,鼓励和邀请对开源感兴趣的伙伴一起参与进来。

项目介绍


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 的产品定位是给非专业设计人员使用,例如让没有设计技能的运营同学在模板上简单修改,生成一张在公众号中使用的头图。


支持功能

  1. 支持导入导出 JSON 源文件,导出常见的图片 PNG、SVG 格式。
  2. 可自定义设计模板、字体样式模板、自定义分类素材。
  3. 元素支持拖拽、组合、层级管理、多种对齐操作。
  4. 图片素材支持插入、替换、滤镜、裁剪。
  5. 支持形状素材、线条绘制,渐变、边框、透明度、阴影设置。
  6. 画布可自定义尺寸、放大缩小、辅助线、标尺功能。
  7. 快捷键、右键菜单快捷操作设置。



以上就是项目的介绍了,总结一下,它是一个基于 Fabric + Vue3 开发的一款开源 Web 图片编辑器,二次开发简单、扩展便捷、可帮助开发者快速构建一个面向非专业设计人员的图形编辑器

开源经历

关于我

我曾就职于优信二手车,参与过低代码平台的开发,现在一家互联网保险公司工作,参与音视频营销工具、外呼系统的开发,都属于复杂度比较高的前端项目,一直对架构和开源比较感兴趣,也在学习和积累设计模式、架构设计、开源相关的经验。



作为一位已经 30 岁的开发者,一直对开源有着强烈的兴趣,但是从未参与过,于是在好奇心的驱动下发起了这个开源项目。

项目经历

最初,我帮朋友实现了一个基于 Fabric.js 开发的图片生成工具,后面将核心功能抽离并开源到了 Github 上,投稿到了阮一峰老师的博客,获得了一些关注。


Fabric.js 的底层能力非常强大,接口也很灵活,我最初以为只需要简单的 API 调用就可以实现一个图片编辑器,事实上我高估了自己的学习能力,也低估了 Fabric.js 的强大和灵活。


很多开发者反馈 Fabric.js 的文档不太友好,太过强大和灵活也有一个弊端,那就是细节太多,要实现一个基础功能完整、功能丰富的图编辑器应用并不轻松,要掌握很多的细节,做很多基础的封装工作


我将开发过程发布到了技术社区,结识了很多 Fabric.js 的开发者。


  1. 《使用fabric.js 快速开发一个图片编辑器》
  2. 《fabric.js开发图片编辑器的细节实现》
  3. 《fabric.js开发图片编辑器可以实现哪些功能?》


短短几个月的时间,项目在 Github 上已经从 0 涨到 1K+ Star,开源给我带来了新奇的体验。


沉淀

在和众多的开发者交流后,发现大家都在做同一件事情,重复的开发;大家更期望在不做太多基础工作的情况下,快速构建一个功能完整、易于扩展的图片编辑应用


目前的项目还只是一个前端应用项目,希望未来和社区一起沉淀一个介于 Web 图片编辑器应用与 Fabric.js 底层库之间的封装层,面向应用开发者设计,提供更简单的接口,让开发者可以通过开源 SDK,快速构建图片编辑器应用


邀请

开源是很有魅力一件事情,我在 Github 上结识了很多志同道合的贡献者,他们是一个个富有热情且有执行力的有趣灵魂,是他们在深夜付出自己的时间与热爱为项目贡献代码,让不相识的后来人受益,让项目越来越好,我也从一个开源门外汉,和大家一起成为了开源贡献者




这是一个很新的项目和社区,有太多的工作需要做,如果你对这件事情感兴趣,真诚的邀请你加入,希望我们一起边走边学,在未来一起成为开源世界里的一部分,期待你的加入。

相关文章
|
Cloud Native Linux Go
如何从开源项目中受益?
如何从开源项目中受益?
71 0
|
3月前
|
消息中间件 人工智能 Cloud Native
社区胜于代码,我们在阿帕奇软件基金会亚洲大会聊了聊开源中间件的未来
阿帕奇基金会亚洲大会顺利召开,阿里云消息技术负责人林清山在主论坛做了《阿里云中间件持续进化:从分布式应用架构向云原生 AI 原生应用架构全面升级》的演讲,从云厂商的视角分享了贡献开源、推动社区发展的过程,希望通过 AI 开发框架+AI 观测能力+AI 网关 + 事件驱动,一站式助力大模型应用落地。
255 17
社区胜于代码,我们在阿帕奇软件基金会亚洲大会聊了聊开源中间件的未来
|
3月前
|
设计模式 前端开发 开发者
个人开源项目商业化经验分享
开源项目推向商业化道路的开发者,将自的经历分享出来与诸位一同交流,期望大家能够少走弯路,让开源项目更健康的活下去。
个人开源项目商业化经验分享
|
6月前
|
程序员 项目管理 开发工具
gitt开源项目的意义,公司为什么会对在gitt上有开源项目的人更大机会
gitt开源项目的意义,公司为什么会对在gitt上有开源项目的人更大机会
77 0
|
开发者
开发者投身开源项目的能够获得什么?
作为开发者,编程不仅是工作和饭碗,也是兴趣爱好的体现。虽然说有一部分是为了生活才选择了编程开发,但是大部分开发者是因为兴趣和爱好才加入编程队伍中的。不知不觉IT互联网行业已经发展了二十多年,基于开源的软件及应用也是有了快速的发展,越来越多的开发者投入到了开源项目的贡献中来,这让开发者和开源项目建立了很好的连接。
376 1
开发者投身开源项目的能够获得什么?
|
Apache 开发者
成功打造一个开源软件的秘诀在于开源社区
成功打造一个开源软件的秘诀在于开源社区
197 0
|
消息中间件 存储 设计模式
聊聊如何学习开源项目
工作几年的程序员同学,有了一定的项目经验,对于编程也有了自己的理解,但他们偶尔也会感到困惑,不知道接下来该如何提升自己。 在笔者看来:"这个阶段的程序员最需要的是提升自身编程能力和视野高度,而学习开源项目是最有效的方法之一"。
聊聊如何学习开源项目
|
Arthas Kubernetes Cloud Native
开源小白到核心开发——我与 sealer 的成长故事
下面将以作者本人与 sealer 的一段成长故事来带领大家体验从小白到核心功能开发者的开源之旅,同时本文也作为一篇引领开源小白入门的文章供大家参考。
开源小白到核心开发——我与 sealer 的成长故事
|
边缘计算 运维 Kubernetes
从旁观者到贡献者:经历 OpenYurt 的“开源之夏”,我们想让更多人体验社区的魅力
在“开源之夏——OpenYurt 体验中心”,同学们能够以低门槛的方式快速上手并参与到项目当中,解决实际问题。从旁观者到社区贡献者的角色转变之间,让我们通过采访内容,一起看看他们的真实感受,以及有哪些意想不到的收获。
从旁观者到贡献者:经历 OpenYurt 的“开源之夏”,我们想让更多人体验社区的魅力
|
消息中间件 运维 前端开发
做一个优秀的开源项目,需要注意哪些方面?
如果你想发布一个开源库,请确保它有以下特点: 清晰的依赖性和安装说明 至少有一个简要的文档指南 修改日志和仓库中的标签 关于支持的语言、运行时、工具版本的信息和项目的成熟度 一个可以让用户提问和交流的邮件列表 缺少任何一项都会造成一些用户的愤怒和沮丧,当然同时也浪费了时间。
356 0