2016-10-17 分類: 網(wǎng)站建設(shè)
這幾年隨著移動設(shè)備的不斷普及, 使用手機(jī)和平板電腦觀看網(wǎng)頁的幾率大增, 因此, 網(wǎng)頁從簡單的HTML進(jìn)化到必須符合各種分辨率的屏幕, 這是一個不可避免的趨勢。
目前開發(fā)針對于移動設(shè)備的APP非常流行, 各大網(wǎng)站都有其相應(yīng)的APP。但是在學(xué)習(xí)編寫APP的時候, 我感覺到有幾個問題值得探討。第一, 現(xiàn)在最流行的手機(jī)操作平臺有兩個:Android和IOS, 其編程難度都不低;第二, 與網(wǎng)站可以直接瀏覽不同, 使用者必須另外下載APP。當(dāng)然另外寫一個APP可以提供更具有針對性的服務(wù), 但是提供一個手機(jī)瀏覽器可以瀏覽的版本也是必要的。
1、使用React.JS開發(fā)自適應(yīng)網(wǎng)站
對于開發(fā)自適應(yīng)網(wǎng)站而言, 在現(xiàn)在發(fā)達(dá)的開源社區(qū)中, 我們有很多可以使用的好東西。Bootstrap3和React.JS就是其中的佼佼者。
Bootstrap是一個前端的Framework, 可以使我們節(jié)省很多花費(fèi)在編寫CSS身上的時間。作為設(shè)計自適應(yīng)網(wǎng)站的重點, CSS具有比較容易的會有硬件加速等的優(yōu)化;另外, 為了提高效率, 能用CSS做到的, 就盡量不要用Java Script來實現(xiàn)。
React.JS (以下簡稱React) , 是Facebook底下的開源項目, Instagram就是使用React開發(fā)的。React是個JS框架, 同時也是個新的網(wǎng)頁開發(fā)概念。隨著這幾年來的蓬勃發(fā)展, 一直不斷推陳出新, 甚至可以用來開發(fā)i OSApp。
React讓網(wǎng)頁開發(fā)變成一種簡單的概念。和以往使用JQuery或是其他的套件有很大不同的是, React把網(wǎng)頁中的元素當(dāng)成一個一個的“組件”, 先定義“組件”, 再將“組件”塞進(jìn)網(wǎng)頁中。這樣的做法有幾個好處:第一、我們可以重復(fù)使用相同的組件, 卻只要定義一遍;第二、我們可以享有React提供的渲染優(yōu)化。所謂的渲染優(yōu)化, 就是React對于網(wǎng)頁內(nèi)容呈現(xiàn)的處理方式加以優(yōu)化的算法。在呈現(xiàn)一個新網(wǎng)頁之前, React會先將新舊網(wǎng)頁的內(nèi)容加以比較, 找出兩者相異之處后, 再以修改舊網(wǎng)頁的文件對象的方式達(dá)成新網(wǎng)頁的呈現(xiàn)。相較于傳統(tǒng)瀏覽器整個重新剖析計算新網(wǎng)頁, React可以讓瀏覽器呈現(xiàn)網(wǎng)頁的效率大為增進(jìn)。
使用React, 網(wǎng)頁分成了“組件”和“數(shù)據(jù)”, 只要管理數(shù)據(jù), 讓React來負(fù)責(zé)渲染。這樣的作法, 我們可以很容易地開發(fā)出一個純AJAX網(wǎng)站, 讓網(wǎng)頁加載后, 便不再需要重新整理, 全部使用JS去抓“數(shù)據(jù)”。還有一個好處就是不用再為處理這些數(shù)據(jù)而傷透腦筋, 只要將數(shù)據(jù)放進(jìn)該放的地方就好。使用React的數(shù)據(jù)流寫前端的時候, 我們只要考慮整體, 而不用考慮細(xì)節(jié)。而分工從一般網(wǎng)頁設(shè)計上的功能性分工, 變成“組件”各自處理自己的部分, 而“組件”中還可以遷入其他組件, 形成一個數(shù)據(jù)流。
2、開發(fā)中遇到的問題
2.1 舊版IE瀏覽器
因為IE老舊, 而有些地方又常常指定使用舊版IE (如IE8) , 導(dǎo)致目前還有大量舊版IE使用者。
IE11是一款可支持HTML5標(biāo)準(zhǔn)的瀏覽器, 所以我選擇支持。當(dāng)然, 我們還是必須另外寫一些程序代碼讓網(wǎng)頁支持IE11。
使用最新的瀏覽器, 我們可以使用最新的標(biāo)準(zhǔn)來編寫網(wǎng)站, 而不用遷就舊版IE瀏覽器, 套件也可以用最新版。最新版往往功能較多或是效率較高, 如JQuery 2.X以后版本不支持舊版IE。
2.2 不同的瀏覽器
每個瀏覽器的行為和支持的JS、CSS方法不同, 撰寫自適應(yīng)網(wǎng)站一定要用各種瀏覽器測試, 不然就會出現(xiàn)意外的狀況。如果不想使用太多瀏覽器, 除了Chrome外, 至少還要再使用Fire Fox, 因為Fire Fox是一款非常遵守HTML5標(biāo)準(zhǔn)的瀏覽器。
2.3 不同的屏幕大小
這是一個基本的問題, 不同屏幕大小會影響你的網(wǎng)頁瀏覽模式, 有些時候不是調(diào)整一下DIV寬度就可以解決的。
諸如此類還有一些按鈕、表格等, 如果可以的話, 一開始就設(shè)計一個可大可小的顯示方法, 不然的話, 就必須針對不同的大小, 提供不同的網(wǎng)頁設(shè)計。手機(jī)優(yōu)先是現(xiàn)在的主流, 設(shè)計樣式時以小屏幕設(shè)計常常可以得到比較好的效果。
2.4 操作的模式和JS事件
手機(jī)上的觸控, 是不適用鼠標(biāo)事件的, 而是另外定義一個“觸控事件”, 還有手機(jī)上不容易觸發(fā)Hover事件, 有些因為手機(jī)屏幕小, 很難進(jìn)行精準(zhǔn)的點擊。根據(jù)上述原因, 設(shè)計自適應(yīng)網(wǎng)頁給手機(jī)使用者使用時, 一定要注意按鈕的大小不能太小, 也不要在網(wǎng)頁上放太多Hover的事件, 如果有用到mousedown、mouseover等鼠標(biāo)事件, 也一定要注意另外定義touchstart、touchmove事件。
2.5 不要使用外掛功能, 如Flash
這里的外掛指標(biāo)準(zhǔn) (HTML/CSS/JS) 之外的網(wǎng)頁外掛工具, 像是Flash, 因為手機(jī)版瀏覽器可能不支持這些外掛, 很難跨平臺。現(xiàn)在的Android已經(jīng)預(yù)設(shè)不使用Flash了, HTML5標(biāo)準(zhǔn)中也有很多更好用、效率更高的對象能夠取代Flash, 現(xiàn)在我們有更好的選擇, 使用大量外掛開發(fā)網(wǎng)頁的時代已經(jīng)過去了。
2.6 網(wǎng)頁加載速度
其實這個問題不只在自適應(yīng)網(wǎng)站上會有, 一般網(wǎng)站也該注意。
使用了很多套件、自適應(yīng)的CSS檔案, 我們的網(wǎng)頁常常會很肥大, 尤其是移動設(shè)備常常不會有良好的網(wǎng)絡(luò)環(huán)境, 瀏覽網(wǎng)站一次可能就要加載好幾秒甚至幾分鐘。
盡量不要加載不必要的CSS、JS, 然后啟用壓縮功能, 把空白和換行壓縮掉, 并用gzip壓縮, 大概可以讓整個網(wǎng)頁變成原本的20%甚至更小。
當(dāng)前文章:淺析自適應(yīng)網(wǎng)頁設(shè)計問題
新聞來源:http://jinyejixie.com/news/52027.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計、定制網(wǎng)站、ChatGPT、服務(wù)器托管、營銷型網(wǎng)站建設(shè)、網(wǎng)站維護(hù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容