0

我目前正在使用 jquery mobile 开发一个移动网站,而不是完全响应式网页设计。我知道我可以在桌面 PC 上的浏览​​器中使用一些插件开发项目,或者使用一些可用的在线服务或模拟器。但我不确定我是否遗漏了一些对测试非常重要的东西。

例子:

触摸/滑动事件或视口旋转。

是否需要购买一些物理设备(智能手机/平板电脑)来开发/测试项目?为什么?

4

3 回答 3

3

介绍

首先不要让任何人告诉你没有必要购买真实的设备来进行测试。我会告诉你为什么从 Android 的角度来看,同样的事情,只是以更小的方式也适用于 iOS 开发。

模拟器测试的好方面

  • 它是免费的,您只需要一台可以运行您的模拟器的计算机。
  • 您可以在不同的情况下(不同的屏幕分辨率、不同的操作系统版本)测试您的应用程序
  • 更快的 I/O 和网络操作,但如果您计算其他所有内容的速度有多慢,这并不是一个好点。

坏的一面

  • 太慢了,如果您从未尝试过使用它,您可以理解它有多慢(相比之下,iOS 模拟器快得像地狱一样)。如果您拥有顶级硬件 PC 或 Mac,这并不重要,它就是那么慢。
  • 模拟器简直就是个小问题,很多时候应用程序在读取设备上工作得很好,它会在模拟器上刹车。
  • 这也反过来,有时应用程序在模拟器上运行得很好,但在真实设备上会刹车,在某些情况下它根本无法运行,或者在某些设备上无法运行。使用混合应用程序时通常会出现这种情况。出于某种原因,Android Web 视图在真实设备和模拟器上的行为不同。
  • 模拟器根本没有一些与硬件交互的功能,也不能成功地模拟它。它可以模拟的硬件连接有时甚至无法正常工作。
  • 我已经谈到它有多慢(因为将 ARM 字节码转换为 x86 字节码),但从图形的角度来看,它往往更慢,所以不要指望在它上面做任何游戏开发。
  • 真实设备带有更多预装软件,这可能会降低您的应用程序速度或在某些方面增强其功能。
  • 现实世界的 GPS 测试是不可能的

最后的笔记

如果您打算使用 iOS,则只能使用模拟器进行大部分开发。完全缺乏不同的屏幕尺寸和硬件多样性使其成为测试目的的完美平台。另一方面,Android 则完全不同,它的模拟器根本无法用于测试目的。我有几个真正的 Android 设备,从 Android 2.1 + 到不同的屏幕尺寸,最后是硬件架构。您无需相信我,但我提到的所有内容在测试 Android 应用程序时都发挥着重要作用。

如果您主要关心的是测试您的 jQuery Mobile 应用程序,我仍然建议您在 Android 的情况下使用真实设备,而在 iOS 的情况下您可以成功使用模拟器。Android 是有问题的,因为过渡效果太慢了,而且包括其他所有需要动画的东西。滑动不会有问题,我可以保证它工作得很好。第二个真正的问题是设备旋转。jQuery Mobile 有时会遇到问题,主要是在与非响应式 3rd 方 jQuery 插件(轮播、滑块......)一起使用时。第三个问题在我的坏方面列表中提到,基本上模拟器中使用的 Web 视图的行为与真实手机中的不同,所以有时你会在真实设备中看到一件事,而在模拟器中看到一件事。

于 2013-07-24T13:13:38.757 回答
1

没有必要购买这样的设备。

对于 Android,Android Development Kit (ADK) 提供了一个模拟器。您可以使用它来配置具有不同屏幕尺寸等的多个模拟设备,以测试多种分辨率和 Android(浏览器)版本。

[编辑] 虽然要真正为 iphone 测试它,但我想你也需要那个模拟器,以确保网站在提供的浏览器中正确显示。

[编辑 2] 要测试“真正的”智能手机应用程序(而不是网络应用程序),最好手头有一个真正的设备。

于 2013-07-24T12:50:43.700 回答
0

这在很大程度上取决于您想要测试它的哪个级别,然后您才乐意将其交给使用。在您这样做并且有人报告缺陷之后,您能否看到问题出在哪里(如果它在您的 PC 上有效)?

开发本身可以在您的浏览器中完成,您甚至可以通过拖动鼠标来模拟滑动事件。您甚至不需要任何模拟器,您只需将 chrome 窗口变小(大多数设备都使用某些版本的 webkit,与 chrome 相同)。

但是,一旦涉及到测试,如果我不知道它在设备本身上的外观,我不会感觉很好。所以我认为至少拥有一台设备(最好是两台具有不同操作系统和分辨率的设备)总是有益的。

如果我正在做一些我看不到结果的事情,我也会不满意:)

于 2013-07-24T13:09:47.270 回答