2011-02-19 74 views
44

我正在開發一個Web應用程序。 MySql/PHP後端和HTML/jQuery前端。jQuery Mobile的移動和桌面?

我想使用jQuery UI框架。

現在看到jQuery Mobile已經不存在了,我想盡可能讓移動設備可以訪問應用程序。

我谷歌搜索,但沒有找到一個高質量的答案。

如果我使用jQuery Mobile,我可以使所有工作形成相同的代碼嗎?

我希望它顯示移動小部件,如果從移動瀏覽器訪問。
但是使用jQuery UI小部件可以從桌面瀏覽器訪問。

這可能只是通過使用jQuery Mobile及其標記,或者我必須分別爲移動(jQuery Mobile)和桌面(jQuery UI)編寫前端?

也就是說,jQuery Mobile如果從桌面瀏覽器訪問,會自動「回退」到jQuery UI。

回答

26

我認爲這在很大程度上取決於你想要做什麼和你試圖捕獲的功能。如果您希望網頁在移動設備和相同桌面上以某種方式行事,那麼通過一些仔細的編碼/測試,jquery.mobile就可以繼續使用。

如果您查看jquery.mobile(未壓縮版本)的CSS,您可以直接編輯代碼以按照特定屏幕尺寸的方式顯示HTML元素。只需選擇適用於桌面/大屏幕尺寸的尺寸即可適當縮放。

根據你想要完成的移動版本,我還會檢查出jQTouch - 它允許特定於移動設備的功能,例如「點擊」(代替「點擊」),作爲一個例子 - 但也有一個desktopCompatability選項,所以它恢復爲桌面瀏覽器。

一注意,與這些庫中的任何一個,你仍然需要根jQuery庫。

希望這會有所幫助。

+0

感謝您的重播。我可能會分開前端,因爲我可能沒有足夠的空間在移動設備上顯示所有內容,例如在桌面上。但我只是想知道我應該使用jQuery UI還是直接使用手機。 – ZolaKt 2011-02-19 04:07:05

25

首先,您必須考慮移動和桌面的工作流程差別很大。試圖在桌面版本和移動版本之間切換不會僅僅是資源之間的切換。其次,這兩個UI框架在使用方式上有很大的不同。 jQuery UI是一個小部件的集合,你可以在你喜歡的地方和你喜歡的地方調用它,它在一個支持它的CSS框架的感​​覺庫(ISH)中。然而,jQuery mobile的工作方式卻大不相同,默認情況下,它是一種標記驅動的框架,並且啓動並運行它並不需要您編寫1行Javascript。

我給你的建議是將數據層視爲公共代碼,將客戶端視爲完全獨立的工作。就我個人而言,我設法使用常見的REST Web服務來創建應用程序。我使用jQuery UI來使用webservices併爲客戶端創建混搭。然後,我爲移動版本使用webservices服務器端來生成jQuery-mobile html頁面以供在移動設備上使用。

另請注意,使用jQuery Mobile在客戶端生成動態HTML將極大地令您頭疼。在項目成熟之前,我只會使用它來增強框架的高度語義標記。創建一個良好的固體數據層,其餘的將很容易:)

6

這裏是完整的源代碼:https://github.com/ti-dev/Scrum-it爲開源的Scrum板,它是專爲桌面設備和Apple iPad設計的。所以有可能將這兩個世界合併到一個網頁中。