使用HTML5创建跨平台移动应用程序

3

我被要求提供一款基于HTML5/JS/CSS的平板应用程序,不依赖于任何平台。要求如下:

  • 跨平台移动/平板应用程序
  • 离线功能和存储(它应该在没有互联网连接的情况下工作,并能够在连接后进行同步)
  • 实时数据(它应该能够显示传感器值的任何小变化)
  • 我应该能够连接到CAN接口并获取传感器值和ECU数据。因为我还没有想出任何解决方案,所以我正在考虑蓝牙。然而,HTML5不支持蓝牙。

如果使用HTML5/JS/CSS可以满足这些需求(尤其是蓝牙),我会很感激您给我一些建议。

另一个问题是是否可能不使用任何框架,例如PhoneGap、RHoMobile等,只使用原始的HTML5/CSS/JS开发跨平台应用程序,并满足所有要求?


请检查我的答案。 - utvecklare
4个回答

3

你是否研究过PhoneGap / Cordova?

你可以使用HTML5、JS和CSS轻松创建跨平台移动应用程序。

http://phonegap.com

内置API提供了对设备的大多数本地功能和特性的访问。您可以使用localStorage或SQLite数据库管理离线存储,并且可以检测网络连接状态以确定您是否离线/在线以及您拥有的连接级别(Edge、3G、4G、WiFi)。通过这些组合,您可以管理数据同步。
至于蓝牙,PhoneGap API不支持它,但它非常可扩展,因此开发人员可以为缺失或所需的功能创建自己的插件。
社区非常棒,许多插件已经编译到GitHub的中央存储库中:https://github.com/phonegap/phonegap-plugins 我知道该存储库上有一个适用于Android的蓝牙插件。
您也可以很容易地编写自己的插件以添加任何额外的功能。

http://www.adobe.com/devnet/html5/articles/extending-phonegap-with-native-plugins-for-android.html

http://www.adobe.com/devnet/html5/articles/extending-phonegap-with-native-plugins-for-ios.html

**编辑**

在我写下这个回答提到PhoneGap之后,你对问题进行了修改。诚实的回答是没有一个与本地设备功能交互的框架,原始的HTML5、CSS和JS将无法处理蓝牙等功能。


谢谢回复,听起来蓝牙插件需要为每个移动平台(iOS、BlackBerry、Windows Phone等)编写,对吗? - utvecklare
是的,如果社区中没有其他人已经提供相应平台的插件,那么您需要为每个想要覆盖的平台编写自己的插件。 - Matt Gifford

1

经过大量搜索,我找到了 MoSync,这是一个跨平台的SDK,旨在开发不同的移动应用程序。我相信MoSync可以成为这个问题的最佳答案,因为它是一个非常丰富的SDK(C、C++、HTML、JavaScript),并拥有出色的工具和社区,他们尽最大努力帮助你。

更多信息,请鼓励开发人员在此处检查或访问他们的网站。


1

不行,你不能。一个纯粹的Web应用程序无法使用蓝牙,并且很可能永远也无法使用。

HTML5蓝牙和音频

作为一个开发过Web应用程序的人,我可以告诉你,任何涉及离线的事情都必须简单化,而使用设备硬件则是不可能的。

看看框架,你可能能够让一些东西工作起来。但从一开始就开发本地应用程序可能会更好/更现实。


0

未来的大多数移动应用程序将使用HTML5进行开发。 HTML5标准正在迅速被采用,并且这些标准支持手机功能,如GPS、加速度计、相机、存储等。

如果您想使用任何设备功能,我建议您使用PhoneGap。


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