百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术分类 > 正文

创业故事-我建立了一个年收入30万美元的Vue.js组件库

ztj100 2025-02-17 15:05 12 浏览 0 评论


介绍下自己

大家好,我的名字是John Leider,我是Vuetify, LLC.的创始人。我创办的公司帮助开发人员创建漂亮的网络应用程序,特别是那些没有设计经验的开发人员。

我是Vuetify开源项目的作者和首席开发人员。这是一个用户界面库,用vue.js框架开发。它为开发人员提供了数百个组件,这些组件可以应用到网站、chrome插件、桌面应用的开发上。Vuetify是基于MIT许可的开源项目。它主要由我本人,我的妻子Heather、一群核心成员维护,而且得到了开源社区的很多帮助。

我的收入主要来自于基于Vuetify的主题模板和服务。例如Vuetify商店的付费主题和通过提供付费咨询和技术支持。还有一部分收入来自在Vuetify官网的页面上展示付费广告,通过GitHub和Patreon的捐赠获取资金。

Vuetify非常强调免费使用。这对于开源软件非常重要。开源软件的发展离不开社区的支持,由社区的用户自发的去分享和改进代码。这种理念使我能够围绕这个框架发展出庞大的用户群体和生态系统。

介绍下你的背景,你是怎样想到做这个开源项目的?

我在2013年1月完成了我在美国陆军的服役,并通过考软件开发、网络安全的证书来获得在IT行业发展的机会。我搬回我的家乡佛罗里达州后,又进入学校系统学习了软件开发。同时进入了朋友的公司从事相关工作。

我主要使用PHP、jQuery和MySQL,并把大部分时间花在服务器端代码上。在2014年年底的时候,我遇到了一个名为Laravel的库,这是一个流行的PHP框架。在接下来的几个月里,我开始在个人和公司项目中使用它;正是通过Laravel,我发现了一个提供学习该框架的教育视频的网站,名为Laracasts。在一些视频中,讲师Jeffrey Way使用了Vue.js框架的早期alpha版本,我一下子就爱上了它。它简单而干净,很适合我的开发风格。

始终关注你的产品和服务的核心价值。了解什么最让你的用户兴奋。不要害怕失败和走弯路。保持与你的用户互动,向他们展示你对他们的关心。这样可以建立持久的关系,促进长期增长。

我在Vue早期版本就开始用它来构建应用程序。Vue 2测试版很快推出,并且已经有了相当大的变化;我想在新功能方面抢占先机,并认为建立一个名为vue-materials的UI框架会很有趣。

这个框架是一个Vue组件的集合,实现了Materialize CSS库的样式和脚本。我想看看我是否能成功地将Material Design规范应用于组件。至少,我可以把它用于个人项目或小客户的工作。

2016年12月14日,经过大约3到4个月的开发,我在GitHub上发布了Vuetify的第一个alpha版本。社区反响强烈,令我很振奋。我后续又投入了数千小时开发新功能,修复bug,而且得到了社区大力支持。2017年10月,我辞去工作,成为一名全职的开源作者。

带我们了解一下你的第一个产品的设计、原型制作和开发过程。

Vuetify的外观和设计是基于谷歌的Material Design规范,并使用Vue.js框架实现。这个规范是将一个应用程序拆分成较小的功能模块,这些功能模块就是组件。组件使用一组特定参数定义css样式。开发人员使用组件组合成为"Vue模板"。

模板由3个主要部分组成;一个HTML模板,一个javascript脚本,以及一个用于CSS或SCSS的样式。这极大地简化了将Material Design规范应用于我们的组件为了支持各种风格的要求,我们采取了与应用程序互动的概念,并将它们浓缩到一个简单的界面中,使Vuetify的外观很容易修改。

描述一下业务推广过程

Vuetify的alpha版本是在2016年12月发布的。我的精力主要分配在开发新功能、修复错误、寻找其他开源开发者,以及为商业和企业用户提供直接支持。开源项目在社区开发者大力支持下,不会产生很高的运营成本。对于社区的核心成员,Vuetify每月支付额外的津贴,最高可达1000美元。

最初的资金来自于企业和个人的捐赠和赞助;这些资金加起来每月略多于500美元。随着时间的推移,来自Patreon和GitHub的捐赠已经增长到每月合计约6,500美元。为了支持核心团队,Vuetify使用了一个名为Open Collective的平台,它透明地显示资金池的所有进出。

然而,低的运营成本与低收入紧紧地联系在一起。收入主要是Vuetify技术支持和定制开发。我试图发展Vuetify的众筹,并花了数年时间试图想出一套激励开发者和企业的福利来争取他们的支持。尽管我尽了最大的努力,但我还是没能想出一套能使赞助的速度比原来更快。

为了使业务收入多样化,我推出了Vuetify商店,销售品牌服装、配件和数字产品;如预制主题。它的收入在第一年是无足轻重的,但慢慢地从收入不到100美元增长到15,000至20,000美元。多年来,商店已经慢慢成为业务的主要收入来源,并使我能够在框架中投入更多的资金,以及在收入上补偿核心开源开发者团队。

业务发展过程中,我得到最大的教训是,一个主要以赞助为基础的商业模式是根本无效的。至少对于我是这样。

业务推出后,在吸引和留住客户方面有哪些有效手段?

专注于你的核心价值

留住客户最重要的一点是把主要精力放在 "核心价值 "上。Vuetify的价值来自于它是一个大型的、功能丰富的用户界面库,任何人都可以免费使用。这种方法吸引了一个庞大的用户群,我们可以通过许多方式来吸引他们,从新闻简报、社交媒体帖子、到GitHub讨论,以及我们在Discord的聊天服务器。

与志同道合的合作伙伴合作

我们与Vuejobs和MadeWithVue合作。在我们的平台间分享相关信息。建立关系并与他人合作将加强你的品牌,并为用户开辟新的途径来发现你。

精心策划网站的内容

我们绝大部分的流量是开发者,他们使用我们网站的资源学习Vuetify的使用,这些资源都是免费提供的。精心策划的内容可以让你的用户参与进来,在你的网站上停留更长时间,并增加他们进入销售漏斗的机会。比如,从Vuetify商店购买一个主题,成为赞助商,获取技术支持等。

建立一个社区

一个多样化和包容性的社区是满足你的客户并与之长期互动的最佳方式。它为开发者提供了一个讨论问题的论坛,沟通当前或即将发生的更新,经常性发布你的产品用户群,他们可以提供关于改善和提高客户体验的见解。

目前发展情况怎样,未来如何规划?

2020年在寻找资源和资金方面碰到了许多困难。最终将新版本发布时间推到了2021年10月,而我们正在努力实现这一目标。

下一个版本是大量愚蠢的错误和许多经验教训的结晶。一个简单的想法,从我第一个版本发布,已经演变成了真正有价值的产品,这些都是社区那些不可思议家伙们的杰作。我非常感谢他们,帮助我完成了这样一个让我自豪的事情。

展望未来,我很高兴在新的发布会公布新的工具和服务。后续会推出Vuetify的视频内容。帮助他人一直是我的热情所在,也将永远是我的动力。

你使用什么平台/工具?

管理Vuetify是一项艰巨的任务,它依赖众多的第三方服务。用Shopify托管Vuetify商店,使用BrowserStack进行浏览器测试,用Vercel托管我们的网站。我使用Zapier来实现各种任务的自动化,例如在多个社交平台上传播发布信息。在资金管理方面,使用OpenCollective。

在我的日常工作中,我使用Shift.io将大多数服务归入一个界面--包括电子邮件、日历、分析等等。对于数据库和数据管理,我使用Cosmic.js展示。我最近还购买了一个Stream Deck来轻松加载我常用的桌面应用程序。

我使用VS代码编辑器和Windows 11 WSL2开发。在硬件方面,我使用Das Keyboard 4 Professional,Razer Viper鼠标,以及一个木制键盘腕托。

我对于手写笔记情有独钟,最近购买了一个reMarkable 2,一个感觉和纸一样的写字板。

对于刚起步的创业者有什么建议?

行动起来。特别当你真正想清楚去做的时候。在这个过程中,你会碰到未知的问题,你需要去解决。与聪明人为伍,听取他们的意见。谦虚,愿意为自己的错误承担责任,也愿意为别人的错误承担责任。

勤奋。当别人出去玩,看社交媒体,玩游戏的时候,你在拼命工作。只有做出一些牺牲,保持动力和决心,才能成功。

如果你每天都为成功而奋斗,就像你在溺水时为呼吸而奋斗一样,你就会成功。

相关推荐

新手学Docker:挂载卷Volumes(docker挂载nfs卷)

默认情况下,在容器内创建的文件,都会保存在容器基于镜像之上的一个可读写层。但是,这一层是依赖于容器而存在的,当容器不存在时,这些数据也就不存在了。而且这些数据紧紧的耦合在容器内部,很难将这些数据导出。...

Docker命令最全详解(39个最常用命令)

Docker是云原生的核心,也是大厂的必备技能,下面我就全面来详解Docker核心命令@mikechen本文作者:陈睿|mikechen文章来源:mikechen.cc一、Docker基本命令...

松勤软件测试:详解Docker,如何用portainer管理Docker容器

镜像管理搜索镜像dockersearch镜像名称拉取镜像dockerpullname[:tag]列出镜像dockerimages删除镜像dockerrmiimage名称或id删除...

【Docker 新手入门指南】第十四章:Docker常用命令

以下Docker常用命令大全,涵盖容器、镜像、网络、数据卷及系统管理等核心操作,结合分类与示例助你快速掌握:一、容器生命周期管理...

Docker 一键清盘术,释放磁盘空间不求人

在日常开发和运维中,Docker容器化让我们的工作更高效,但不知不觉中,磁盘空间却被镜像、容器和卷悄悄吃掉。今天教你一套干净利落的Docker磁盘清理攻略,让你轻松腾出宝贵空间!一、快速查看磁盘...

第六节 Docker 容器核心操作与实践指南

一、镜像与容器的本质关系(一)镜像(Image)的核心特性静态模板:包含应用运行所需的所有依赖(系统库、运行时、配置文件等)不可变性:镜像构建完成后内容不可修改,确保环境一致性...

别再去找Docker命令了,你要的常用的全都在这

Docker常用命令集合给大家介绍一些常用的Docker命令,对你有帮助的同学建议收藏作为一个查询手册哦。Docker容器的一些命令按功能分类大致如下:Docker环境信息info、versio...

Docker 数据持久化最佳实践:Volume 使用全指南

你是不是也经常在使用Docker的时候,遇到“数据持久化”相关的困惑?容器删了,数据也跟着没了?今天就带你深入了解Docker的Volume机制,搞懂什么是Volume、怎么使用、存储在...

【Docker 新手入门指南】第十五章:常见故障排除

一、前期准备:收集关键信息在排查问题前,建议先获取以下系统数据,便于精准定位故障:...

Docker网络与iptables实战指南:从原理到安全加固

一、Docker网络核心原理:容器与iptables的“共生关系”Docker容器的网络能力依赖于Linux内核的两大核心技术:虚拟网络设备(vethpair、网桥)和iptables规则链。以默认...

别再docker exec了!盘点进入容器排错的5种“更优雅”姿势

一、dockerattach:直接“附身”容器的原始方法当容器日志疯狂刷屏时,dockerattach就像直接跳进正在行驶的汽车——能看到仪表盘数据,但方向盘不在你手上。这种直接附加到容器主进程的...

云计算核心技术Docker教程:Docker数据卷的使用

在生产环境中使用Docker,要想实现数据的持久化(所谓Docker的数据持久化即数据不随着Container的结束而结束)或者需要在多个容器之间进行数据共享,需要将数据从宿主机挂载到容器中,这就会...

【开发技术】Mybatis中进行多表关联查询?性能是不是会变好呢?

Mybatis是一种基于Java的持久层框架,能够帮助我们操作数据库。在Mybatis中,进行多表关联的整合查询,需要使用嵌套查询或者使用ResultMap进行映射。下面,我们将从这两个方面来介绍多表...

Mybatis 批量更新数据 Mysql批量更新数据

通常如果需要一次更新多条数据有两个方式,(1)在业务代码中循环遍历逐条更新。(2)一次性更新所有数据1批量更新相同的值不同的条件...

Mybatis 如何批量删除数据(mybatis批量merge)

Mybatis如何批量删除数据本期以最常用的根据id批量删除数据为例:接口设计1:List类型单参数IntegerdeleteByIds(List<Integer>ids);...

取消回复欢迎 发表评论: