我应该学习如何在 Symbian 操作系统上进行开发吗?[关闭]

StackOverflow https://stackoverflow.com/questions/36685

  •  09-06-2019
  •  | 
  •  

自从我买了诺基亚 N95 8G 以来,我一直在考虑研究一些 Symbian 开发。那些有 Symbian 操作系统开发经验的人会喜欢他们对该平台的感觉吗?上手是否困难,工具是否成熟等?

有帮助吗?

解决方案

我在 Symbian 操作系统的操作系统开发方面工作了一年多。该系统给人的总体感觉是,它是一个充满错误、未记录的垃圾。我能说的唯一积极的事情是操作系统代码本身相对较好地遵循了内部编码标准。标准的 CodeWarrior IDE 很垃圾(虽然最近作为替代品出现的 Carbide 相当不错,但免费版本非常准系统,并且落后了几个版本,至少在一段时间内是这样)。模拟器几乎无法使用 - 它运行缓慢,与实际设备不同,并且经常崩溃或挂起。

如果您想在 Symbian 上进行开发,请做好大量试验和错误的准备,因为几乎没有可用的文档,即使是关于该环境的核心概念的文档也是如此。作为一个虚构的例子,“JiggleThingy()”方法的基本文档是“Jiggles the thingy”。当然,在很多情况下,实现与文档也有很大不同。

一位熟人在亚洲经营了一家移动软件开发公司几年,并为几乎所有平台进行了开发。他告诉我,Symbian 是其中最糟糕的 - 它比任何其他移动平台更令人头疼。

这就是C++开发的全部内容。使用 Java 为 Symbian 进行开发所提供的功能非常有限,以至于我还没有听说有人真正做到了这一点。

其他提示

我们在我们的组织中完成了相当数量的 S60 编程,加上大量的 BREW 以及几乎所有其他内容。

  • 与我使用过的许多平台相比,S60 工具相当不错。例如,
  • BREW 的工具是一种耻辱。
  • S60平台非常强大。您几乎可以做任何事情(尽管您可能会受到签名要求的限制)。Java 甚至不值得进行比较,你被沙盒化了,你什么也做不了......
  • S60 签名还可以,尽管我们偶尔会遇到一些麻烦(谁没有……)
  • 学习曲线非常陡峭。从根本上来说,它是 不同的. 。如果有两种方法来做某事,其中一种是标准的,那么 Symbian 将选择另一种。
  • 该文档,尤其是 FP2 中的文档,不是 坏的
  • 构建系统正如大家所说的那样糟糕

我想作为一个在 Symbian 操作系统上工作了好几年的人,我可以回答这个问题的一些主观方面;)但是我不会,我会尽力坚持我所看到的一些事实和有用的信息。

该手机运行诺基亚 Series 60 UI(现在称为 s60)。Symbian 手机传统上分为操作系统部分(Symbian 操作系统 v9.1、9.2 等),手机供应商购买或开发自己的 UI。特定版本的 s60 将在特定版本的 Symbian 操作系统上运行。

因此,诺基亚论坛是手机开发的一个不错的起点:http://www.forum.nokia.com/main/resources/technologies/symbian/documentation/getting_started.html

这将涵盖 UI 的一些细节。我应该补充一点,UI 供应商确实会自行执行大量操作系统定制(具有不同程度的自我控制/质量),因此 API 的差异(尤其是涉及硬件的差异)可能会变得深奥。

Symbian 本身确实提供了相当高的文档质量,虽然无法与 Microsoft 相比,但比许多开源产品要好。Symbian 开发者网络是一个很好的参考:

http://developer.symbian.org

关于工具。现在的标准开发环境是基于 Eclipse 的诺基亚 Carbide 平台,我认为可以公平地说,如果你能忍受 Eclipse,那就没问题,如果你不能......出色地...命令行时间给你。

Carbide 具有设备上调试功能,并包含适用于 PC 和 ARM (GCC-E) 目标的编译器。

大多数应用程序开发都是使用 Symbian 模拟器完成的,该模拟器将成为诺基亚手机 SDK 的一部分。

当您准备好将应用程序安装到手机上时,您需要查看 Symbian Signed:http://www.newlc.com/new-symbian-signed-processes-are-now-available很多人都有合理的抱怨,认为它可能有点令人困惑,但作为一个非商业开发人员,我相信“开放签名”应该是最简单的。

我建议 S60 的 Python 这是探索诺基亚 S60/Symbian 平台功能的好方法。它易于使用,并附带强大的 API 设置。还有 一本书 其中涵盖了很多有趣的例子。Python SDK 的一大优点是您可以通过 PC 上的控制台在手机上以交互方式运行代码。

S60 的 Qt 即将推出,已经有不受支持的预发行版本。您可能希望在那里投入时间,因为它可能会成为诺基亚未来最喜欢的用户界面。

我做过一些 Symbian C++ 应用程序开发,很难理解,如果(像我一样)必须在多个开发环境(Palm,虽然现在不那么多,Windows Mobile,桌面)之间切换,那就尤其困难Windows、THEOS、Linux、HTML/CSS)。

但我在很多地方都听说过“没有文档”的说法,但我发现这根本不是真的。在某些情况下,文档太多,而且对于新手来说太复杂。示例代码是相同的 - 有很多代码,但很难区分代码的哪些部分控制哪个功能。

不过,我知道一旦你进入其中,构建一些令人印象深刻的应用程序就非常简单了。诺基亚论坛(上面提到过)有一个很好的社区,我从与他们在伦敦智能手机展上推出的一些开发人员的交谈中获得了一些灵感。如果你有时间的话,值得你去那里看看,因为距离不远,十月底就开始了。无论如何,这不是一场大型演出,但值得一看。

Symbian OS C++ 开发被认为是不友好(至少可以这么说)的名声是不可否认的。另一方面,该平台也极其强大。

如果您只想编写个人程序或小型免费软件/共享软件,则另一个平台可能更适合您。如果您正在寻找一种能够维持软件开发职业生涯的操作系统,那么 Symbian、J2ME 以及 Linux(在较小程度上)是您的最佳选择。

Symbian 的文档和工具随着每个新版本的推出而不断发展。使用 Symbian OS C++ 正变得越来越容易(但仍有很长的路要走)。

一些相关的广告:Symbian Press 为向开发人员介绍 Symbian 生态系统所做的最新努力。

http://www.quickrecipesonsymbianos.com

它可以用作 80 小时的分步课程。

正如前面提到的,我们尽量避免主观问题,根据 常问问题

我不应该在这里问什么样的问题?

避免提出以下问题 主观, ,有争议或需要进行扩展讨论。这是一个可以回答的问题的地方!

现在你是新人了,所以没关系:)

针对你的问题,我想说:

  • 苦谁在乎呢,想做一件事,就撸起袖子加油干,越难,越有收获!
  • 我不是 Symbian OS 开发人员(一旦我拥有 PDA,我可能会进入 .NET CF),但我想说移动应用程序是 真的 开始回升,许多应用程序现在都与移动应用程序一起发布,以使人们保持联系并使用您的软件。使用它的人越多=业务就越多!
  • 看着 维基百科页面在这里 我想说,IDE 和平台有很多可供实际开发的选项,太棒了!

Symbian 可能与您习惯的有点不同,但它是一个稳定的平台(有 200 多万台设备)并且工具也很成熟。

Carbide 非常好,特别是如果您以前使用过 eclipse。

在开始 Symbian 编程之前首先要查看的地方是: http://descriptors.blogspot.com/

描述符是 Symbian 字符串。它们非常高效,但与许多其他字符串实现略有不同。

看看 NS Basic/Symbian 操作系统。它提供了类似 Visual Basic 的环境。它非常容易使用,并且可以帮助您解决 Symbian 操作系统引起的许多问题。应用程序无需更改即可在 S60 第三版和 UIQ3 设备上运行。

http://www.nsbasic.com/symbian

我建议尝试 超级瓦巴, ,它是一个使用类Java语言的PDA跨平台开发平台,因此上手非常容易。

今天诺基亚 Qt SDK 1.0 发布 释放. 。然而,我对诺基亚的未来表示怀疑,诺基亚将凭借N8来面对本已充满挑战的移动市场,而N8在上市之前就已经被iPhone 4超越了。就连它本身也有忏悔的倾向 .

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top