個人開源項目從0到1024的過程

GitHub:全球最大的代碼託管平臺

第一次作開源項目,從0到1024個star數量經歷了一個多月的開發和維護,重新手到入門(至於以後的階段,我也還在摸索中)。在這裏我就來分享一下個人經歷吧,但願可以對想作開源可是沒行動的小夥伴有所幫助。git

項目地址:https://github.com/CymChad/BaseRecyclerViewAdapterHelpergithub

1024

爲何作這個項目?

最近一段時候在編寫項目(APP應用)的時候使用列表控件頻率很是高,寫着就發現不少代碼冗餘了,因而就想封裝一下,開始作起了代碼優化,以前作過相似的優化,因而根據以前的優化經驗,最終代碼量獲得了大幅度的優化。只要原有代碼量的30%便可完成顯示功能,後來隨着項目需求的增長不斷的完善封裝,使得只須要簡單的幾行代碼就能夠完成的需求(如:添加頭部尾部、添加列表動畫、等等)。最終造成了一個還不錯的基類,本着分享的精神就上傳到了GitHub上面。框架

  • 目的:讓更多開發者加入開發,把這個項目作的更強大,使更多人受益。佈局

在github上面沒有查找到有知足個人需求的開源項目,我才造輪子的。優化

切入點

解決實際問題動畫

  • 優化Adapter代碼(減小百分之70%代碼)spa

  • 添加點擊item點擊、長按事件、以及item子控件的點擊事件.net

  • 添加加載動畫(一行代碼輕鬆切換5種默認動畫)事件

  • 添加頭部、尾部、下拉刷新、上拉加載(感受又回到ListView時代)ip

  • 設置自定義的加載更多佈局

  • 添加分組(隨心定義分組頭部)

  • 自定義不一樣的item類型(簡單配置、無需重寫額外方法)

  • 設置空佈局(比Listview的setEmptyView還要好用!)

除了解決問題,還有就是讓更多人知道,因此接下來就是「推廣」。

推廣

個人方法是經過寫做平臺去推廣,寫一些文章關於該項目的

  • 使用方法(便於讓開發者理解它的簡單使用以及強大的功能)

  • 原理分析(讓更多開發者學會它,加入開發,也能夠收到更好的反饋)

我用的寫做平臺有(你也能夠選擇更多,多多益善):

寫完以後再發連接到分享平臺(你也能夠選擇更多,多多益善):

這些都是開發者平時比較關注的平臺(你也能夠選擇更多,多多益善)。

推廣後,開發者就會進入你的項目首頁因此接下來看的就是「README.md」的編寫。

README(自述文件)

個人README(英語版、中文版),它的結構:

  • gif案例效果

  • demo下載方式

  • 框架導入方式

  • 框架使用方式

效果(看)=》demo(玩)=》源碼(用)

當開發者使用事後就要想到後續的「開發及維護」

開發及維護

有任何需求能夠在github提issue,(bug我一般在24小時內就會解決)可是很重要的一點是,因爲每一個人的精力都是有限的,作開源項目都是用的業餘時間,因此要尋找小夥伴一塊兒來維護項目,因此我就建了一個Q羣(目前134人),讓感興趣的開發者加入進來,一塊兒來完善,造成一個圈子,這樣遇到問題的人多了,天然解決方法就多了,最開始也許都須要問我,可是到了如今,已經有不少成員會主動的去幫助新入羣的小夥伴解決問題了,造成了一種解決問題的氣氛。

入羣門檻:star個人項目,爲何呢?

  • 有門檻,都有人加入的話證實加入者求知慾強。

  • 肯定star了個人項目,確定看過源碼或者用過個人項目,這樣入羣后纔有更深刻技術的交流,羣裏面內容質量纔可以獲得保障。

  • 選拔人才,從使用者中選擇,讓他們加入開發或維護,這樣才能把這個東西作好作大。

開源項目的好處

  • 幫助本身的同時,幫助了別人

  • 結交志同道合的朋友

  • 收穫反饋,技術提高

總結

其實作開源項目並不難(我行,你也行!)主要是要邁出第一步,而後及時接受反饋,不斷知足用戶需求!我建議你們都去開源實踐,不管你的技術如何,分享是互聯網的一種精神,獻出本身的一份代碼,幫助更多人吧,也許你曾經使用過別人的開源框架,而如今你也開源以一樣的方式獻出本身的一份力量,不管結果怎樣,你總會有收穫。

若是你是Android開發者,歡迎加入個人開源項目:[傳送門]

相關文章
相關標籤/搜索