QCon 2015 閱讀筆記 - 移動開發最佳實踐

全部ppt下載地址:http://pan.baidu.com/s/1mg9o4TMgit

下面是移動開發實踐部分的閱讀筆記。github

 

移動開發網絡性能優化實踐 - 陳浩然 (攜程)web

 

攜程是很是標準的移動App架構,基礎是各類Infrastructure Frameworks, 基於上面是UI的控件庫,運行時的庫(猜想用於動態配置)。最上層是業務層面,各個App層能夠相對獨立造成業務模塊化。同時也是Hybrid的架構,有Web Container來實現WebApp的模塊。緩存

網絡服務性能優化

  1. Native
    • TCP鏈接 + 少許Restful HTTP
    • TCP長鏈接
    • 數據序列化

  2. Native網絡

    • 主要Restful HTTP

常見網絡性能問題架構

  1. DNS劫持、解析慢
  2. TCP connection:端口被封,鏈接超時設置
  3. 讀寫:超時設置,Proxy攔截
  4. 傳輸Playload過大
  5. 網絡環境複雜

優化實踐併發

  1. 優化DNS解析緩存:內置Server IP列表,並行DNS解析,Server IP列表權重機制
  2. 網絡質量檢測:根據網絡質量來改變一些策略 (TCP鏈接超時時長,TCP讀操做時長,網絡併發數)
  3. 提供網絡服務重發機制
  4. 優化海外網絡性能:CDN加速,動靜分離

網絡性能的監控:一切用數聽說話app

 

網絡服務新技術方向ide

SPDY&HTTP/2.0協議

QUIC協議

總結:攜程主要針對網絡層面各個環節進行了大量優化,提升了服務的成功率,下降了耗時,減小了數據的傳輸,減小了數據序列化的耗時。創建了一整套網絡服務監控實時系統,這樣作到有的放矢。展望了下將來網絡服務的新技術方向,新的網絡協議會帶來很是大的好處,讓人期待。

 

美團移動平臺背後的技術 - 陳曉亮(美團)

美團移動平臺主要由業務需求驅動,須要支持業務和平臺的同時擴展。

 

在代碼的組織方式上面採用的是CocoaPods

 

最終美團移動App的架構

 

移動時代用戶端問題高效診斷 - 馬玉明(騰訊)

馬玉明強調移動時代的客戶端問題的複雜性,沒有容易的定位方式。推出雲診斷服務,用戶能夠一鍵點擊完成反饋。

 

廣告時間:http://huatuo.qq.com. 有興趣嘗試的小夥伴們能夠試試看 :)

 

Rethinking of mobile app architecture - 郭虹宇(Geek-Zoo Studio)

移動技術發展的歷史

  • 1994:Web page (HTML+CSS)
  • 2008: iOS native app (C/OC)
  • 2011: PhoneGap hybrid app (HTML+CSS)
  • 2013: BeeFramework hybrid app (XML+CSS)
  • 2015: React-Native hybrid app (JS+CSS)

魚和熊掌的取捨:

  • Native: 複雜,發佈,更多平臺,更多人力投入
  • Hybrid: 很差的用戶體驗

Simi-Hybrid: get the best part of native and web, native framework+Web-core

 

核心的不一樣

  • Hybrid App: 最終的頁面呈現形式是"Painter",是在WebView中顯示web page
  • Semi-Hybrid: 最終的頁面呈現形式是"Buider"出native view, 經過Web-Core將輸入的HTML,JS, CSS轉換成爲Native View

後面開始廣告階段,介紹Samurai,核心思想和React-Native很是一致,都是將JS+CSS的語言轉換成Native view。

Style&layout

  • React-Native: JSX+CSS layout
  • Samurai: HTML+CSS 2/3

Touch handling

  • React-Native: UIView mask
  • Samurai: Gesture recognizer

Native Components

  • React-Native: 自定義的UI component
  • Samurai: 採用的是元素的component命名規範

開源項目:https://github.com/hackers-painters/samurai-native 

React-Native對於Web developer更加友好,Samurai對於Native developer更加友好。

 

Native和Web融合 - 鬼道(天貓)

天貓App大範圍採用Native和Web混合模式。首頁,搜索,詳情,交易等部分是Native實現,頻道、平常活動、大促等都是Web實現。

Native進行了大量代碼重構解耦,實現業務複用。

 

Web體驗的改進

經過打包系統,xList(解決長list佔用內存),性能監控,HybridAPI

 

React Native

天貓iPad版本率先嚐試了React Native,並得到很是好的結果。

結論:在內存/CPU/啓動時間,React Native和Native接近,優於Web。

根據規劃會在整個天貓App中進行大量的推廣。

 

總結:

  • 移動App的架構基本都是平臺化+業務模塊化,能夠保證重用性,並方便業務擴展。
  • React-Native很火,很是火!天貓App已經開始嘗試,並取得不錯效果。Samurai的跨平臺方案核心思想和React-Native極爲類似,對Native開發者更爲友好。看起來這股跨平臺旋風還要再刮會。
  • 網絡服務的優化,性能監控都是很是重要。一切以數聽說話!
相關文章
相關標籤/搜索