面向未来的移动应用程序
我们正在开发跟踪系统的下一个版本。之前的版本使用了带有简单自定义 UI 的 LCD,但是由于我们遇到了可用性问题,而且我们发现开发非常耗时,并且由于我们的显示器即将停产,因此我们正在考虑使用普通手机或 PDA 作为接口代替。
我们主要担心的是,我们是否可以将这样的产品在市场上保留五到十年,而不必不断地移植和调整应用程序以适应新设备。为了让事情变得更容易,我们打算将手机与系统捆绑在一起,尽管在理想的情况下,我们的(主要是非技术性的)用户将能够使用自己的手机。
那么,我们最好的选择是什么?是否有一些好的独立于平台的库可以让我们依赖一段时间的支持?或者我们是否最好一次在一个平台上进行投注?也许 PDA 更有可能保持向后兼容性?说实话,我什至不确定该用什么语言来表达代码的通用部分。
我也对与我们硬件的链接有点担心。蓝牙 SPP 很有吸引力,因为它特别易于使用,并且有大量可用的现成模块,但手机端的支持还远未普及。
任何务实的建议都将受到欢迎,因为我必须承认没有移动应用程序开发的经验。
We're working on the next version of a tracking system. The previous incarnation used an LCD with a simple custom UI however as we've had usability problems and we've found development time-consuming, and as our display is going out of production, we're considering using a regular cellphone or PDA as the interface instead.
Our main worry is whether we can keep such a product on the market for five to ten years without having to continually keep porting and adapting the application to new devices. To make things somewhat easier we intend to bundle the phones with the system, though in an ideal world our (largely non-technical) users would be able to use their own.
So, what's our best bet? Are there a good platform-independent libraries we can count on being supported for a while? Or are we better of betting on a single platform at a time? Perhaps backward-compatibility is more likely to be maintained on a PDA? Truth be told I'm not even sure what language to bet on for the generic parts of the code.
I'm also a little anxious about the link to our hardware. Bluetooth SPP is attractive since it's particularly easy to use and there are plenty of ready-made modules available, but support on the phone side is far from universal.
Any pragmatic advice would be most welcome as I must admit to having no experience with mobile application development.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果你不像苹果那样控制整个硬件生产链,那么从长远来看你就没有机会。除非您的产品确实具有创新性并且市场非常需要它,或者您正在开拓利基市场(例如医疗保健)。我的建议是进行市场研究并首先检查您的客户使用什么移动设备。首先选择一两个顶级平台,然后根据市场需要逐步添加新平台。如果你在美国,iPhone、Android、RIM 可能是首选,在欧洲,我必须在 iPhone、Android、Symbian、Windows 之间做出选择。这就像开发一个网站一样,首先使用两个顶级浏览器,然后逐渐添加对次要浏览器的支持。
关于可移植库,我不会押注这一点。相反,我会使用抽象层设计一个架构。例如,我将拥有蓝牙抽象层,它将向我的业务逻辑层公开功能;如果我在 Android/Linux 上部署,我会在下面使用 BlueZ,也许是用于 iPhone 的 GameKit、用于 Windows 的 MS stack 或 Widcomm 等等。
PDA 已经消亡,实际上它们已经融入智能手机和平板电脑中,这是一个进化的步骤。所以忘记他们吧。
HTML5 是一个好主意,但只是前层,您还必须处理业务逻辑和较低层。
蓝牙 SPP 很好,因为它很常见,并且可互操作,就像企业的 Web 服务一样。您可以提供一组自定义 AT 命令,而不是提供依赖于平台的 API,任何可以通过蓝牙连接到 SPP 的人都可以使用这些命令。
If you don't control the entire production chain for hardware like Apple does for example, you have no chance on long term. Unless your product is really innovative and market wants it so much, or if you are playing on a market niche (healthcare for instance). My proposal would be to make a market study and check what your customer use as mobile devices first. You should choose one or two top platforms first, and gradually add new platforms if market asks. If you are in US probably iPhone, Android, RIM would be the top choices, in Europe I would have to choose between iPhone, Android, Symbian, Windows. It's the same like developing a website you start with two top browsers and gradually add support for minor ones.
About portable libraries I wouldn't bet on this. Instead I would design an architecture using abstraction layers. For example I would have Bluetooth abstraction layer that would expose functionalities to my Business Logic Layer; underneath I would have BlueZ if I deploy on Android/Linux, maybe GameKit for iPhone, MS stack or Widcomm for Windows and so on.
PDAs are dead, actually they've merged into smartphones and tablets, they were an evolutionary step. So forget them.
HTML5 is a good idea but is only the front layer, you must deal also business logic and lower layers.
Bluetooth SPP is good because it is common, and interoperable it's like the webservices for enterprise. Instead of giving an API that is platform dependent you could provide a set of custom AT commands, that can be used by anyone that can connect on Bluetooth to SPP.
跨平台听起来像 HTML 5、CSS 和 Javascript,以及一些用于移动开发的 javascript 框架,例如列出的 此处
Cross platform sounds like HTML 5, CSS and Javascript, along with some javascript frameworks for mobile development like the ones listed here