只是想把最近移動平台web開發的一點經驗和大家分享下。
1.iScroll控件
這個控件可以說是非常不錯的一個使用mobile webkit開發的一個實現滑動效果的控件。官方網站:http://cubiq.org/iscroll
它是純粹的js寫的,不依賴其它js框架。下面幾個例子是在ipad的Safari的效果:
輪播圖:
滑動效果(類似於新浪微博的客戶端,向上滑動異步加載):
類似於ios的日歷控件:
你可以基於iscroll,擴展很多插件。
2.移動開發的一些事件
在移動開發中,對於很多js的事件還是和傳統的開發是有區別的,
比如:$(document).bind(‘click’,function(){
// do something here
});
在移動開發中這個絕對是不起作用的,你需要使用touch事件;
比如:$(document).bind(‘touchend’,function(){
// do something here
});
相應的還有touchmove等等。
對於一些DOM控件的操作,比如$(#ID).live(‘keyup’,function(){
// do something here
});
這個一般別用,可能是jquery的原因,它特容易讓Safari瀏覽器崩潰。一般的都是換成oninput事件。
3.移動開發的框架
我個人覺得對於目前的網速以及各個公司的javascript人員的水平限制,如果你想做移動平台web開發,千萬要注意別使用jquery mobile,會死的很慘的。主要還是去試着使用webkit和CSS3的很多新特性來實現一些效果,目前網上一些mobile web開發平台都不是很成熟。如果自己不是js牛人,項目中盡量別去做js的框架設計,就算你對jquery很了解。
由於很多.net開發人員對javascript不是特別熱愛,沒有足夠的耐性去寫js,所以當一起進行web開發時,盡量去多指導js菜鳥,不然最后的代碼可以說是沒法維護的。
4.內容的顯示和加載
如果是移動平台開發,那相應的一定是一個頁面來顯示內容,這樣會有很好的用戶體驗。涉及到很多的頁面,或者內容的切換。這時候模塊的緩存和異步加載就顯得很重要,一個好的加載模式是很難的。推薦使用knockoutjs,或者jquery template這樣的框架來使不同模塊內容的分離更加容易。
回頭再和大家分享。