凜冬將至,博客園react-native客戶端ios版本發佈

兩個月之前的國慶後,發佈了基於react-native的博客園android客戶端。那時的成都尚未被濃烈的霧霾包圍,街上也沒有五光十色的自行車。凜冬將至,ios版本的客戶端也終於趕在這個歲末發佈了出來。期間首先在個人破電腦上搭建了蘋果的虛擬機環境,而後沒有真機供調試,沒有開發者帳號...厚着臉皮找朋友一共向蘋果官方提交了五次,被拒了四次。再加之上述操做都是在業餘時間,因此ios版本的推出就拖到了如今。隨同該版本的發佈,早先的android版本也迎來了一些漂亮的更新。如下會對相關更新一併進行說明。html

實現功能

ios和android端實現的功能是一致的,均基於博客園開放的官方api接口。react

  • 用戶登陸 & 登陸註銷 & 我的信息查看
  • 博文列表 & 博文評論列表 & 博文評論添加 & 個人博文列表 & 博文離線 & 博文收藏
  • 新聞列表 & 新聞評論列表 & 新聞評論添加 & 新聞離線 & 新聞收藏
  • 閃存列表 & 閃存評論列表 & 閃存評論添加 & 新增閃存 & 個人閃存列表
  • 博問列表 & 博問回答列表 & 博問回答添加 & 博問回答評論列表 & 新增博問 & 個人博問列表
  • 收藏列表 & 收藏詳情查看 & 博問 + 新聞添加收藏 & 收藏刪除
  • 離線列表 & 離線內容查看 & 離線清除
  • 博文搜索 & 搜索結果詳情查看
  • 經常使用設置
  • 另外提供了問題和建議反饋的入口,能夠直接在應用內提交至做者的博客。

應用截圖

如下貼出部分ios端運行頁面,與android版本保持一致。android

  • 登陸(這裏的輸入體驗有待優化^_^)

  • 首頁

  • 導航

  • 我的中心

  • 詳情

應用特點

  • 官方接口提供。數據獲取再也不經過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

appstore

https://itunes.apple.com/cn/app/bo-ke-yuan-she-qu/id1176047767?l=zh&ls=1&mt=8es6

android

qrcode

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

相關文章
相關標籤/搜索