Symbian上开发的最佳方式

7
我将在Symbian(S60)上进行开发,我知道有一些开发方式:Symbian C ++,Java ME,Qt,OVI等。
我需要一个总体简要的指南,介绍所有的开发方式并回答以下一些问题:
1. 在开发时,Symbian C ++和Java ME之间有何区别?
2. 如果Java ME可以在Symbian上运行,为什么我们还需要Symbian C ++?
3. 在Symbian上是否有其他开发方式?Qt和Ovi怎么样?
4. 如果你打算在Symbian上进行开发,你会选择哪种方式?
我知道这个问题可能有点主观性,但我真的需要你的帮助~
谢谢

你可以将 Python 加入其中... - David Rodríguez - dribeas
米奇,这个问题非常有用。这个问题一直在所有移动应用程序开发者的脑海中挥之不去。直到现在我才得到了明确的答案。现在我很清楚了。感谢您提出这个问题。 - SIVAKUMAR.J
4个回答

9

在Symbian OS上开发的最佳方式取决于您已经了解的内容、预算和想要实现的目标。

在开发时,Symbian C++和Java ME有什么区别?

好吧,您不会使用相同的工具,它们不是相同的运行时,也不是相同的语言。

通常情况下,当尝试做一些JavaME无法完成的事情(例如电话)或者JVM占用空间导致性能问题(例如启动时间)时,会使用C++。

当您计划将开发的内容移植到非Symbian手机上时,JavaME特别有用(尽管支持多个平台的JavaME很快就会变成噩梦)。对于那些只接受过Java培训的众多开发人员来说,这也是进入移动产业的良好入口。

如果Java ME可以在Symbian上运行,为什么我们还需要Symbian C++呢?

请参见上文:尽管现代JVM以接近编译后的C++速度执行字节码,但JVM本身占用空间相当大,而J2ME缺乏许多可在Symbian OS C++中访问的API。

还有其他在Symbian上开发的方法吗?Qt和Ovi怎么样?

Python很受欢迎,有Ruby运行时,您可以使用Web Runtime...如果您感觉自己能够做到,您几乎可以创建自己的运行时。Qt是下一个重要的东西,因为它靠近硬件,在其他平台上可用,并且诺基亚致力于扩展其API覆盖范围。

OVI不是开发环境。这是诺基亚应用商店,您可以上传开发的应用程序(使用Qt、C++、Java、JavaScript编写...),以便诺基亚手机用户可以在其手机上下载它们。

如果您将要在Symbian上开发,您会选择哪种方式?

现在回到“取决于情况”。

如果您正在寻找良好的指南,我建议查看Symbian Press图书,特别是Java、Python和Quick Recipes图书。


1
不要忘记Flash - 对于某些类型的应用程序(图形重,与设备服务/数据的集成很少),它比Java更快更容易。它部署在几乎所有Symbian手机上,尽管您必须通过一些安装格式来完成。 - Malcolm Box
1
确实。忘记了Flash。我太糟糕了。我相信你甚至可以在塞班手机上独立运行Flash应用程序,无需启动Web浏览器。 - michael aubert
这个答案非常有用,非常简单等等。 - SIVAKUMAR.J

4

关于非主观性问题:

  1. Symbian C++比J2ME开发要难得多。现在有很好的Symbian C++工具,但我认为J2ME的IDE支持更好。使用Symbian不仅需要了解C++,还需要掌握Symbian的惯用语。

  2. Java ME是Java的一个受限版本,有很多限制。例如没有后台应用程序,对手机资源的访问也受限制。它也比本地Symbian应用程序慢。你将使用什么取决于你的应用程序要求。如果速度和完全访问系统资源不是最重要的,你可以选择J2ME。这也有一个好处,你可以轻松地将你的应用程序移植到其他手机上运行。请注意,访问受限API,无论是J2ME还是Symbian,都需要签署应用程序(即购买证书)。


2

在C ++中进行Symbian本地开发(所谓的Symbian C ++)非常麻烦。诺基亚了解这一点,并致力于提供Qt框架作为主要应用程序开发层,一些结果已经与最新的Qt 4.6一起发布。即使它仍然不完整,您也应该开始查看它。您仍然可以下载传统的Symbian SDK并查看。有关此信息,您可以在诺基亚网站和论坛上找到更多信息。


1
我的选择是J2ME,因为它来自伟大的Java家族。与C/C++相比,有更多的论坛、网站等可供查询Java相关问题。因此,在支持方面,如提问等,Java是最好的选择。
在内存管理方面,C/C++比Java/J2ME更好。但现在许多手机都配备了非常复杂的垃圾回收器,所以随着时间的推移,这将不会被考虑在内。
J2ME代码不仅适用于塞班系统,还可以在支持CLDC、MIDP等的索尼爱立信、三星等手机上运行。
因此,请优先选择J2ME/Java。
如果您计划使用多个手机操作系统,则应选择Java/J2ME。

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