众所周知, 开源无论是对跳槽找工作还是队升职加薪, 或者日常装 x 都起着举足轻重的作用。 但事实是, 我周围很多同事, 明明有了开源的实力, 却没有一个开源项目。但是对于开源之路很多人都有如下苦恼:
我经过自己的思考和总结,得到如下内容,并通过三篇内容详细阐述,希望能帮到大家:
首先要澄清一个问题,能做开源的并不一定是最优秀的人或者最牛的人,而是那些善于思考,并努力付诸实践的人,所以不要因为技术不够牛,没有达到顶尖水平就放弃做开源,很多时候都是先有一个好的想法, 然后去学习要做成这个想法的所需技能, 在我看来, 入行一年就可以拥有做一个好的开源的能力。
在现在编程界尤其是前端,有一个很大的特点就是新东西出现的太快。变化快就会产生两方面的影响,第一, 我们很自然的感受就是要不断的学习,一天不学习好像就要被世界淘汰了,很多人很抱怨学不动了,(话锋一转),但是,你有没有想过,正是有了变化,才有了机会,才能够弯道超车。
具体到开源灵感来源(灵魂叩问):
我们在做 iOS 开发时需要日历组件📅,在做 Android 时需要日历组件📅,难道当 flutter 出来后,不需要一个好用的日历组件📆吗?
我们知道 PHP 有 Web 框架 laravel,Python 有 web 框架 Django,那当 Go 出来的时候呢? 那当 Node 出来的时候呢? 或者还没火的 Deno 语言呢,他们难道不需要一个 web 框架吗?他们不需要相应的配套生态吗?
react 生态有某个组件,是不是能够迁移到 Vue 呢?
简而言之,当新的语言 /框架 /库出现时,如果你认为是趋势(有些赌博风险,他可能不火了),你可以借鉴其它语言 /库 /框架,集众家所长,针对此语言 /库 /框架进行开发,相信是个不错的选择。
你有没有在日常工作中吐槽 xx 组件 /库真是垃圾,真难用,要是我写,肯定比他好一万倍。 对,就是这个时刻,如果你发现自己在日常工作中使用的插件,组件,库,工具不够好用,有优化的空间时,记得拿笔记下,然后开始行动起来,相信你一定可以写出比他好一万倍的东西,祝福你㊗️。
简而言之,我们要吐槽,但不仅仅要吐槽, 更要思考改进空间是什么。
当你在写某段逻辑时,写了一遍,很正常; 当第二遍发现类似逻辑,拷贝一波,改改几个参数名就可以了,可以接受; 但是当你又发现了一处类似逻辑,你就要考虑是不是可以抽象出一个方法 /类 /库了。 当你抽象出来,放到你的项目后,如果挺不做,你就要考虑,是不是其他项目或者别人也需要类似一段代码,如果你的回答是肯定的,恭喜你,你可以开源一波了!
简而言之,在日常的开发过程,我们要养成 don't repeat yourself 的思维,从更高纬度抽象业务,久而久之你就能感觉自己的升华了。
从无到有: 讲道理,说实话,从无到有是比较难的,你很难在 JQuery 时代去想做一个 MVVM 的框架,封装 DOM 操作,使用数据控制渲染;你很难在 Node 诞生前想象 JS 还能写后端;你也很难想想人工智能时代,前端是怎么的状态,但如果你想到了一个 idea,他能做到之前技术做不到的事,又便捷又好用,恭喜你,你是新时代的创造者。
从有到优: 这个相对简单一些,也对应着创意来源 2,当你发现你有一个比现有解决方案更优(更快?更小?更强?更简单?)的解决方案时,你就大胆的干吧(dayjs 的故事)
从收费到免费: 看看你的电脑,有什么收费又好用的软件? 再看看日常开发中,有什么公司花钱买的? 能不能在不侵犯别人的权益下做一个类似的免费的,开源的软件,例如一个开源的小说网站,一个开源的 flutter 电商网站,一个开源的教育管理系统?
由于业务的推动,新需求就会产生新问题,就需要有新的解决方案,就像雷老板说的, 如果你是一头^(* ̄(oo) ̄)^
, 但是站在技术风口编程的,相信都会被吹飞。 下面简单总结了一下前端的几个新需求:
这个严格来说不能算编程,但也是开源的一个好方向,即通过收集一个专题资料,实现开源项目: 例如 awesome-vue / awesome-mac / 电子书 / 挣钱 等等。
你是不是也关注过某位大牛 xxx 原理分析,xxx 源码逐行分析的仓库,你是不是也将开过别人将 GitHub Issue 作为写技术文章的,没做,将 GitHub 作为技术分析分享和积累的地方,也是一个不错的开源选择。
讲了这么多思路,你是不是也在脑海中闪现了一些想法,不要犹豫,赶紧行动起来,你和开源只差一个想法!
听说看完文章点赞收藏的人都变帅 /漂亮了(✪ω✪) (^o^*) (ΦωΦ)
Github: https://github.com/dream2023
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.