很多新手糾結這個問題?兩個框架都能夠支持做手機網頁,那么它們的區別是什么呢,適用場景是什么呢?下面我們從這幾個方面比較這兩個框架:解決問題、功能、適用場景。
解決問題
Bootstrap是一個css框架,針對解決的問題有:
1.跨設備的網頁響應式布局問題。隨著手機、平板、各分辨率屏幕的出現,如何能夠一套前端在所有設備上自由適應?
2.多人合作的前端布局和樣式的規范問題
3.常用前端css組件,如按鈕、連接、表單、表格、分頁組件、下拉菜單、導航欄、ICON等等
4.常用JS前端組件(需要擴展js支持),如表單驗證、Tips、Popup等等
jQuery Mobile是移動前端框架
jQuery Mobile是移動前端框架,包含js、html、css,提供一套完整的移動前端開發組件,可以比喻成Android開發框架,盡可能提供移動APP所具有的所有功能,針對解決的問題有:
1.移動網頁APP所常用的組件,例如:手機導航欄、選項卡、底部菜單、列表、表單等各種組件,而這些與Bootstrap提供的組件有很大區別,jQuery Mobile提供的是類似手機APP的組件,只用于移動網頁,而Bootstrap提供的是面向所有設備的組件,并沒有對移動設備專門考慮,與移動APP的組件體驗不一樣。
2.網頁頁面之間轉換效果
3.異步數據加載
功能
Bootstrap其核心主要是一個css樣式框架,基于css 的Media Query功能實現了響應式布局,能夠幫助前端開發人員快速布局、快速開發、合作開發。它必須借助jQuery類似的js框架來實現Ajax數據交互。
jQuery Mobile其核心是一個完整的WebAPP框架,加入了一個輕量級的jQuery可以實現Dom操作,在jQuery的基礎上提供了一系列類似移動APP的Widget(視圖組件),提供了一套不錯的頁面轉場效果,可通過Ajax實現與后端數據交互。
適用場景
Bootstrap通常用于:展示網站的響應式布局開發,使得網站可以在不同設備上方便瀏覽;以及網站后臺管理系統的前端CSS框架。
jQuery Mobile通常用于:期望接近移動APP體驗的WebAPP,項目只運行在手機端,不用于電腦設備展示(雖然是可以展示的,但是效果不好)。
總結
如果做跨設備響應式前端,選擇Boostrap;如果僅作移動端,期望得到近似APP的WebAPP,使用jQuery Mobile。
如果做一個產品級的WebAPP,當前jQuery Mobile的能力并不能讓你滿意,自己開發響應式布局框架和WebApp組件是必然要走的路。
最后
希望初學者可以掌握這兩種框架,還有推薦一個js庫,zepto.js,這個框架在開發移動端的時候,很便利,和jQ很像,但又有所不同,但是zepto.js更小,更便捷,zepto.js還提供了手機端的touch的api,真心很棒!