iOS用戶端開發與Web前端開發

來源:互聯網
上載者:User

標籤:

轉載自:http://blog.cnbang.net/tech/1813/
不知不覺做iOS用戶端開發已經半年多了,瞭解到iOS用戶端開發與Web前端開發的一些異同,寫一下。

  1. 版本升級。使用者角度上看,用戶端升級必須讓使用者手動下載整個新的安裝包覆蓋安裝,而web的升級無需使用者做任何事情。開發角度上看,如果用戶端有個小bug需要緊急修複,需要修複完後打包一個完成的安裝包,給一個版本號碼,發布給使用者升級。而web只需要修改背景某些檔案,然後傳到自己的伺服器,用多快速的反覆式開發法方式都沒問題。web沒有版本相容性問題,用戶端這個問題就大了。
  2. iOS用戶端用編譯語言,web用指令碼語言。編譯語言好處:很多錯誤編譯期就知道,不用擔心類似寫錯一個字母導致的問題。iOS用戶端開發只能用XCode,無法選用自己喜歡的編輯器。使用指令碼語言的web無論前端後端對編輯器的選擇都很自由。
  3. 用戶端一碰到異常就崩潰,直接退出,web一個try catch可以把所有錯誤抓住,使用者可以繼續使用其他不受影響的功能,即使所有功能都受影響,重新整理頁面搞定一切。web上介面和程式實實在在地分離了,用戶端再怎樣都是粘合在一起的。
  4. 發現HTML+CSS樣式布局自動排文相當進階,用戶端上一切都靠程式去指定大小位置以及排列的變化,可視化的XIB挺雞肋。
  5. 單線程的web很幸福,用戶端要處理多線程,雖然強大,但很麻煩。web幾乎不用考慮記憶體流失,用戶端需要。用戶端開發可以使用到很底層的介面和功能。web處於較上層,在瀏覽器的包裹下,好處是很多問題瀏覽器處理web不用管,壞處是功能受限。
  6. web和用戶端開發差不多都使用類似MVC的模式,資料通過控制器更新到各個視圖。web多用callback,iOS多用delegate,雖然iOS也可以用block作為callback,但還是沒js方便,還可能導致一些記憶體問題。

總的來說從開發普通應用來看,就算不談跨平台,web開發也是好處多多,但這隻是開發角度上看,實際上行動裝置上webApp狀況始終不好,與原生用戶端差距很大,原因:

  1. 網路不行,流量要錢。國內網路環境大家懂的,雖然HTML5有manifest,storage這些手段緩衝webApp,但給人感覺就是不靠譜,開啟它還是跟開啟一個網頁一樣的感覺:耗流量,還有可能在網路不好的情況下打不開,沒有像已經下載下來的原生APP踏實。
  2. 動畫/體驗。一般的web在頁面間切換或顯示隱藏某個組件是沒有動畫的,大家也習慣了,iPhone帶了個頭,一切都要動畫過渡,導致在行動裝置上大家習慣了動畫切換,受不了沒有動畫的應用,導致動畫效能底下的webApp至今體驗上遠不如原生用戶端。
  3. 把webApp通過safari添加到主畫面這樣的習慣非常不普及,極少人知道,不過這個應該也不算問題,若沒有上面兩個大問題,這個習慣很容易普及的。

P.S 在開發普通應用(資料處理/互動)方面,web有很大的優勢,在網路和效能問題解決後理應是首選開發方式。但在遊戲領域我看不出web有什麼優勢,繼續對有點熱的HTML5遊戲開發表示不解。

iOS用戶端開發與Web前端開發

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.