兩個月之前的國慶後,發佈了基於react-native的博客園android客戶端。那時的成都尚未被濃烈的霧霾包圍,街上也沒有五光十色的自行車。凜冬將至,ios版本的客戶端也終於趕在這個歲末發佈了出來。期間首先在個人破電腦上搭建了蘋果的虛擬機環境,而後沒有真機供調試,沒有開發者帳號...厚着臉皮找朋友一共向蘋果官方提交了五次,被拒了四次。再加之上述操做都是在業餘時間,因此ios版本的推出就拖到了如今。隨同該版本的發佈,早先的android版本也迎來了一些漂亮的更新。如下會對相關更新一併進行說明。html
實現功能
ios和android端實現的功能是一致的,均基於博客園開放的官方api接口。react
- 用戶登陸 & 登陸註銷 & 我的信息查看
- 博文列表 & 博文評論列表 & 博文評論添加 & 個人博文列表 & 博文離線 & 博文收藏
- 新聞列表 & 新聞評論列表 & 新聞評論添加 & 新聞離線 & 新聞收藏
- 閃存列表 & 閃存評論列表 & 閃存評論添加 & 新增閃存 & 個人閃存列表
- 博問列表 & 博問回答列表 & 博問回答添加 & 博問回答評論列表 & 新增博問 & 個人博問列表
- 收藏列表 & 收藏詳情查看 & 博問 + 新聞添加收藏 & 收藏刪除
- 離線列表 & 離線內容查看 & 離線清除
- 博文搜索 & 搜索結果詳情查看
- 經常使用設置
- 另外提供了問題和建議反饋的入口,能夠直接在應用內提交至做者的博客。
應用截圖
如下貼出部分ios端運行頁面,與android版本保持一致。android
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
應用特點
- 官方接口提供。數據獲取再也不經過hack式的html解析。
- 基於react-native構建。移動的模式,原生的體驗。
- android 和 ios 的代碼庫統一,兼容成本低。
- 緊跟時代的技術棧,react-native/redux/es6/fetch/...
- 源代碼開放。
版本更新(相對於早先推出的android版本)
- 升級react-native版本爲官方最新版本,應用運行更加穩定流暢。
- 新增回覆小尾巴設置開關及編輯功能。原有版本博文回覆時默認追加的【from rn-cnblogs】字樣,如今已經隨你處置了。
- 調整博文 & 新聞詳情頁的外鏈打開方式。再也不調用系統的瀏覽器,直接使用react-native提供的webview進行打開渲染。
- 修改原有的codepush熱更新方式,爲安裝包下載更新方式。不少朋友可能會吐槽了,react-native的應用居然不集成應用熱更新!其實,這個調整也是通過了諸多考慮。首先,原有版本集成的微軟出品的react-native-codepush,由於網絡緣由,服務不太穩定,甚至在個別狀況下會致使應用的網絡請求超時異常。其次,相似博客園這種資訊工具類客戶端,其實更新並不頻繁,況且是到了我這種懶人手上。阿里weex的推出,初衷也是爲了解決活動頁的頻繁更新和迭代。最後,我不再想在控制檯看到codepush驚悚的更新回滾比例了。對熱更新感興趣的朋友,依然能夠到源代碼庫裏面查看註釋掉的codepush相關代碼邏輯。
- 諸多顯示細節調整。
由於再也不維護codepush的更新源,因此建議android版本的老用戶均經過本文後面的下載連接,升級至最新版本。ios
五,附加說明
這裏提示一些隱藏的比較深的功能^_^。git
- 首頁列表向下划動,頂部會出現搜索入口
- 我的收藏 & 離線記錄 & 閃存列表項長按,會彈出刪除入口。
下載入口
ios
qrcode
![](http://static.javashuo.com/static/loading.gif)
appstore
https://itunes.apple.com/cn/app/bo-ke-yuan-she-qu/id1176047767?l=zh&ls=1&mt=8es6
android
qrcode
![](http://static.javashuo.com/static/loading.gif)
download link:
http://fir.im/togaythergithub
注:由於fir每日有應用下載限量。如遇沒法下載的狀況,可經過如下備用連接,直接下載apk:
http://123.56.135.166/cnblog/public/apk/react-native-cnblogs_v3.5.0.apkweb
源碼相關
https://github.com/togayther/react-native-cnblogsredux
本地運行的話,請參照上述源碼庫的文檔說明。須要特別說明的是,由於博客園提供的接口調用時須要通過oauth受權,因此須要向官方申請相關的受權文件(ClientId, ClientSecret,rsa加密公鑰等),出於安全方面的考慮,上述代碼庫對相關的信息進行了屏蔽。在使用過程當中有任何問題或者建議,歡迎提交issue或在本博文下留言,做者會第一時間進行回覆。react-native