jQuery Mobile适用于移动设备和桌面设备吗?

44

我正在开发一个Web应用程序。后端采用MySql/PHP,前端采用HTML/jQuery。

我想使用jQuery UI框架。

现在看到了jQuery Mobile的出现,我希望尽可能地使应用程序适用于移动设备。

我已经谷歌搜索过了,但没有找到满意的答案。

如果我使用jQuery Mobile,是否可以让所有功能都能够从同一代码工作?

我希望在移动浏览器中访问时显示移动小部件。
而在桌面浏览器中访问时使用jQuery UI小部件。

使用jQuery Mobile及其标记是否可以实现这一点,还是我必须分别为移动端(jQuery Mobile)和桌面端(jQuery UI)编写前端代码?

也就是说,jQuery Mobile是否可以自动“降级”到jQuery UI,如果从桌面浏览器访问的话。

3个回答

26

首先,你需要考虑移动端和桌面端的工作流程差异非常大。试图在桌面版和移动版之间切换并不仅仅是资源之间的切换。

其次,这两个 UI 框架在使用方式上有很大的区别。jQuery UI 是一个小部件集合,你可以在任何时候、任何地方调用它,它本质上是一个带有 CSS 框架支持的库。然而,jQuery Mobile 的工作方式截然不同,它默认是一个标记驱动的框架,为了让它运行起来,你甚至不需要编写一行 Javascript 代码。

我的建议是将数据层视为你的通用代码,而客户端则是两个完全独立的工作部分。就我个人而言,我已经成功创建了使用 REST Web 服务的应用程序。我使用 jQuery UI 来消费 Web 服务,并为客户端创建混搭。对于移动版本,我会在服务器端消费 Web 服务,生成适用于移动设备的 jQuery Mobile HTML 页面。

另外请注意,使用 jQuery Mobile 在客户端生成动态 HTML 必定会给你带来很大的麻烦。在项目成熟之前,我只会使用它来增强框架的高度语义化标记。创建一个坚实的数据层,其余的将会非常容易 :)


26

我认为这在很大程度上取决于你想要做什么以及你要捕获的功能。如果你希望网页在移动端和桌面端表现出一定的行为方式,那么通过一些精心编码和测试,使用jquery.mobile应该没问题。

如果你查看jquery.mobile的CSS(未压缩版本),你实际上可以直接编辑代码以便在特定屏幕尺寸下显示你想要的HTML元素。只需选择适用于台式机/大屏幕尺寸的CSS以进行适当的缩放即可。

根据你在移动版本中想要实现的目标,我还建议你查看jQTouch - 它允许移动端特有的功能,例如“tap”(代替“click”),但也有一个desktopCompatability选项,因此它会针对桌面浏览器进行还原。

请注意,使用任何这些库时,你仍然需要root jquery库。

希望这能帮到你。


谢谢回复。我可能会分离前端,因为在移动设备上可能没有足够的空间来显示所有内容,就像在桌面上一样。但我只是想知道是否应该使用jQuery UI,还是直接转向移动设备。 - ZolaKt
5
除非你需要 UI 库中的具体细节,否则我建议直接选择移动端。这是我的看法。 - TNC

6

这里是完整的源代码:https://github.com/ti-dev/Scrum-it。该开源Scrum Board专为桌面设备和苹果iPad设计,因此可以在一个网页上结合这两个世界。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接