前后参与过Symbian/Android/iOS/WM的程序开发,在这里列一下各个平台程序开发感受对比。
Symbian:
1. Symbian开发的配套文档比较差。虽然也有Symbian SDK配套的文档,但是Symbian文档大多惜字如金,对类及函数的说明都相当简洁。另外,Symbian体系结构相关的文档也相当少或相当简洁。因此,不太熟的Symbian程序员,只能结合差劲的文档和自己的经验,经过不断的猜测和尝试,才能完成编程。这样造成的后果时,Symbian程序员很难对Symbian程序有比较彻底的理解,除非做Symbian开发很多年,积累起非常多的经验。Symbian开源本来可以弥补文档的不足,但是可惜现在又不开源了。
2. Symbian开发的调试环境太差。模拟器慢得让人难以忍受,并且大多数情况下只能用来调试UI等比较简单直接的功能,复杂的功能多数情况下只能通过打印日志来调试。
3. Symbian OS的基础是在之前10到20年确定的。时间上的差异导致,其主体思路及结构与当前的主流,有很大的不同。这些不同是新程序员不小的负担,阻碍了普通程序员直接在Symbian开发上使用自己积累的其他经验。举个简单的例子,常用的字符串处理,在Symbian下用5个不同的描述符来处理,新手光是比较透彻的搞清楚这几个描述符就要花不少时间。
4. 同样由于Symbian OS是比较古老的代码,其SDK接口一致性并不是很好。例如,Symbian下的各种UI控件,由于接口相互参考性不强,新手要弄清楚这些UI控件,也需要花不少时间。
5. Symbian的参考代码太少。我觉得是Symbian的以上缺陷造成了Symbian参考代码不丰富的结果。Symbian开发并不是太流行,多数应用都掌握在Nokia等厂商手里&#