解密鐵路12306手機客戶端的開發技術
"鐵路12306"首日用戶近20萬,360手機助手下載量超17萬,這一下載量說明了國人對于購買火車票的迫切希望吧,希望通過各種方式購得千金一票。 但是,調查分析,有近兩成的用戶對此手機app不滿意,下面就為你解密鐵路12306手機客戶端的開發技術,從中分析一下為什么人們期待已久的12306 app不讓人滿意。
鐵路12306并沒有采用傳統的原生開發的方法, 而是采用的ibm的基于html、js、css的混合app開發技術。下面補充一下原生app、web app、混合app:
什么叫做原生App?
原生App是專門針對某一類移動設備而生的,它們都是被直接安裝到設備里,而用戶一般也是通過網絡商店或者賣場來獲取例如 The App Store 與 Android Apps on Google Play .
隨便說幾個原生App的例子,比如iOS 的 Camera+ 以及Android 的 KeePassDroid
什么叫做移動Web App?
一般說來,移動Web App都是都是需要用到網絡的,它們利用設備上的瀏覽器(比如iPhone的Safari)來運行,而且它們不需要在設備上下載后安裝。
什么是混合app?
Hybrid App是指介于web-app、native-app這兩者之間的app,它雖然看上去是一個Native App,但只有一個UI WebView,里面訪問的是一個Web App,比如街旁網最開始的應用就是包了個客戶端的殼,其實里面是HTML5的網頁,后來才推出真正的原生應用。再徹底一點的,如掌上百度和淘寶客戶端 Android版,走的也是Hybrid App的路線,不過掌上百度里面封裝的不是WebView,而是自己的瀏覽內核,所以體驗上更像客戶端,更高效。
綜合一下就是:“Hybrid App同時使用網頁語言與程序語言開發,通過應用商店區分移動操作系統分發,用戶需要安裝使用的移動應用”。總體特性更接近Native App但是和Web App區別較大。只是因為同時使用了網頁語言編碼,所以開發成本和難度比Native App要小很多。因此說,Hybrid App兼具了Native App的所有優勢,也兼具了Web App使用HTML5跨平臺開發低成本的優勢。
下面看一下混合app的目錄結構:
MobileTicket.html這個頁面就是主頁啦,用瀏覽器打開看一下:
看一下瀏覽器效果是不是跟你手機上的一樣啊!
ss.html頁面應該是測試的頁面,效果如下:
這是css文件夾下的樣式文件:
這是圖片資源文件:
這是js文件:
這是html的文件:
來自:http://my.oschina.net/u/656993/blog/183194