天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

Web移動應用開發框架的8個技術構想

  之前我們已經介紹過四大主流移動Web開發框架,今天我們再次深入,探討Web移動應用框架需要具備的技術特性和理念。目前雖然已經有諸如iUI、jQTouch、WPTouch、PhoneGap、XUI、iWebkit等Web移動應用開發框架,但在移動這個領域畢竟剛剛起步,需要更多技術人員對其修正和思辨。下面這篇文章來自騰訊WSD團隊博客,為我們梳理了移動Web開發框架的技術構想。

  iUI、jQTouch、WPTouch、PhoneGap、XUI、iWebkit、Rhodes、gwt-mobile…當我們已經開始驚嘆web移動應用充斥著各種各樣框架與類庫的時候,其實各大web框架才剛剛開始他們的移動領域:Yahoo的YUI3.2的Touch版、jQuery的 jQueryMobile、ExtJS整合JQTouch和Raphaël庫推出的Sencha Touch框架。

  ExtJs更名為Sencha的確讓我震驚不少,畢竟自己也曾是ExtJs框架的粉絲,如此重量級的框架忽然掉頭往mobile touch的方向發展,確實不是一件易事,我們也不禁驚嘆移動應用所帶來的重大改變。

  在這里我并不是想跟大家介紹各種web移動應用框架的用法介紹和性能對比。只是受ExtJs的影響,以及想知道自己到底去到一個什么程度,以及更好的積累沉淀下前端的經驗,于是我開始構想一個好的web移動應用框架應該如何如何,并開始嘗試著手實現。重復造輪子只是強迫自己更深入地去了解這個領域,并不是自大到要挑戰什么。于是分析對比了下,總結如下:

  1.輕量級

  這個應該是移動應用框架里最重要的一點,不要想著3G的普及還有wifi啥的,國情就是國情,要大部門用戶在3秒內下載完你那100K的css和js文件是強人所難。因此我們的移動應用框架必須盡可能的輕量化,所有的命名和函數實現方法都要盡可能的簡練和高度壓縮。拋掉那些PC上web應用的特效和組件吧,不要為了一個菜單效果把7,80K的jQuery.js加在你的頁面上。

  2.主流手機瀏覽器兼容性

  面對如此多的手機平臺和瀏覽器,要你的移動應用在所有瀏覽器上表現如一是很困難的,有時候你需要對不同瀏覽器加載不同的樣式文件,又或是運行不一樣的函數來實現效果。因此我們的框架必須有能識別各種主流瀏覽器的方法,具體點,你的框架必須能區分如iPhone、iPad、Android、Windows Phone等,OK,再國情化一點,QQ手機瀏覽器和UCWeb。最后要注意的是這里盡量不用UA的方法來判斷,因為各瀏覽器的 avigator.userAgent都很不可靠,這里可以參考下mooltools判斷瀏覽器的思路,應用到我們的移動領域上。

  3.強大的選擇器

  選擇器可以說是一個框架靈魂,在將來的web移動應用中會大量使用CSS3的高級偽類,因此我們的框架必須能盡快遍歷定位到盡可能多的HTML5標簽和CSS3的偽類,哪怕是像E:first-of-type這種jquery選擇器都不支持的結構。

  4.頁面動畫效果

  與桌面web應用不同的是,移動應用在頁面的切換效果方面要炫的多,比如:滑動切換,遮罩彈出,漸入漸出,閃屏,iPhone上的zoomin,zoomout效果等。看看CSS關于fadein和zoomin動畫的定義:

  再看看JS端對頁面切換的處理:

  5.Ajax解析

  移動設備瀏覽器受性能和帶寬限制,ajax的應用也與桌面應用有較大的區別,因此低帶寬和易用性就成了ajax應用的目標,最典型的例子就是翻頁,哈,一絲一毫的帶寬都不能放過,這方面可以參考下iUI的思想。

  6.手勢操作

  這就是Touch,一個給移動互聯網帶來革命的事件。把mouseOut、mouseover這些桌面相關的鼠標事件從你的移動框架里去除吧,與之替換的是各種Touch和Gesture(手勢)事件:

◆touchstart : 手指放在屏幕上時觸發

◆touchend : 手指離開屏幕時觸發

◆touchmove : 手指在屏幕上移動時觸發

◆touchcancel : 取消Touch事件(這個貌似是系統觸發的)

◆gesturestart : 開始手勢事件

◆gestureend : 停止手勢事件

◆gesturechange : 改變手勢事件

  監控Touch操作,我們需要利用Touch事件相對于整個頁面視圖的X軸和Y軸位置來定位(PageX、PageY),并重載默認的Touch事件來擴展我們的需求,對于沒有Touch支持的瀏覽器,我們依然可以重載相應Mouse事件,而Gesture(手勢)事件由于需要兩根手指觸發的放大、縮小、旋轉,鼠標是無法模擬,比如下面使用CSS3的webkitTransform樣式屬性縮放和旋轉一個對象Box:

  7.重力感應

  當然,一般的應用很少會用到重力感應,它更適應于游戲方面。對于瀏覽器更多的是正屏與側屏的區分。我們要做的就是重載瀏覽器默認的resize監控事件并對正屏和側屏做出相應的操作處理。

  8.離線存儲

  由于手機網絡的特殊性,離線存儲技術就變得相當重要,相關的API可以看看W3C提供的有關Client-Side的描述。Client-Side提供了3種離線存儲的方案:

◆Database storage : 數據庫

◆Local storage : 本地儲存

◆Session storage : 區段儲存

  我們的框架必須能很好的封裝這3種離線存儲方式,提供一個方便易擴展的API,比如storage能直接儲存JSON參數數據段,就好像下面的Demo:

  以上這些構想可以整理成下面的框架結構圖:

  當然,這僅僅是個開始,關于移動應用框架的構思還待我們進一步深入挖掘。

it知識庫Web移動應用開發框架的8個技術構想,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲 综合 欧美在线视频 | 国语自产视频在线不卡 | 国产成人精品s8p视频 | 日本美女靠逼 | 国产毛A片久久久久久无码 国产毛A片啊久久久久久A | 午夜一区二区三区 | georgielyall装修工 | 漂亮妈妈中文字幕版 | 久久免费精品国产72精品剧情 | se01国产短视频在线观看 | 欧美三级在线完整版免费 | 伊人久久大香线蕉综合电影 | 国产在线观看免费观看 | 被同桌摸出水来了好爽的视频 | 欧美日韩精品一区二区三区高清视频 | 视频一区亚洲视频无码 | 欧美高清一区二区三 | 四虎永久在线精品国产 | 久久综久久美利坚合众国 | 午夜福利电影网站鲁片大全 | 国产欧美一区二区精品久久久 | 爱穿丝袜的麻麻3d漫画acg | 被高跟鞋调教丨vk | 久久成人精品免费播放 | 亚洲另类国产综合在线 | 日本精品无码久久久久APP | se01国产短视频在线观看 | 国产激情精品久久久久久碰 | 免费精品一区二区三区在线观看 | 99在线观看视频免费 | 一攻多受高h大总攻 | 国产传媒18精品免费1区 | 亚洲免费人成在线视频观看 | 国产在线观看网址你懂得 | 97资源站超碰在线视频 | 强开乳罩摸双乳吃奶视频 | 91日本在线观看亚洲精品 | 国产精品路线1路线2路线 | 国产成人精品久久一区二区三区 | 久久精品嫩草影院免费看 | 亚洲免费综合色视频 |