您的位置:首页 > 运维架构 > Linux

纠正关于MeeGo, Android, Linux 等等的错误认识

2010-08-26 12:36 344 查看
看了Meego还不是Nokia的那颗救命稻草关于Meego不是Nokia救命稻草论战后记,实在忍不住想纠正文和留言中的技术错误,现列举如下,提前说明的是我基本支持MeeGo的框架,同时鄙视Android:-):

 

”一个Meego三张皮...值得注意的是,这3个不同的UI设计风格大相径庭,和iPad承袭iPhone的设计完全不一样。此外,我们说Android有自定义三方UI,分支混乱,但好歹人家都是跑Android的Java虚拟机,下面都是统一运行环境。Meego可好,下面的运行环境也被分裂为Qt和Clutter。试问,作为一个开发人员我到底应该选择Qt还是选择Clutter呢?Nokia到底如何保证三种不同Meego平台的一致性呢?"

正如iPad由于继承iPhone的界面一致被许多人嘲笑为"big iPhone",因为设备不同,界面风格的变化有一定的道理,至于是否成功,需要用户的检验。至于clutter和GTK的存在是历史的原因更是MeeGo Netbook UX开发者固有的思维惯性导致的(详见MeeGo Dev maillist),我希望最终MeeGo会统一到Qt,还有一种可能就是Netbook UX变得不再重要,因为tablet会抢占它的市场。

 

“Intel,你可以哭去了,还是老老实实的卖CPU吧”

如果仔细看看MeeGo开发者的组成和基于Moblin的核心系统开发,你会发现Intel对MeeGo有相当的控制力。不过,这并不一定是件好事。

 

“如Firefox、Chrome做法无一不是抽离核心功能和UI,针对每个平台做UI的特殊化处理,否则用户体验会大打折扣。”

其实MeeGo项目从来没有说过代码只需重新编译就能适应不同UX,相反类似上面提到的做法却会被采用的,只不过只有UI相关的代码才会被重写,而不是针对不同操作系统--通常人们提到的跨平台。特别重要的是QML和Qt Quick的应用,则有可能使重写UI变得简单。可参考这篇文章

 

“Moblin是从fedora改过来的,并不是Maemo”

Moblin 1.0 是基于Ubuntu,而且基于Maemo 4.x 的Hildon。从Moblin 2.0开始,它转向Fedora + clutter,等到了MeeGo,开发者甚至不愿承认它曾经基于Fedora,详见MeeGo Dev maillist。Maemo 始终基于Debian和Hildon。

 

"手机版本延续了Maemo.在原来的基础上进行了改进"

可惜的是Maemo 4.x和5基本被抛弃了,如果你将N900的UI和软件包与MeeGo比较,一切一目了然。

 

“Nokia会主攻Meego手机抢手机失地,Intel主攻平板抢ARM联盟的市场”

Intel始终最关心的是手机中使用x86CPU,搜索一下Intel的官方文章,国外的评论,博客就能知道。

 

“ Gnome界面和Kde界面软件是兼容的。我用过gtk+做开发,的确没Qt好用。”

“2. 界面是兼容的。口水仗是从来没停过的。”

“2: 这个不用说了,KDE软件能够在gnome下跑是因为Qt实现了一个GtkStyleEngin.

对于在windows上,怎么实现win7显示效果。也跟这个引擎有关。遗憾还没做深入研究。”

“2.跨平台可不仅仅是能够运行就可以了,还需要和UI深度整合。桌面环境的GNOME、KDE、Windows都是一种风格,手持设备可就千变万化了,iPhone、Android、Symbian风格迥异。”

这里从"兼容"跑到了"整合",谈的不是一件事情。不需要QGtkStyle,KDE/Qt应用也能在GNOME下跑。注意这里不是什么复杂的Engine,只是不同的renderer。这些讨论完全变成“怎么让应用在哪里运行就像谁”的问题,也就是Native look and feel的问题,完全和MeeGo的目的没关系。

 

" 其实大家不要以为Meego对于Nokia和Intel就是同一个东西。Nokia的Meego其实仅仅是关注与手机版本的Meego而已,基于libmeegotouch。包管理也是延续原来Maemo的deb包管理的。"

MeeGo只有一个,即基于RPM的distribution。不管UX是什么,core OS 是一样的,参考repo.meego.com。

 

“Meego手机的优势是速度,Meego手机系统优化成形以后完全可以在中端硬件就可以有很好的UI效果。但是Android则必须在高端硬件才能用,懂行的人看看Android架构就知道为什么了。 ”

这完全是主观臆断。举例而言,MeeGo要求设备有OpenGL ES2.0 图形芯片,Android却不需要。

 

“Android估计将来还是得回归C/C++系的开发上去。手机上面搞Java注定就是杯具。看看iphone和meego。手机最大不同于电脑,在于手机用的是电池:) 不过好像Android也开始搞NDK了。”

再次主观臆断。Android的Java已经证明是成功的,就算是换,Google Go概率最高。参见对Oracle起诉Google的评论。

 

"Qt社区里面也有让Qt在Android上跑。由于都是基于Linux,工作量并不是很大"

Android 用户模式下的软件完全和GNU/Linux不兼容,连libc都不兼容,光解决依赖的软件包就很复杂,更不用说不同的UI系统。也许等Qt lighthouse完成了会容易一些。

 

“Android底层是Linux.至于主要用什么工具开发界面。”

操作系统不是内核+界面工具。Android 相对常见的GNU/Linux只保留了一个不兼容的内核,其它的都有意重写,这样可以减少授权的问题,也能对系统完全控制。

 

我其实和“chaochen”一样对Qt有信心,只不过技术上我更喜欢KDE的plasma,因为它可以用一个UI框架做出桌面,Netbook,Mobile界面,真正实现框架的统一。参见Kubuntu, Kubuntu Netbook remix 和 视频
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息