我认为现在说 Symbian 开源对操作系统来说是好事还是坏事还为时过早。为 Symbian 基金会网站选择品牌的争论表明,Symbian 软件在未来将扮演的角色缺乏明确性。
虽然确实有一个完整的生态系统知道为 Symbian OS 开发的细节,但这本身就毫无意义。毕竟,仍然有一个活跃的“生态系统”知道如何为 IBM 大型机开发 Cobol 应用程序。
您需要考虑生态系统的规模,并意识到这个生态系统很小,因为 Symbian OS 已经存在了十多年,并且软件现在支持超过 1 亿台设备。再考虑一下围绕 Google 和 Apple 产品的生态系统的增长速度——Symbian 从来没有产生过那种程度的兴奋,也从来没有看到开发人员对这种兴趣的增长。当然,我们已经过去了十年,你可以说 Symbian 已经完成了艰苦的工作并创造了谷歌和苹果现在竞争的环境。但是仅仅因为 Symbian 是第一个,并没有使它成为最好的,也没有赋予它任何生存的权利。
确实,Symbian C++ 习语很难学。但是,建议没有理由摆脱它们是不正确的。理由是 10 年来一直认为为 Symbian OS 开发本机代码太难了。大多数(如果不是全部)这些痛苦的习语都是十多年前做出的设计决策,虽然在今天的移动设备上仍然有益,但它们已不再是必不可少的。在过去的十年里,移动硬件有了很大的发展。Symbian OS 并没有从根本上改变,至少在开发者产品方面是这样。现在考虑一下,如果硬件已经发展到现在,但是软件在 Windows 3.1 或 95 上停止了,PC 会在哪里。对于初学者来说,我们几乎可以肯定不能以这种方式进行讨论。
查看其他移动平台,请考虑 Android 和 Maemo。两者都是基于linux的系统。两者都使用更多以开发人员为中心的标准开发方法,这让 Symbian OS 看起来像是来自另一个时代。
这本身并不一定是个问题,因为正如其他人所指出的,Symbian OS 支持多种运行时环境,这使得对于碰巧运行 Symbian OS 的移动设备的开发对于普通开发人员来说更容易上手。
将运行时支持归结为自然结论,底层操作系统变得无关紧要。设备制造商根据成本、上市时间、质量等做出选择。但最终用户并不关心,并且在许多情况下不知道操作系统是什么。然后开发人员针对他们喜欢的运行时进行开发,而不是编写本机代码。
当然,我们还没有得出这个结论。我们还在漫长的道路上前行。因此,本机代码在移动设备中仍然扮演着重要的角色。因此,开发人员可以轻松地为给定平台编写代码是很重要的——假设设备制造商相信支持开发人员平台。
那么,开源对 Symbian 有好处吗?很难看出开源对 Symbian 有多么不利。但好不好,还要看社区能否把Symbian OS做成社区需要的OS。