亚洲国产精品久久精品成人_国产步兵社区视频在线观看_国产不卡免费视频_午夜私人影院免费体验区

400-611-9921

當前位置:首頁 > 新聞資訊 > 建站知識
優(yōu)化移動Web產(chǎn)品的四個要點

2015-12-10

1968

世界范圍內(nèi)移動設(shè)備的使用數(shù)量在與日俱增。面對在跨越多個不同設(shè)備上創(chuàng)建良好web體驗的挑戰(zhàn),現(xiàn)在已經(jīng)存在多種解決方案。但是對于任何一個給定的項目,這些解決方案中哪個是最合適的?為了回答這個問題,《移動優(yōu)先》作者Luke以Bagcheck應(yīng)用作為案例(注:Bagcheck是一家從事搜索與發(fā)現(xiàn)業(yè)務(wù)的創(chuàng)新型企業(yè)),解釋了選擇分別設(shè)計移動版和桌面版背后的原因,并通過對比提煉出四個優(yōu)化移動Web產(chǎn)品的建議。全文如下:

本人是響應(yīng)式Web設(shè)計(Responsive Web Design)理念的擁護者和粉絲。但經(jīng)常有人這樣問我:為什么我們還要為Bagcheck單獨構(gòu)建一個獨立的移動版本,而不使用流體網(wǎng)格(fluid grids),彈性圖片(flexible images)和媒體查詢(media queries)等方法來為我們的移動用戶提供一個響應(yīng)式Web解決方案?

對于我們的Bagcheck站點來講,網(wǎng)站性能以及網(wǎng)站開發(fā)速度是兩個至關(guān)重要的問題。我們所做的決定中,很多都是為了使網(wǎng)站性能和開發(fā)速度兩者都盡可能的快(畢竟我們是一家新成立的企業(yè))。作為我們關(guān)注網(wǎng)站性能的一部分,我們也很注重“什么才是必須的”這樣的理念。這意味著我們需要向不同設(shè)備或者用戶呈現(xiàn)一些他們需要的東西。我們樂于做一些優(yōu)化工作。使用雙重模板系統(tǒng)(dual template system)我們就可以從以下多個方面進行優(yōu)化,比如資源順序(source order),媒體(media),URL結(jié)構(gòu)以及應(yīng)用程序設(shè)計。

最初我們以命令行接口(command-line interface)的形式構(gòu)建Bagcheck,在此基礎(chǔ)之上我們創(chuàng)建了一個移動Web體驗版的Bagcheck,接著很快就開發(fā)出了一個桌面Web體驗版的Bagcheck。這樣的過程很可能也影響到了我們所使用的開發(fā)方法。

另外值得一提的是,雖然自己能夠勝任編碼工作,但我主要是一個設(shè)計師。因為我關(guān)注的焦點是設(shè)計要素,所以在這篇文章里會盡量多的包含一些技術(shù)層面的資源鏈接,如果你有更多的資源和實現(xiàn)想法,趕快發(fā)給我吧!

資源順序(Source Order)

響應(yīng)式Web設(shè)計(Responsive Web Design)最為核心的部分是,將相同的HTML代碼應(yīng)用到不同的設(shè)備上面來,并且根據(jù)具體設(shè)備自身的性能來動態(tài)調(diào)整(主要是通過CSS)外觀顯示。HTML標記有一個資源順序,這個資源順序通常規(guī)定Web頁面如何被瀏覽器渲染。盡管可以使用JavaScript和CSS技術(shù)來改變HTML元素的位置布局,但想以一種可靠的方式在多種不同設(shè)備上面進行HTML元素重定位則非常具有挑戰(zhàn)性。

就拿網(wǎng)站導(dǎo)航菜單這個簡單的例子來說吧,對于那些擁有較大屏幕以及鼠標/鍵盤等輸入的設(shè)備來說,將導(dǎo)航菜單放置到網(wǎng)頁的頂部是很常見的做法,其原因有以下幾個方面:

  • 設(shè)備屏幕擁有足夠多的空白區(qū),頁面實際內(nèi)容不可能被擠出屏幕之外。
  • 通常需要通過一些關(guān)鍵的類別和動作集合來決定在網(wǎng)站上顯示什么內(nèi)容
  • 當這些關(guān)鍵的分類和動作集合與屏幕/瀏覽器的邊緣對齊時,訪問他們的速度可能會更快一些。將網(wǎng)站的整體導(dǎo)航放在在網(wǎng)頁頂部是很有意義的,所以標記資源順序就成為首先得考慮的問題。

然而在那些有著校小屏幕并且觸摸作為輸入的設(shè)備,將網(wǎng)站的整體導(dǎo)航放在網(wǎng)頁底部會更加合理一些,這是因為:

  • 小屏幕設(shè)備沒有足夠多的空白區(qū)域,導(dǎo)致網(wǎng)頁的實際內(nèi)容被網(wǎng)站的整體導(dǎo)航按鈕擠出屏幕之外。
  • 對于小屏幕和低帶寬的設(shè)備來說,相對于網(wǎng)站的導(dǎo)航功能,用戶更關(guān)注的是網(wǎng)站內(nèi)容的立即訪問。
  • 人類工程學(xué)的因素使得用戶更容易在屏幕底部點擊到他們感興趣的目標。

所以對于移動設(shè)備來講,將網(wǎng)站的整體導(dǎo)航按鈕放置在網(wǎng)頁的底部是非常合理的做法,這樣做就意味著菜單標記(menu markup)在資源順序中很可能是排在最后面的。當在不同設(shè)備上使用相同的HTML代碼時,資源順序不可能被改變。使用雙重模板系統(tǒng),我們在構(gòu)建Bagcheck的時候就可以提供不同的標記,因此在移動設(shè)備上就會有不同的資源順序。下圖展示的是我們?yōu)橐苿釉O(shè)備和桌面設(shè)備生成的兩種不同的UI界面。

當然你也可以使用其他解決方案,不用提供不同的HTML代碼也可以達到相似的效果。Box-direction能夠反轉(zhuǎn)條目列表的順序而不會影響到資源標記順序。你也可以嘗試使用display:table的方法來根據(jù)設(shè)備屏幕的實際大小重新生成內(nèi)容顯示和網(wǎng)站導(dǎo)航。這些方法可能會更適合你,就看你的需求了。

媒體(Media)

響應(yīng)式Web設(shè)計另外一個方法是使用彈性圖片(flexible images)和視頻。當被設(shè)置為填充他們?nèi)萜鞔笮〉母袷降臅r候,彈性圖像能夠根據(jù)瀏覽器視圖中的可用空白區(qū)來動態(tài)調(diào)整自己的大小。

在較大的瀏覽器視圖中,彈性圖片可以通過顯示自身的原始大小來填充更多的空白區(qū)域。在較小的瀏覽器視圖中,相同的圖片可以縮放自身大小從而占用較少的空白區(qū)域。為了實現(xiàn)這樣的效果,瀏覽器需要一些較大的圖片,這些圖片不管是在放大或者縮小的時候看起來都要有不錯的效果。

現(xiàn)在的問題是,圖像越大,文件的大小就越大。雖然并不是所有的Web瀏覽器都以他們的原始大小來顯示圖像,但瀏覽器需要下載整個圖片文件,這樣會很快導(dǎo)致低性能,除非這樣做:

  • 結(jié)合使用CSS Media Queries ,背景圖片不顯示,以及不要加載僅僅為較大瀏覽器視圖準備的大圖等方法。這種方法對于指定圖片標簽(image tags)的那些圖片是無效的,僅僅對使用CSS圖片背景的那些圖片有效果,這樣就限制了此方法的適用性。
  • 你可以使用像響應(yīng)式圖片(Responsive Images)這樣的解決方案,這種方法依賴Javascript語言來將HTML標記的小圖片根據(jù)瀏覽器視圖大小的增加替換成較大的圖片。禁用Javascript和cookie功能的瀏覽器只能夠顯示相應(yīng)的小圖片。
  • 嘗試類似noscript tag這樣的方法,來阻止不必要的圖片加載。
  • 使用服務(wù)器端的解決方案來檢測訪問你的站點的設(shè)備,并且只傳遞一些必要的東西。

隱藏在這些解決方案下面的相同理念是,使用media queries,背景圖片,JavaScript或者服務(wù)器端的解決方案等方法來僅向設(shè)備呈現(xiàn)必要的東西。這種方法可以顯著地減少文件傳輸大小并且提高網(wǎng)站性能。

舉個例子來講, Bagcheck的移動優(yōu)化模板為每個列表上的項目提供50×50像素大小的壓縮圖片(平均大小為3KB),而Bagcheck桌面優(yōu)化模板則為相應(yīng)的列表項目提供200×125像素大小的圖片(平均大小為15KB)。擁有20個表項也就是300KB大小的差異外加少于20個http請求的頁面對于網(wǎng)站性能有非常大的影響。我們擁有獨立的移動模板,所以就只需要在移動設(shè)備上顯示列表的前10個表項,這樣就可以另外減少30KB的負載。

桌面設(shè)備上一個分類頁面總共有360KB大小的圖片,而相應(yīng)地頁面在移動設(shè)備上只有30KB大小,這確實是個非常大的差異。

但是優(yōu)化圖片不僅僅是文件大小的優(yōu)化,你也可以為小屏幕設(shè)備精心設(shè)計一些顯示圖片,而不是通過縮放來適應(yīng)屏幕的大小。當圖片中的內(nèi)容很重要的話,這樣子做就顯得尤其重要。

同樣的系統(tǒng)可以用來優(yōu)化視頻顯示。在所有設(shè)備上,我們希望通過簡單的單擊操作就能夠完成視頻回放。所以我們的桌面模板將視頻文件直接嵌入到頁面中,而移動模板僅僅顯示一個縮略圖,兩者都只需要通過簡單的單擊操作就可以開始播放視頻。在移動設(shè)備上面使用縮略圖可以使得視頻加載速度更快,并且能夠更好地控制頁面布局/像素尺寸。

URL結(jié)構(gòu)(URL structure)

我們不僅僅只從資源順序(Source order)和媒體(Media)兩個方面來優(yōu)化移動版本的Bagcheck。在某些情況下,獨特的URL結(jié)構(gòu)將會對站點性能以及小屏幕低速連接的設(shè)備的用戶體驗產(chǎn)生重大的影響。

例如,桌面版的Bagcheck在一個URL上面顯示所有的內(nèi)容列表,評論,更新和偏好。我們將這些部分或者模塊捆綁在一個單一文件中,然后在無須刷新頁面的情況下動態(tài)加載每個模塊。這樣做可以在桌面體驗上產(chǎn)生一個平滑過渡,但在移動體驗方面就會增加許多帶寬負擔(dān)。

所以移動Web版本的Bagcheck使用不同的URL結(jié)構(gòu)。相同的URL加載相同的初始內(nèi)容,但是每個子模塊都擁有一個唯一的URL和一個獨立的頁面,如下圖所示:

在這個模型里,

bagcheck.com/bag/7811

在移動設(shè)備和桌面設(shè)備上加載相同的內(nèi)容,但是以下這些

bagcheck.com/mobile/bag/7811/updates
bagcheck.com/mobile/bag/7811/comments
bagcheck.com/mobile/bag/7811/likes

都是移動設(shè)備上才有的URL。使用這樣的結(jié)構(gòu),我們通過將較大的文件分成小塊就可以更進一步地優(yōu)化性能。另外值得注意的是,我們將這些移動設(shè)備特有的URL設(shè)置為“nofollow”,這樣搜索引擎就不會對他們進行索引。

應(yīng)用程序設(shè)計(Application Design)

URL結(jié)構(gòu)也可以幫助優(yōu)化移動設(shè)備上的擴展交互。將更長的任務(wù)或者多步/多模塊的應(yīng)用程序組織在不同的頁面上,可以讓用戶一次只處理一種交互。在較大屏幕上,通過模態(tài)對話框或者模

免費咨詢熱線

400-611-9921

020-29860991

聯(lián)系方式

地址1:廣州市天河區(qū)珠江新城邦華環(huán)球廣場16F

業(yè)務(wù) QQ:  3561401262

E-mail:  sales@zomsky.com

微信咨詢
官方微信
微信咨詢
在線咨詢
TOP

立即與縱天項目顧問通話

400-611-9921

您也可以咨詢我們的在線客服或預(yù)約資深顧問

信息保護中,請放心填寫
關(guān)閉
免費獲取方案