接觸移動WEB前端開發(fā)近一年了。在這短短的時間里,我通過吸收源信、神魚等前輩的經(jīng)驗,以及不斷的探索和實戰(zhàn),總結(jié)出了一套自己的Mobile WEB“研發(fā)流程”。為什么稱其為“R&D”過程而不是“開發(fā)”過程,解釋如下。首先我們來看一下“研發(fā)”的流程圖:
1. 為什么要叫“研發(fā)”流程?
我們知道,對于傳統(tǒng)的WEB前端開發(fā),一般來說,我們需要關(guān)注的操作系統(tǒng)/瀏覽器如下:
操作系統(tǒng):Windows/MacOS
瀏覽器:IE (6, 7, 8)/Firefox/Safari/Opera/Chrome
這些操作系統(tǒng)和瀏覽器的基本情況如下:
市場份額和使用分布相對穩(wěn)定
相對開放,廠商對開發(fā)者的支持更好
不同操作系統(tǒng)下瀏覽器渲染差異不大
經(jīng)過前端開發(fā)者長期的研究和總結(jié),其渲染特性和標(biāo)準(zhǔn)支持基本眾所周知
在移動WEB前端開發(fā)領(lǐng)域,情況比較混亂,需要注意的事情也復(fù)雜得多:
操作系統(tǒng)(平臺):Symbian(S40/S60/S80/S90)/iPhoneOS/Android/WM(WinCE)/MTK/Linux/BB/PalmOS/Maemo(Meego)……
內(nèi)置瀏覽器:Symbian/Chrome Lite/iPhone Safari/MTK/IE Mobile/BB Browser/Opera (OEM)/…
第三方瀏覽器:Opera Mini/Opera Mobile/Skyfire/NetFront/UCWEB/QQ瀏覽器/Go瀏覽器/.
這些操作系統(tǒng)和瀏覽器的基本條件是:
市場份額和使用細分不穩(wěn)定,新機型、新瀏覽器容易占領(lǐng)市場
大部分內(nèi)置瀏覽器不夠開放,操作系統(tǒng)和瀏覽器廠商對開發(fā)者的支持不夠好
不同的操作系統(tǒng)、不同的瀏覽器、同一系統(tǒng)下的不同瀏覽器、同一瀏覽器的不同操作系統(tǒng),甚至同一系統(tǒng)或瀏覽器的不同版本,都可能造成頁面效果的較大差異。差異(很繞口,其實就是排列組合)
由于缺乏對兼容性的研究(尤其是在中國),加上操作系統(tǒng)和瀏覽器的封閉和不斷變化,我們對其特性的把握基本是空白
經(jīng)過對比,我們很快就會發(fā)現(xiàn),要想我們的Mobile WEB在更多的客戶端上完美運行,我們需要花費大量的時間和精力去了解和掌握各種操作系統(tǒng)、平臺、手機瀏覽器的特性。只有對它們有一定的了解和掌握,才能進一步掌控Mobile WEB兼容性的發(fā)展。
因此,“研發(fā)”包括“操作系統(tǒng)和瀏覽器研究”和“移動WEB開發(fā)”兩部分。
2. 循序漸進的周期性研究
如前所述,我們要花費大量時間和精力研究移動設(shè)備的操作系統(tǒng)和瀏覽器。羅馬不是一天建成的,胖子也不是一口飯吃完的。我們需要一個循序漸進的過程,一個長期的研究,不斷積累點點滴滴的經(jīng)驗,才能逐漸了解這些特點。此外,移動設(shè)備更新?lián)Q代頻繁,新機型、新瀏覽器日新月異。我們還需要定期跟進最新動態(tài)。因此,這就是為什么需要定期研究的原因:
需要大量的時間和精力
移動設(shè)備更新頻繁
在只有一個移動WEB前端開發(fā)的情況下,建議每六個月進行一次系統(tǒng)的調(diào)研,為兼容性開發(fā)打下基礎(chǔ)。在接下來的六個月內(nèi),移動端WEB頁面的前端開發(fā)將以本研究成果為基礎(chǔ),一般不需要對頁面進行兼容性測試。對于兼容性測試,在之前的很多文章中都有提到,下面會再提到。
3. 關(guān)于兼容性測試
無論是WEB開發(fā)還是移動WEB開發(fā),兼容性測試都是必不可少的一步。但在工藝上,后者與前者有很大不同。
WEB前端開發(fā)就是在頁面開發(fā)完成后做瀏覽器兼容性測試
但是手機WEB前端開發(fā)就是在頁面開發(fā)之前做瀏覽器兼容性測試
移動端瀏覽器并不像桌面瀏覽器那樣容易查看完成的頁面效果。試想一下,如果和WEB的前端開發(fā)流程一樣,每完成一個Mobile WEB頁面,都需要大量的測試機進行測試對比,找出問題再修改,那就太荒謬了然后再次測試!
因此,我們需要用兼容性測試的結(jié)果來指導(dǎo)前端開發(fā):
測試XHTML 的每個公共元素
測試CSS 的每一個公共屬性
測試JavaScript 的基本功能支持
測試與移動設(shè)備相關(guān)的其他點
測試結(jié)果整理出來后,我們可以通過它知道哪些元素和屬性可以使用,哪些可以避免,并在開發(fā)中遵守這些使用約定。
我們專注高端建站,小程序開發(fā)、軟件系統(tǒng)定制開發(fā)、BUG修復(fù)、物聯(lián)網(wǎng)開發(fā)、各類API接口對接開發(fā)等。十余年開發(fā)經(jīng)驗,每一個項目承諾做到滿意為止,多一次對比,一定讓您多一份收獲!