Thursday, March 4, 2010

智能手机OS观察

前些天写的,是中文的就没放到 tech blog,放到生活日志又不合适,干脆建立一个中文的“技术水池”吧……

最近很是受到TIM版的 G2 的引诱,不过价格暂时还在2k以上,没有下手的动力……

开始搜索了一 些关于 android 系统手机的信息,后来好奇心驱使下熬夜爬墙的看了一大堆android的系统资料;今天顺手了解了不开源的 BlackBerry OS 的一点信息以及刚刚开源的Symbian……

总得印象就是 Android 很 有希望,Symbian 要悲剧了,BlackBerry 还能蹦跶一阵……至于Windows Mobile,这么个到现在还只支持65536色的系统我实在懒的了解,等 Windows Phone 7 的资料更多再说吧。

Android

Android 的特色之一就是 HAL,这个东西和 Linux 上的那个 HAL 同名,但是实际上起的是 OS kernel 之上的硬件抽象作用。这给了 Vendor 一个很好的避免 Linux Kernel GPL 传染的方式,消除了不少麻烦。

Dalvik VM 是 Google 自己造出来的,虽然一般被当作 Java 虚拟机,实际上执行的却不是 Java bitecode,因此理论上可以用其他语言编写然后交叉编译过去;不过 Java 为广大民工喜闻乐见,想要别的语言的估计也不太多……

Android只有性能相关的系统库是 native 的,而且给程序员用的也是 Java 包装好的接口,这对维护系统的一致性很有好处,应该不会像桌面 Linux 的那些库一样动不动就打架罢工……不过随之而来的一个问题就是拓展性,比如想加一个Helix解码库就不容易(不知道Helix?知道RMVB吧, 就是用来解码RMVB的库)。【正能解自家的Youbute视频就好啦,其他的谁管呢~


Android 用户程序生而平等…… Home 就是一个 Activity,对界面约束极少倒是像个 Linux,开发 Sense一类的用户界面相对更容易。

仰赖不同 APK 运 行于不同的 user id 下并只通过系统 bind 进行通信的机制,小机器人的安全性应该不错。当然到处乱刷 ROM 的风险还是不小的(特别在国内这种迷信xxx论坛美化/优化版的 地方,这种问题更严重,不厚道的说现在开发基于 Android 的 Adware/Malware已经很值得考虑了)。

Android 上现在还没几个收费的游戏,这说明大的软件厂商还没有大举进军 Android,暂时以来自自由软件世界的个人英雄主义开发者为主,不过这应该只是时间 问题。

需要说的一个是“ Android 不能关程序”这个说法,这个是设计成这样的,不是缺陷,理论上应该还是 个不错的想法。不过不知道运行时会不会智能的学习程序行为,对不同程序区分对待。如果没有,倒是可以考虑研究之……或许能在 Android 圈里立名,呵呵。

BlackBerry

铁板一块……想 hack 都找不到门的系统,只是提供了 Java API(不知道Android 是不是就是和BB学来的思路?)好处就是安全,坏处就是不那么geek-friendly。

另外 BlackBerry 结合企业应用还是很有点积累的, 有一套通过手机远程使用假设在公司服务的系统 (BES),这公司居然没跟着风大喊自己搞的是云计算,真是太憨厚了 *^__^*

不过没了 BES 感觉 BB 就少了 很多竞争力…… 尤其是在现在世界娱乐化无聊 化(以facebook崛起为特征)的大潮中,BB 对于第三方应用程序/游戏的开发者/开发公司的吸引力稍欠,有被边缘化的可能。

Symbian

从1980年开始活到现在了,比 DOS 长寿多了……Symbian(包括目前在规划和路线图中的 Symbian^3和 Symbian^4 的最大特点就是支持用户级别的 native 程序,反倒是 Java VM 在整个系统中看着很不伦不类……

大家常说的S60 其实是 Symbian 的上层而已,使用同样 Kernel 的还有以前 Sony 家的 UIQ 以及几乎没见过的 S90 等; S60 基本上是随着 Kernel 版号发行的。

Nokia 的开发语言是 C++, 准确的说是 C++的一个芬兰味方言版,哈哈。当 iPhone 开始颠覆手机概念的时候,Nokia 认识到需要一个更好的界面,于是收来了Trolltech ,把未来寄予在 Qt 上。在这之后就经常在 Youtube 上看 Qt 团队秀效果…… 不过全面 Qt看来还要等 Symbian^4 ,大概在 2010 Q4才会搞好……我个人很喜欢 Qt , 不过我还是认为 C++ 可能不是在手机上的 最好选择…… 一则 Nokia 方言版的 C++ 很多限制,二是代码质量和系统安全都是挑战。(总体来说我认为当今 IT 从业人员写代码的能力持严重怀疑态度,开发工具最好越傻瓜化越好,而 C++ 太需要“智能”了,让二流开发者拿去 race to market 不现实。)

好在 Nokia 很 怕在一棵树上吊死,Java、Python、Ruby,连 .Net 都有……加上最近打了鸡血似的全面开源 Symbian ,接着拿出 Symbian^3/^4 的时间表,甚至跑出来指责 android 开源不彻底;看来去年在智能手机市场上份额的4% 下滑已经把 Nokia 的尾巴点着了……

No comments:

Post a Comment