眾所周知, 開源無論是對跳槽找工作還是隊升職加薪, 或者日常裝x都起著舉足輕重的作用。 但事實是, 我周圍很多同事, 明明有了開源的實力, 卻沒有一個開源項目。但是對于開源之路很多人都有如下苦惱:
- 怎么找到一個值得做的idea?
- 怎么進行開源協作?
- 如何讓自己的star增長起來,獲得更多關注?
我經過自己的思考和總結,得到如下內容,并通過三篇內容詳細闡述,希望能幫到大家:
第一篇:idea從何而來?
首先要澄清一個問題,能做開源的并不一定是最優秀的人或者最牛的人,而是那些善于思考,并努力付諸實踐的人,所以不要因為技術不夠牛,沒有達到頂尖水平就放棄做開源,很多時候都是先有一個好的想法, 然后去學習要做成這個想法的所需技能, 在我看來, 入行一年就可以擁有做一個好的開源的能力。
創意來源1:從變化中尋求機會
在現在編程界尤其是前端,有一個很大的特點就是新東西出現的太快。變化快就會產生兩方面的影響,第一, 我們很自然的感受就是要不斷的學習,一天不學習好像就要被世界淘汰了,很多人很抱怨學不動了,(話鋒一轉),但是,你有沒有想過,正是有了變化,才有了機會,才能夠彎道超車。
具體到開源靈感來源(靈魂叩問):
我們在做iOS開發時需要日歷組件??,在做Android時需要日歷組件??,難道當flutter出來后,不需要一個好用的日歷組件??嗎?
我們知道PHP有Web框架laravel,Python有web框架 Django,那當Go出來的時候呢? 那當Node出來的時候呢? 或者還沒火的Deno語言呢,他們難道不需要一個web框架嗎?他們不需要相應的配套生態嗎?
react生態有某個組件,是不是能夠遷移到Vue呢?
簡而言之,當新的語言/框架/庫出現時,如果你認為是趨勢(有些賭博風險,他可能不火了),你可以借鑒其它語言/庫/框架,集眾家所長,針對此語言/庫/框架進行開發,相信是個不錯的選擇。
創意來源2:吐槽是你開源的契機
你有沒有在日常工作中吐槽xx組件/庫真是垃圾,真難用,要是我寫,肯定比他好一萬倍。 對,就是這個時刻,如果你發現自己在日常工作中使用的插件,組件,庫,工具不夠好用,有優化的空間時,記得拿筆記下,然后開始行動起來,相信你一定可以寫出比他好一萬倍的東西,祝福你祝?。
簡而言之,我們要吐槽,但不僅僅要吐槽, 更要思考改進空間是什么。
創意來源3:再一再二不再三原則
當你在寫某段邏輯時,寫了一遍,很正常; 當第二遍發現類似邏輯,拷貝一波,改改幾個參數名就可以了,可以接受; 但是當你又發現了一處類似邏輯,你就要考慮是不是可以抽象出一個方法/類/庫了。 當你抽象出來,放到你的項目后,如果挺不做,你就要考慮,是不是其他項目或者別人也需要類似一段代碼,如果你的回答是肯定的,恭喜你,你可以開源一波了!
簡而言之,在日常的開發過程,我們要養成don't repeat yourself的思維,從更高緯度抽象業務,久而久之你就能感覺自己的升華了。
創意來源4:從無到有、從有到優、從收費到免費
從無到有: 講道理,說實話,從無到有是比較難的,你很難在JQuery時代去想做一個MVVM的框架,封裝DOM操作,使用數據控制渲染;你很難在Node誕生前想象JS還能寫后端;你也很難想想人工智能時代,前端是怎么的狀態,但如果你想到了一個idea,他能做到之前技術做不到的事,又便捷又好用,恭喜你,你是新時代的創造者。
從有到優: 這個相對簡單一些,也對應著創意來源2,當你發現你有一個比現有解決方案更優(更快?更小?更強?更簡單?)的解決方案時,你就大膽的干吧(dayjs的故事)
從收費到免費: 看看你的電腦,有什么收費又好用的軟件? 再看看日常開發中,有什么公司花錢買的? 能不能在不侵犯別人的權益下做一個類似的免費的,開源的軟件,例如一個開源的小說網站,一個開源的flutter電商網站,一個開源的教育管理系統?
創意來源5:新需求
由于業務的推動,新需求就會產生新問題,就需要有新的解決方案,就像雷老板說的, 如果你是一頭^(* ̄(oo) ̄)^
, 但是站在技術風口編程的,相信都會被吹飛。 下面簡單總結了一下前端的幾個新需求:
- 微前端: 由于前端日益變得復雜和龐大,如果對前端系統進行有效的拆分和組合,值得思考;
- serverless: 大前端趨勢明顯,但 serverless 目前仍沒有較好的落地實踐,你是不是可以嘗試一波,并分享;
- less code: 市場競爭從由于To C轉到To B導致這兩年,管理系統類開源項目越來越收歡迎,但由于后臺系統的標準化和統一化,所以推出了很多通過可視化拖拽實現界面的,但讓沒有一方獨大,你可以嘗試;
- 人工智能:你不主動革命,就會有別人革你的命,如何用人工智能幫助前端實現升華,是一個思考的方向;
- WebAssembly: 講道理,不是很懂,但應該是趨勢。
創意來源6:資料的整理
這個嚴格來說不能算編程,但也是開源的一個好方向,即通過收集一個專題資料,實現開源項目: 例如 awesome-vue / awesome-mac / 電子書 / 掙錢 等等。
創意來源7:知識分享
你是不是也關注過某位大牛 xxx原理分析,xxx源碼逐行分析的倉庫,你是不是也將開過別人將GitHub Issue作為寫技術文章的,沒做,將GitHub作為技術分析分享和積累的地方,也是一個不錯的開源選擇。
講了這么多思路,你是不是也在腦海中閃現了一些想法,不要猶豫,趕緊行動起來,你和開源只差一個想法!
聽說看完文章點贊的人都變帥/漂亮了(?ω?) (o) (ΦωΦ*)
Github: https://github.com/dream2023