题
使用iPhone和Android我觉得Symbian已经过时了。但它将是开源的。然而,API看起来非常不同。有这么多不同类型的discriptors,数组和Active对象让人感到毛骨悚然。维基百科文章中的厕所:
http://en.wikipedia.org/wiki/Symbian_OS#Developing_on_Symbian_OS
http://en.wikipedia.org/wiki/Active_objects
我认为,当它开放时,社区应该做的第一件事就是清理它。虽然非常困难,但我认为这是必要的。
解决方案
我认为现在判断Symbian开源是否对操作系统有好处还为时尚早。关于为Symbian基金会网站选择的品牌推广的争论表明,Symbian软件未来将扮演的角色缺乏明确性。
虽然可以说整个生态系统都知道开发Symbian OS的具体细节,但这本身就没有任何意义。毕竟,仍然存在一个活跃的“生态系统”。知道如何为IBM大型机开发Cobol应用程序。
您需要考虑生态系统的规模,并了解该生态系统很小,因为Symbian操作系统已经存在了十多年,而且该软件现在拥有超过1亿台设备。然后考虑一下谷歌和苹果提供的生态系统的增长率--Symbian从未产生过这种兴奋程度,也从未看到开发商的兴趣增长。当然,我们已经走了十年,你可以说Symbian已经做了很多工作,创造了Google和Apple现在竞争的格局。但仅仅因为Symbian是第一个,并不是最好的,并没有给它任何生存权。
确实说Symbian C ++习语很难学。但是,建议没有理由摆脱它们是不正确的。理由是,10年来,持续不断地认识到为Symbian OS开发本机代码太难了。大多数(如果不是全部)这些痛苦的习语都是十多年前的设计决策,虽然仍然有益于今天的移动设备已不再重要。移动硬件在过去十年中大幅增加。至少在开发者产品方面,Symbian OS并没有从根本上改变。现在考虑一下,如果硬件已经开发,那么PC会在哪里,但是软件在Windows 3.1或95上停止了。我们几乎肯定无法以这种方式对初学者进行这种讨论。
考虑其他移动平台,请考虑Android和Maemo。两者都是基于Linux的系统。两者都使用更多以开发人员为重点的标准开发方法,这使得Symbian OS看起来像是来自另一个时代。
这本身并不一定是个问题,因为正如其他人所说,Symbian OS支持多个运行时环境,这些环境使得碰巧运行Symbian OS的移动设备的开发对普通开发人员来说更加平易近人。
将运行时支持的自然结论,底层操作系统变得无关紧要。设备制造商根据成本,上市时间,质量等做出的选择。但最终用户并不关心,并且在许多情况下不知道操作系统是什么。然后开发人员为他们首选的运行时开发,而不是编写本机代码。
当然,我们尚未得出这个结论。我们仍然在漫长的道路上旅行。因此,本机代码仍然在移动设备中扮演重要角色。因此,开发人员可以轻松地为给定平台编写代码非常重要 - 假设设备制造商相信支持开发人员平台。
那么,开源会对Symbian有利吗?很难看出开源对Symbian来说会有多糟糕。但它是否会好,取决于社区将Symbian OS纳入社区所需的操作系统的能力。
其他提示
Symbian开源的主要原因是要具备竞争力。 Symbian的主要优势在于它具有十多年的移动体验,非常稳定。在诺基亚的强大支持下,Qt的端口绝对是一个主要的参与者。
维基百科并不具有代表性。
最近,在 http://www.quickrecipesonsymbianos.com
http://www.quickrecipesonsymbianos.com http://www.quickrecipesonsymbianos.com上,Symbian OS开发基础已降至50页以下一>整个生态系统都了解Symbian OS开发的具体细节。 C ++习语可能很难学,但在使用移动平台时它们有一个目的。
摆脱它们几乎没有技术上的理由。
让开发人员更简单是另一个目标。但非常重要的一个。这就是为什么Symbian Os开发中引入了许多运行时的原因。 Qt,Ruby,Java,python,OpenC,Flash,NS Basic,.Net ......
定制的开放式C ++允许开发人员有效地添加运行时。
每个运行时都有自己的权衡,以平衡性能和易用性。
开放源代码将使运行时集成和本机c ++开发更容易确定,但也有商业意义。它让更多人感兴趣,平台与其竞争对手相比更具优势。
在symbian os中有一个转向使用更常用的语言进行开发,包括C,ruby python等。尝试将symbian c ++视为WIN32编程(你不是告诉我这很简单!),如果你不这样做想要使用它你没有必要,但它是母语,因此效率最高。