比较移动设备作为开发。平台iPhone,黑莓Windows Mobile

时间:2010-01-22 08:16:30

标签: iphone windows-mobile blackberry

我试图比较上面提到的三个平台以及在编程时需要考虑的注意事项,以便创建可以在所有三个上运行的某种代码库。

这是我为iPhone收集的内容 - 如果其他人可以为其他两个人编写类似内容,那就太棒了。

  1. 只有一个应用程序可以运行 给定时间。即这就是为什么 SQLLite数据库作为文件加载 进入应用程序而不是作为 传统上有一些 要连接的服务器。
  2. 只有一个固定大小的窗口480x320 像素
  3. 应用时,在沙盒中运行 已部署沙箱已创建 “围绕”应用程序,应用程序只能 从中读取/写入文件 区域。也是低级访问 手机受限制。
  4. 由于程序可以停止 任何时候(见第1点)这都需要 在设计时要考虑 应用程序,应用程序必须随时 能够将其当前状态写入 磁盘,以便以后可以恢复。如果 这需要超过五秒钟 该应用程序将被中止。
  5. 128MB RAM,大约是64MB的一半 适用于该应用。有 典型的4GB存储(取决于 模型),没有虚拟内存,如果内存 应用程序可能正在运行 中止。
  6. 编辑:为了清楚,我不是在哪个平台/ os最适合开发人员,我只是对规范感兴趣。比较知道如果一个人有三个目标平台并且每个人都使用本地语言(不是网络应用程序)可以预期什么,内存和其他考虑因素是什么。

    编辑:删除语言,因为它假定将使用该平台的母语。

3 个答案:

答案 0 :(得分:2)

有一篇关于Codeproject的优秀文章会对你的问题有所帮助。前往here以阅读它。

希望这有帮助, 最好的祝福, 汤姆。

答案 1 :(得分:1)

对于Windows Mobile,我想添加:

  • 与iPhone相比,Windows Mobile允许多个应用程序同时运行。
  • 它具有可变屏幕尺寸并具有不同的sdks( Windows Mobile Professional for“Windows Phone”(带触摸屏的智能手机) Windows Mobile Standard for“Windows Phone”,常规屏幕
  • 通常使用的框架是.Net Compact Framework,除了一些人还喜欢open-net这是一个开源框架。
  • 与iPhone不同,Windows Mobile没有私有api,这意味着它为开发人员提供了更多的权力。
  • 程序允许的内存大小为32 mb
  • 您不需要开发人员许可证来在Windows Mobile上开发和发送应用程序,尽管Windows Mobile本身会提示您避免安装来自未知发布商的应用程序。(这比iPhone中的更有趣需要获得许可证,而您只想在您的设备上调试您的应用程序(而不是越狱设备。)

关于Windows Mobile的一些不好的事情,请参阅此link

谢谢,

Madhup

答案 2 :(得分:1)

我觉得最终列表没有多大用处,因为收集的所有数据点与上一个数据点的内容差异很大。对iPhone列表的一些更正:

1)SQLLite等本地数据库“传统上”不是作为其他移动平台上的服务器实现的(它们也使用各种面向文件的数据库)。

2)很快,单个固定大小的假设很可能是不准确的。

3)应用程序位于沙箱中,但可以通过API调用(例如照片库或地址簿)写入沙箱外的某些区域。

5)这个数字在3Gs和3G / 2G / Touch之间有所不同(较旧的型号有一半的内存)

6)Monotouch可用,但我不确定基于Java的iPhone开发还有什么用处。还有来自Adobe的Flash编译器。

基本上,如果您正在考虑跨平台,内存/屏幕大小/系统访问/公共数据库都会有所不同 - 所以整个事情归结为语言和图书馆。这就是你真正遇到跨平台方法的问题,因为每个系统的库都非常不同......最终你可以在平台二进制文件中共享数据结构和一些纯数据处理代码,每个系统的GUI代码都非常不同。但限制每个客户的发展是否真的值得?

另一方面,Blackberry是基于Java的,因此它为这种尝试提供了另一个障碍。

如果您真的想看看跨平台的最终结果,请查看Waze的代码库 - 一个跨平台的开源导航应用程序:

http://www.waze.com/wiki/index.php/Source_code

iPhone和Windows Mobile的客户端源自那里。