Android Web App官方文檔翻譯第五章:最佳實(shí)踐
1. 將來自移動設(shè)備的請求重定向到專門為移動端設(shè)計(jì)的Web版本
有好幾種方式可以讓你使用服務(wù)端的重定向?qū)⒄埱笾囟ㄏ虻侥愕膚eb站點(diǎn)的移動版本上去。最常見的情況是通過“嗅探”(”sniffing”)web瀏覽器提供的用戶代理字符串(User Agent string)。為了確定是否要提供一個你的站點(diǎn)的移動版本,你只需要在User Agent中尋找“mobile”字符串即可,它可以與很多移動設(shè)備匹配。如果需要的話,你還可以在用戶代理字符串中找到特定的操作系統(tǒng)(比如Android 2.1)。
注意:大屏幕的Android設(shè)備需要全尺寸的網(wǎng)站(比如平板電腦),因此在user agent中不包含“mobile”字符串,但它的user agent的其他部分基本是一樣的。由于這種情況的存在,你在發(fā)送你的站點(diǎn)的移動端頁面的時候,一定要確認(rèn)user agent中是否包含“string”字符串。
2. 使用合適于移動設(shè)備的有效的DOCTYPE標(biāo)記
為移動站點(diǎn)設(shè)計(jì)的最常見的標(biāo)記語言是 XHTML Basic。這一標(biāo)準(zhǔn)確保了特定的標(biāo)記可以在移動設(shè)備上有最佳表現(xiàn)。例如,它不支持HTML框架或是嵌套表格,因?yàn)檫@些在移動設(shè)備上表現(xiàn)都很糟。除了聲明DOCTYPE,還要聲明合適的字符編碼(比如UTF-8)。
例如:
- <?xml version=”1.0″ encoding=”UTF-8″?>
- <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML Basic 1.1//EN”
- “http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd”>
一定要確認(rèn)你的web頁面的標(biāo)記對于已經(jīng)聲明的DOCTYPE來說是有效的??梢允褂抿?yàn)證器(validator),比如由http://validator.w3.org提供的一個。
3. 使用viewport 元數(shù)據(jù)來將頁面調(diào)整至合適大小
在你的文檔的部分,你需要提供元數(shù)據(jù)來指定你希望如何在瀏覽器的viewport中呈現(xiàn)你的頁面。例如,你的viewport的元數(shù)據(jù)可以指定瀏覽器的viewport的高和寬,最初的web頁面規(guī)模甚至是目標(biāo)屏幕分辨率(target screen density)。
例如:
- <meta name=”viewport” content=”width=device-width, initial-scale=1.0, user-scalable=no”>
想要獲取更多關(guān)于如何為Android設(shè)備使用viewport元數(shù)據(jù)的信息,請閱讀Targeting Screens from Web Apps。
4. 避免多文件請求
因?yàn)橐苿釉O(shè)備通常比臺式機(jī)的聯(lián)網(wǎng)速度慢得多,因此你需要想辦法讓你的頁面盡快加載。一種加速加載方法是避免下載額外文件,比如中的樣式表和腳本文件。相反,直接在部分提供CSS或者Javascript即可(如果腳本是在頁面加載完以后才用到,那么將其包含在的結(jié)束部分也可)。同樣,你還可以通過類似于Minify的工具來壓縮你的文件。
5. 使用一個垂直的線性布局(Use a vertical linear layout)
在導(dǎo)航頁面的時候,要避免讓用戶左右拖動你的頁面。對于用戶來說,上下拖動更容易,也讓你的頁面更簡單。
要想知道更多關(guān)于如何創(chuàng)建偉大的移動web應(yīng)用,請看W3C的移動設(shè)備最佳實(shí)踐。要看其他提升站點(diǎn)速度的建議(移動設(shè)備和桌面設(shè)備都適用),請看Yahoo!的最佳性能 指南以及Google在讓web 更快的加速教程。