面向未来的移动应用程序

Posted

技术标签:

【中文标题】面向未来的移动应用程序【英文标题】:Future-proofing Mobile Applications 【发布时间】:2011-04-12 09:07:05 【问题描述】:

我们正在开发下一个版本的跟踪系统。以前的版本使用带有简单自定义 UI 的 LCD,但是由于我们遇到了可用性问题,并且我们发现开发非常耗时,而且我们的显示器即将停产,我们正在考虑使用普通手机或 PDA 作为而是界面。

我们主要担心的是,我们能否将这样的产品保留在市场上 5 到 10 年,而不必不断地移植和调整应用程序以适应新设备。为了让事情变得更简单,我们打算将手机与系统捆绑在一起,但在理想情况下,我们(主要是非技术人员)用户可以使用他们自己的。

那么,我们最好的选择是什么?是否有一个很好的独立于平台的库,我们可以指望得到一段时间的支持?还是我们最好一次投注在一个平台上?也许向后兼容性更有可能在 PDA 上保持?说实话,我什至不确定要为代码的通用部分押注哪种语言。

我也有点担心我们硬件的链接。蓝牙 SPP 很有吸引力,因为它特别易于使用,并且有大量现成的模块可供使用,但手机端的支持远非普遍。

欢迎任何务实的建议,因为我必须承认我没有移动应用程序开发经验。

【问题讨论】:

【参考方案1】:

如果您不像 Apple 那样控制整个硬件生产链,那么从长远来看,您就没有机会。除非您的产品确实具有创新性并且市场非常需要它,或者如果您在市场利基市场(例如医疗保健)。我的建议是进行市场研究并首先检查您的客户用作移动设备的设备。您应该先选择一两个***平台,然后根据市场需要逐步添加新平台。如果您在美国,可能 iPhone、android、RIM 将是首选,在欧洲,我将不得不在 iPhone、Android、Symbian、Windows 之间进行选择。这就像开发一个网站一样,您从两个***浏览器开始,然后逐渐添加对次要浏览器的支持。

关于可移植库,我不会打赌。相反,我会使用抽象层来设计架构。例如,我将拥有蓝牙抽象层,它将功能暴露给我的业务逻辑层;如果我在 Android/Linux 上部署,我会在下面拥有 BlueZ,也许是用于 iPhone 的 GameKit、用于 Windows 的 MS stack 或 Widcomm 等等。

PDA 已经死了,实际上它们已经合并到智能手机和平板电脑中,它们是进化的一步。所以忘记他们吧。

html5 是个好主意,但只是前端层,你还必须处理业务逻辑和底层。

蓝牙 SPP 很好,因为它很常见,并且可互操作,就像企业的 Web 服务一样。您可以提供一组自定义 AT 命令,而不是提供依赖于平台的 API,任何可以通过蓝牙连接到 SPP 的人都可以使用这些命令。

【讨论】:

谢谢。手机将用作图形界面,因为我们的设备需要在没有人在场的情况下继续运行。正如我之前提到的,我们将为特定手机提供该产品,因此在我们无法再购买兼容手机之前,我们不会进行移植。我们主要担心的是,除非我们仔细选择我们的技术,否则我们将不得不每隔一年继续移植一次,并最终保持对旧设备的向后兼容性。你会在哪里下注? Android 很大,微软靠兼容性发了财,苹果好像不支持 SPP。 Android 有一个问题,因为它在每个设备上变得更加分散,因为每个供应商都制造自己的硬件,并且他们会遇到应用程序不再与某些平台兼容的情况。但巨大的优势仍然是巨大的市场份额。另一方面,微软的策略是设定硬件要求,所以平台在不同的供应商之间是一致的,这是一件好事,但他们的市场份额仍然低于 10%。 Gartner 表示 Windows Phone 将在不久的将来爆发,但谁知道呢?【参考方案2】:

跨平台听起来像 HTML 5、CSS 和 javascript,以及一些用于移动开发的 javascript 框架,如列出的 here

【讨论】:

考虑到对“我们的硬件”和“蓝牙 SPP”的引用,我认为这不是一个选项... 这是一个有趣的选择。当然,我们需要支持多个平台,否则我们只会通过依赖未来支持的设备和框架来增加风险。 PhoneGap 显然可以在很多设备上运行,并声称支持“本地 API”,这大概意味着我们可以添加自己的小蓝牙挂钩。我假设这些东西在没有互联网访问的情况下运行并且看起来像常规应用程序?

以上是关于面向未来的移动应用程序的主要内容,如果未能解决你的问题,请参考以下文章

移动Web和应用程序:谁才是未来趋势?

胡泽锐:移动开发即服务——腾讯云移动开发平台技术分享

中国移动数据大赛来了!

为什么我认为Flutter是移动应用程序开发的未来

Web和移动开发的未来

web应用开发未来发展的新趋势 你了解吗?