主题:【原创】论山寨手机与Android联姻的技术基础 -- 邓侃
但mtk在北京的研发团队在做android的应用,台湾团队主要做架构设计,还请了高焕堂做顾问。前段时间mtk搞定了高通的专利,估计后面就快了。
google了一下,有以下link:
http://www.test3g.com/thread-47040-1-1.html
不知道WinMobile会有什么动作。
不进则退,甚至玩完。
http://www.android1.net/Topic.aspx?BoardID=11&TopicID=1075
1. MTK + Android將讓山寨機廠商手中握有尚方寶劍(應用框架和系統框架)。
2. 山寨機廠商除了親自撰寫少許的Kill App之外,不必再僱人開發專屬的應用程式了。
3. 不只MTK要提供框架(而不是過去的薄薄床單而已),山寨廠商也要去協助推廣框架、充實框架的內涵,來容納全球各地Android App Store架上的眾多應用程式(即研發各種質地的彈簧床,來讓成人、小孩等睡覺)。
疑问是Android App Store与芯片组有什么关系。
这个问题问到点子上了,和我的第一反应是一样的。用的不是Atom,不过x86的问题是一样的。
http://d1.it168.com/show/21756.html
XP手机注定无法成为主流,但它能从另一个侧面说明,操作系统已经成为智能手机产业链里的短板。
Andorid的成熟度不够,TMobile G1送电池的故事还有可能反复上演。
Windows Mobile的开放度不够,而且经常干一些左手打右手的事。
最关键的问题还在于,在手机操作系统领域,哪怕是iPhone上的软件数量也无法和Windows上的软件数量相比。
XP手机虽然剑走偏锋,但是他们赌的是x86 CPU 功耗的快速下降,从Intel刚发布的Atom Roadmap上来看,他们的成功机会还是很大的。
我听了一些无法证实的小道消息,据说现在XP手机的待机时间已经能够和当年多普达第一款手机相比了。:)
昨天是边开会边回复的,后来那边厢吵热闹了,我就去救火了。
我的文字没经过整理,想到哪里说到哪里,您想用就拿去用。
Smartphone的部分您先说,到Windows Mobile部分,我在后边跟着。
接着把Android说完吧。
----------------------------------------------------------------
没有细说ARM和Android这个话题,这里其实主要是两个问题:编译器和BSP。ARM最近这几年发展很快,ARMv7出来后,很多编译器都没有跟上,可是Android背后靠的是GCC,在这方面占了极大的便宜。而且对于MIPS、SH的支持都是由开发者社区完成的。这些其他公司要投入极大资源来做的事情,在Open Source社区就是一如反掌的事情,开源可敌十万兵啊。
在短短一年内完成了对主要CPU的架构支持,这相当了不起,当然质量如何还要时间检验。而产品级的东西,还是要有专业的技术团队支持的,比如PXA,他们已经做了快三年了。
BSP我就不多说了,因为Andorid的BSP和Linux太像了。所以很多小公司声称自己支持Android,就是将Linux BSP放进去build了一下,能出桌面就OK了。可是学建筑的都知道,大厦外部框架起来后,只是完成了工作的一半,内部装修还要慢慢来呢。
说到这里,不得不扯扯Andorid之父,软件界很多之父都名不符实,因为软件是大家一起做的,不过这位是货真价实的。Andoird的思想至少要领先其他OS三年以上。Andoird用了一个非常讨巧的办法解决了开发资源的问题,对于OS Kernel和编译器这种七十年代就成熟的技术,直接采用了“拿来主义”,对于App Framework,用了一个开源项目,不过此Java非彼Java。其实Android做的事情不多,定义了一个类库、实现了Middle ware这一层。不过这才是抓住了主要矛盾,我们分开来看:
1,类库
长期以来Linux无法和其他OS对抗的原因,是缺乏一个坚强的API层,我在此Linux上开发的应用,无法跑在彼Linux上。这个问题也出现在所有手机OS上,J2ME曾经试图统一过API层,不过因为太过迁就低端手机,类库包含的范围太窄,导致手机厂商在上面私搭乱建,Sun也没有中国城管的战斗力,对这种违章建筑也没什么好办法。
Windows Mobile和iPhone则走向了另一个极端,用我的OS者得救。Android走的是中间路线,但更偏向Windows Mobile这边。不过最近的Ophone,XXPhone出来后,这种大一统的模式也面临着巨大挑战。其实这也是没办法的事情,强势如Windows Mobile者,重力感应都出来快两年了,你还没有定义API标准,手机厂商自己盖个小厨房也不算犯法不是?
2,中间件
这个中间件是从Feature Phone搬过来的,跟IBM那套鬼东西没关系。如果说类库的问题大家都看到了,而且也组织过无数次的自救,比如Moblin什么的。但是Android在Mid-ware这层的一些细节,简直可以用惊艳来形容。
比如Mashup,这个不多说了,诸位做互联网的比我更清楚;
比如Service类,将系统级、应用程序的功能调用都封装成Service,可以被其他应用程序无缝调用。
再看看Android在这一层具体实现了些什么:Webkit、OpenGLES、Media Framework、SQLite、SSL……
这些都是消费类电子产品的基础组件。如果按照这个思路走下去,Service不但来自操作系统和应用程序,而且来自互联网的都可能是我的Service. Web Service也不是啥新鲜事,Android的封装可以让你不知道你的Service来自何方。
见微知著,所以,说Android是第一代面向服务的手机操作系统也不为过。
尽管个人很推崇Android的思想,但总觉得Android在技术上太过完美了,即使有一些瑕疵也属于成长的烦恼。不过IT界似乎容不下太过完美的东西,还有人记得BeOS吗?
Android最大的问题是他的商业模式,做一个操作系统的花费是一个天文数字,哪怕Google再有钱,但他是一个上市公司,他还能容忍这种纯花钱的项目多久?
Android像是Google给所有人准备的一颗糖衣炮弹,你们免费用我的操作系统,但我要在互联网服务上将这笔钱赚回来。不过亚洲的锤子、棒子们把糖衣吃了,炮弹又打回来了。OMS不就是借Android的尸,还了CMCC的魂吗?此处存一个大大的疑。
刚才看到有人在抱怨蓝牙,我只能说,Android的路还很长……
-----------------------------------------------------------
最后说点Android之父的八卦:
这位在做Android之前还做过一个手机OS,大家有兴趣可以去找找那个OS的归宿。据小道消息说,那个OS和我目前服务的公司有一些剪不断理还乱关系。
WIFI兄好,我在西河一直是看故事的,被侃兄勾了出来。我是马宁。没想到这里还有熟人,不知道您是哪位,方便的话通个消息。谢谢!
我也没做过MTK,不过在nucleus上Porting过一个GUI系统,其中的辛苦不说也罢。我的感觉,nucleus就是支持多任务的DOS,可是Smartphone需要的是带UAC的Windows.
手机操作系统的应用程序Trust机制比PC操作系统要好很多,而且操作系统内建的安全机制,比后来加上去的要好很多。S60的证书问题一直饱受诟病,但是没办法,内部没有安全机制,只能控制开发者行为,所以才引起了那么大的反弹。其实这方面Windows Mobile做的真是不错,很多人说,Windows Mobile上没出现病毒,是因为用的人少,这个……其实有点以偏概全,Windows Mobile不但限制了应用程序对文件的访问,而且限制了其对核心API的访问权限。这一点还是值得学习的。这种思路有点像当年反病毒行业提出的“主动防御”概念,你想干坏事,肯定要访问那几个API,我只要看住了API,你也就没什么活动空间了。可是,由操作系统来做这事,比反病毒软件要好,毕竟反病毒软件的实质也是病毒。
Android的情况不太清楚,不过Linux内核上没有类似机制,这也是Android当初只支持托管代码的原因吧?不过现在C++接口开放了,很多问题就不好说了。等着看吧,当应用程序的数量到了某一个数量级时,病毒自然就出来了。
另外,据做iPhone的兄弟说,Mac OS内部也没有类似机制,所以水果公司对于开放SDK才一直遮遮掩掩。小道消息。
原来不仅是同行,而且是邻居。
顺手举个例子,
小马哥是不是暗示Danger的事情?Danger最出名的产品是Danger Hiptop, 又称T-Mobile Sidekick。
后来Danger被MS收购了。大鱼吃小鱼的事情,天天上演。Danger被其它公司收购,本来不奇怪。但是买家是MS,这事儿透着蹊跷。
1. 据悉DangerOS是一款Java手机操作系统。DangerOS与J2ME是什么关系?DangerOS与Any Rubin后来做的AndroidOS有没有继承关系,莫衷一是。
2. MS为什么对Java的手机操作系统感兴趣?MS收购了Danger以后,本来以为会有跟进动作,但是却没见着。有人说MS收购Danger,根本目的是意识到了以Java为基础的手机操作系统对WinMobile的危险,欲扼杀之于摇篮。这个说法是不是靠谱?
3. 虽说Danger被MS收购,但是DangerOS现在却由Google维护,而且是开源项目。这种怪异的现象,是不是说明MS与Google有什么合作协议?MS为什么要和Google合作?
小马哥的回帖里,蜻蜓点水般提及很多有趣的话题,如果把这些话题展开,都是有趣的故事。
说到Android对于手机OS的贡献,小马哥的论述是,
这个观点很老辣,但是行文过于简略。在我看来,如果不熟悉手机的制造过程,便难以理解MTK以及Android的贡献。如果大家不嫌我啰嗦,我打算在高人的指导下,接下去先谈谈“手机是怎么造出来的”,然后再回过头来分析和理解小马哥的评论。如果有说错或者含混的地方,请大家及时指出,便于及时改正,以免流毒四方。
下周比较忙,可能发帖不会太频繁。不过不妨碍当一周读者,等着读大家的好帖。等消停一些以后,接着写这个系列。
宁老弟来了。我们后面的故事就更精彩了。
记得RIM也是做java起的家,花谢
基本上,API就是给应用程序放权。放多了,程序更强大,但是强大到可以干“非法”的事情,就可以变成病毒;放少了,程序做不了更多的事情,开发人员就没有动力。
类似的事情,在windows,浏览器都出现过。手机里面也会是类似的过程,不过大家更有经验了。硬件提供的虚存空间,中断这些东西,也要看操作系统是不是用的好。总之,存储,CPU cycles,带宽和电源这些共享资源,看操作系统怎么分配了。
比如Service类,将系统级、应用程序的功能调用都封装成Service,可以被其他应用程序无缝调用。
再看看Android在这一层具体实现了些什么:Webkit、OpenGLES、Media Framework、SQLite、SSL……
这些都是消费类电子产品的基础组件。如果按照这个思路走下去,Service不但来自操作系统和应用程序,而且来自互联网的都可能是我的Service. Web Service也不是啥新鲜事,Android的封装可以让你不知道你的Service来自何方。
××××××××××××××××××××××××××××××
未来的OS是面向网络的,应该把本地数据本地资源和网络数据网络资源无缝连接,不再区分本地和远地,所以应该提供统一的API给所有
应用程序处理网络数据。这些功能都由OS统一提供,不需要全都去调用浏览器。浏览器只是和其他程序平等的网络应用。
远地的程序之间用XML标准API互相调用,和本地OS 提供的API一样。
我以为chrome OS会这样做,结果出来只是个精简linux锁定浏览器。这是解决过去的问题,不是为未来准备的东西。
最终可能会被Android吞并。
长期以来Linux无法和其他OS对抗的原因,是缺乏一个坚强的API层,我在此Linux上开发的应用,无法跑在彼Linux上。这个问题也出现在所有手机OS上
×××××××××××××××××××××××××××
就是虽然开源,却没有API,最终也没有发展出应用软件群,最后摩托linux无疾而终。不得不用android