对比iPhone OS、Windows CE、Symbian 谈 Android 的开源
2010-02-08 16:57:00 来源:WEB开发网近期很多站点表示Linux Kernel移除了Google Android的部分代码,其实很好理解。在内核部分Google改进了部分内容已经回馈给Linux社区,同时提供了bionic库这个C/C++库。就Android本身的开源情况来看说它开源彻底不彻底是相对的,Android123就以主流的操作系统平台开源作对比。
1. iPhone OS,这个基于Unix内核的产物从Darwin开始开发,熟悉FreeBSD的用户可能对这些不陌生吧,不过经过Apple公司多年来的更改,相信很多程序员对苹果使用Object-C以及这些闭门造成的东西恨之入骨,由于Apple的限制可能更能集中的设计出一些高品质的产品。基本上是最封闭的平台。
2. Windows CE,目前很多嵌入式领域主要使用的系统,基于ARM指令执行,但在API层和Win32的部分接口兼容,很多东西对OEM开源,不过现在基本上已经算是最开放的系统,至少平台限制是最少的。
3. Symbian,Nokia在购买了Symbian S60、UIQ后开始统一设计Symbian^2以及更高版本,最终的是Symbian自身的内核结构使用了Epoc在处理内存方面过于局限,不适合未来高配置硬件使用,同时开发能力的限制对于开发人员来说成本太高,尚未涉及敏感操作的商业软件的签名费用需要200美元,否则就会看到满天下签名和证书问题,所以Nokia早有准备发展Maemo这个Linux内核的系统来抗衡目前的主流智能平台。
4. Android作为目前最开放的平台,相对于以上四个主流智能平台而言,提供几乎所有的代码,设备驱动其实也是很开放的,驱动程序作为系统的核心仅开放主要的合作伙伴,我们在GIT中可以看到有关WLAN以及部分多媒体的驱动均以开放,各个不同CPU厂商的代码还需要大家自己移植和开发,不然 Google真的成了做好事的人,所以造成的问题就是清一色,目前来看Android开源程度占总源码的1/3,主要体现在中间件,对于初级和中级的分析研究比较有帮助。
绝大多数的Android手机使用Qualcomm的CPU,部分厂商自己有研发能力可以移植到TI OMAP上,而其他的Marvell被中国移动Ophone上使用(毕竟不包含基带的牵扯,因为TD-SCDMA问题),而国内大多数山寨喜欢用的 Samsung 64X0解决方案需要自己处理,不过总体而言可以看到发展的趋势已经很明了,对于大多数厂商,已经涉足Android来看它的开放度至少很多厂商可以定制该平台,而iPhone使用的Mac OS以及Symbian OS没有把,所以抱怨归抱怨,不过最不爽的是Android的Native功能上限制,NDK也只能做些逻辑算法处理时最大的遗憾。
- ››iphone图片拉伸的几种方法
- ››iphone正则表达式的简单使用
- ››iPhone开发Unresolved Symbols CAKeyframeAnimati...
- ››IPhone开发-“此证书是由未知颁发机构签名”解决方...
- ››IPhone开发-整合私钥和证书,生成.p12文件
- ››iPhone应用开发-UIPickerView选取器详解
- ››iphone 获取屏幕的宽度和高度
- ››iPhone读取工程包中的二进制文件
- ››iPhone新手机 不挂YouTube APP
- ››iPhone 获取指定格式的时间和日期
- ››OSC“回到顶部”代码
- ››OSCHINA 使用 Github 登录的源码
更多精彩
赞助商链接