大型设备与移动电话的开发应用:相似之处/不同之处

时间:2010-05-20 10:37:27

标签: mobile-phones

我看到了有关在移动设备上运行的应用程序的新闻文档。并且,我相信这对我住的人来说可能很有趣(互联网还没有开发 - 但手机网络要好得多)。

所以这是我的问题:

  • 我在哪里可以找到关于此事的初学者文档
  • (最重要的是)我能否利用.NET框架中获得的知识(C#,MVC,JQuery,XHTML,...)?
  • 我是否需要笔记本电脑或特殊设备来开发应用程序?
  • 我需要Visual Studio吗?
  • 依旧......

Bref,在大机器上运行的应用程序和在手机上运行的应用程序的开发之间有什么相似之处/不同之处

感谢您的帮助

3 个答案:

答案 0 :(得分:1)

首先,您应该决定,如果您想专门针对特定的移动设备(例如Android或iPhone),您可以在后台查看Windows移动设备。 文档可用于所有平台,可以通过谷歌轻松找到。 您可以在没有实际设备的情况下开发,仅使用模拟器或模拟器,我建议使用移动设备。

对于Android,您需要Android SDK(显然)对于iPhone,您需要IPhone SDK和MAC。

Similiraties:

  • 语言(Java / ObjectiveC)
  • 大多数众所周知的设计模式也可以在移动环境中应用

异性及其:

  • 移动设备与大型机器之间的性能差异
  • 不同的用户互动范例

答案 1 :(得分:1)

我能想到的最大的不同之处:桌面范例“我们拥有无限的RAM,所以我们只需要'新'这些对象供以后使用。”在RAM空间严重受限的移动设备上基本上没有成功。

答案 2 :(得分:1)

在您的情况下,Windows Phone 7可能是一个真正的竞争者 - 设备距启动时间约3-6个月,但开发人员工具已经可以免费下载。

应用程序开发环境是一个纯粹的.NET堆栈:C#,WPF,Silverlight框架或XNA(针对游戏),所有这些都托管在Visual Studio 2010上,并且提供了相当不错的模拟器。

我自己更像是一个内核人,但我发现开发环境和非常有吸引力的应用程序的开发非常有吸引力。

但是我从原始邮件中注意到的一件事是,您似乎可能会瞄准发展中国家市场。在这种情况下,可能是iPhone,Android和Windows Phone 7对于很多人而言实在太昂贵了,而且你最好还是针对低成本设备。这些通常是Java(J2ME),但在CDMA 2000网络上,BREW也很常见。

在整体方案中,对于功能更全面的操作系统目标(Android,WP7,iPhone),桌面GUI应用程序开发和移动应用程序开发之间的原则上没有太大区别。但是,从实际角度来看,您需要考虑一些您可能不会在桌面设备上担心的事情:

  • 电池寿命,电池寿命,电池寿命。您需要构建应用程序以使用能源,就像它所拥有的宝贵资源一样。轮询肯定是出来的,你的应用程序应该尝试提高能力。
  • 需要仔细考虑内存使用情况。甚至相当高端的设备上也很少有用户RAM(例如,我认为在谷歌Nexus One(Android)上有360MB。这往往意味着你将利用持久存储机制而不是大内存数据结构。
  • 您的GUI可能需要围绕一组“屏幕”而不是单个工作区构建(如桌面上常见的那样)。
  • 移动版本的库往往不如桌面版本完整。
  • 在许多平台上,如果操作系统内存不足,您的应用程序可能会被“杀死”,而您的应用程序需要注意这一点。同样,由于这一点,持久存储机制往往是首选。

如果您决定定位J2ME或BREW,事情仍然受到更多限制。 J2ME应用程序只能依赖大约128kB的RAM,拥有非常有限的一组屏幕小部件,需要处理许多不同的屏幕尺寸。好处是有数亿台支持J2ME的设备 - 即使非常便宜的设备也支持它。

总的来说,如果你想坚持你所知道的,Windows Phone 7非常引人注目,但它将成为一个非常高端的平台(1 GHz CPU,大型WVGA显示器等)。 Android可能需要一些学习,但具有显着优势,即一些较低成本(比如说199美元)的设备开始出现,但它仍然是一个非常强大且相对不受限制的(与J2ME相比)平台。

BREW是一个利基市场,但如果你在本地有一个CDMA 2000网络,那值得研究。这有点痛苦(基本上就像COM编程,但在没有优秀的Microsoft工具支持的RAW中),但是你可以获得优异的结果,而且分发方法实际上非常好。