個人項目推廣

一時興起,搞了自己的開源項目或者是個人博客出來,雖然出發點常常並不是要利用這些得到多大的好處,而僅僅是出於一種保存曾經戰鬥過的地方的習慣,或者隨手總結記錄,以彌補隨着年齡的增長而變得越來越差的記憶的不足,但如果自己搞得這些東西能被更多的人看到,能夠幫助許許多多有需要的同學,並和全世界各地的廣大開發者一起交流,那麼對於寫代碼、寫文檔時孤寂的心倒也不失爲一種很好的慰藉。將個人項目推廣一下,爲更多人所用,從個人角度而言,可以從中獲得成就感,或者其它一些潛在的收益,從全社會而言,則是知識有了更多的沉澱,更多得人得到了幫助。

1.jpg

筆者目前維護着多個 hosting 在 GitHub 上的開源項目,和多個個人博客。“不要重複製造輪子” 的聲音時時在耳邊響起,筆者的大多數個人開源項目都是基於前人已有的一些工作成果來完成的。開天闢地的顛覆式創新是偉大的,而一點一滴的微小改進,對現有事物的微創新也一樣是有價值的,說不定從一個個的微創新的積累之中,也能產生不錯的作品,所謂由量變到質變,積小流以成江河,積跬步以致千里是也。

筆者目前維護的開源項目主要有如下這些:

  • ht-candywebcache-android:這是公司項目,是一個我們團隊從零開始完整地開發出來的項目。它是一個移動端 Web 資源的本地緩存解決方案,能夠攔截 WebView 的請求,優先使用本地緩存靜態資源進行響應,以此來對 WebView 加載頁面性能進行優化。在優化頁面加載速度,以及移動端應用 Web 資源訪問的流量消耗上面極具價值。

  • brotli-android:這是 Brotli 壓縮算法的 Android 封裝庫,它由 Google 的 brotli 項目的 C 代碼移植封裝而來。Brotli 是 Web 中一個在各方面表現都比較不錯的壓縮算法,這個庫使我們可以將 brotli 算法應用在我們的 Android 應用中。

  • chromium-net:這個項目基於 Chromium 瀏覽器的網絡模塊創建。它主要剝離了 Chromium 的網絡庫及其依賴的一些庫和工具鏈,對原有的代碼做了一點點功能上的優化,並做了簡單的封裝以用於 Android 端。受益於 Chromium 網絡庫本身的強大,這個庫在網絡方面功能強大,它可以很好地支持 HTTP/2 和 QUIC 這樣一些比較難找到移動端實現的協議。

  • libcurl-for-android:桌面/服務器網絡編程利器 libcurl 的 android 移植封裝,已通過包含 OpenSSL 內置提供對 HTTPS 的支持,且通過包含 nghttp2 以提供對 HTTP/2 的支持。這個項目對於已經熟悉了 libcurl,並想把它用在 Android 開發中的同學會比較有價值。

  • LeakTracer:Android native 層代碼內存泄漏問題調試利器。由 Linux 平臺 C/C++ 代碼內存調試開源項目 LeakTracer 經移植、改進而來。這個工具對於分析、解決 Android 端本地層代碼中的內存泄漏非常有價值。

  • stund:stund 是一個 STUN 協議的實現,但它有一個限制,就是必須部署在擁有兩個公網 IP 的機器上。這個限制給當前在雲主機上的部署造成了極大的困擾。這個項目對 stund 的實現做了一點小小的改動,以方便在多臺主機上部署。

筆者目前維護的個人博客主要有:

本文記錄筆者在個人項目推廣方面所做的一些嘗試。

開源項目的文檔要儘可能齊全

爲了方便有需要的同學能夠更快地上手我們的項目,文檔需要儘可能的齊全。

ht-candywebcache-android 這個項目,在開源初期,只放了 Readme 文檔以介紹項目的接入方法及基本用法。後來考慮到,還是應該幫助用戶對我們的項目有更多更深的理解,於是以 Wiki 的形式放了設計文檔,SDK 與服務器的通信協議文檔,Diff 方式的詳細說明文檔等。

chromium-net 這個項目,最初同樣只放了 Readme 文檔,後來想起來,又以 Wiki 的形式補充了發在博客中,與這個項目有關的一些文檔,比如代碼分析,構建工具使用說明,開發環境配置等。

在問答社區回答相關的問題

爲了使自己的項目得到更多的認識和關注,筆者曾嘗試在如下的問答社區搜索或回答與項目有關的問題:
* 在 oschina 問答社區 集中搜索並專門回答過關於 libcurl for android 的問題;
* 在 SegmentFault 上搜索過相關的 topic;
* 在 Stack Overflow 上搜索並回答過關於 libcurl for android 的問題,然而,可能回答中推廣自己項目的目的過於露骨,回答被社區刪除,並被封號,好尷尬;
* 在 知乎 搜索並回答過關於 flatbuffers 和 QUIC 協議相關的問題。

在項目集合中添加自己的開源項目

目前有一些開源的項目,或網站專門收集各種開源項目,分門別類,以方便開發者使用。筆者知道的比較流行的這類項目或網站有如下這些:

awesome-android-ui:大名鼎鼎的 awesome-android-ui,彙集了非常多的 Android 開源 UI 控件項目,以方便開發者使用。如果要推廣的開源項目正好是 Android UI 方面的,則嘗試將項目的相關信息放進 awesome-android-ui 中不失爲一個不錯的注意。

codekk:在 Trinea 的博客看到由它維護的站點,用於收集開源項目。前面列的幾個項目,都有加進這個站點。

碼庫CTOLib:這個網站與 codekk 類似。這個似乎主要是自己分析 GitHub 項目的活躍度然後主動收錄。自己可以提交自己的項目,不過入口略有點隱蔽。註冊了帳號之後,在 個人主頁,頁面的下方有 聯繫我們,然後可以點擊 加入我們(這個地方讓人覺得好像是在給他們投簡歷一樣,但實際上是提交項目的入口)。然後點擊 我要分享,填寫項目相關的信息分享項目,隨後站點會做一個審覈。感覺這個站點做的體驗比較差一點,做審覈不給出任何提示。審覈成功之後,可以通過這個站點的入口,看到項目的相關信息。

開源中國-開源項目:開源中國的開源項目頻道。感覺它是開源項目集合中做的體驗最好的一個。可以自己提交項目,但需要審覈。前面列出的幾個項目都提交了,但其中有兩個由於文檔太少,被拒收。

通過個人博客推廣開源項目

筆者的 個人博客,有把一些項目的介紹性文檔,作爲博文放進去,以方便更多人看到並瞭解我們的開源項目。

經過對上面這些開源項目推廣方法的嘗試,筆者維護的幾個開源項目的 stars 數,在一段時間之內有了比較大的提升,準確地說是從幾個,增長到接近 200 個。

個人博客推廣

對於個人博客的推廣,也有一些方法可以嘗試。首先是 SEO 優化,主動地將我麼網站內容提交給 Google,Baidu,Bing 的訪問量比較大的搜索引擎。其它更多 SEO 優化的方法,感興趣的同學可以自己尋找。

此外,在自己註冊的各個網站的個人資料中,寫上自己的個人博客主頁的地址,筆者的 簡書個人主頁GitHub 主頁知乎主頁,這樣可以爲我們的網站引一些流量。通過百度的網站分析可以看到這一點。

將我們的博文鏈接分享到 QQ 空間、微博、脈脈及加入的一些業內的技術交流 QQ 羣也是個不錯的注意。筆者感覺,微信朋友圈是一個比較私人的場合,博文的主題主要是技術相關的內容,因而筆者不常在微信朋友圈分享博文。

開發者圈子中,維護自己的博客的朋友很多,而大多又都是比較好的人,樂意共同推動開發者社區的發展,因而嘗試與其它開發者互換友鏈也是不錯的注意。筆者的個人主頁與 螞蟻網 互換了友鏈。

掘金 這個網站,當前在 http://alexa.chinaz.com 查到的全球綜合排名是 9275 位,日均訪問 IP 10W 左右,日均 PV 25W 左右。這個網站本身目前的流量還是比較可觀的。掘金爲我們提供了一個 分享鏈接 的功能,通過這個功能,我們可以把我們的項目主頁、博客主頁或者文章鏈接發佈出去。

用於內推和招人的開源項目 這個項目,可以爲我們發佈職位招聘信息提供一些方便。

Done.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章