主题:【原创】iPhoneSDK观察 - 舞姿飘忽,苹果的探戈 -- AllenKid
mba1799起,mbook1099起,iMac1199起,刀够快。
说起来,我还从来没用过apple的产品。如果iphone不捆绑at&t,我一定买个玩玩。
相对它以前的路线而言(请勿与Dell横比,汗)
ThinkPad也是如此嘛~我们不能因为苹果长得比黑子好看就给安上个花瓶的帽子,说它宰人
X300 $2548起价,大家倒都很镇定的宽容接受,疯狂吹捧——难道小黑就是那传说中的Obama化身?而小白则跟总统夫人一样不招人待见?
倒不用特意去买Apple的产品,如果它够好,自然的就买下来了,而不够成熟或者不太好的东西,我倾向于给它时间去升级/完善/死掉 ^_^b 不会只因为它是Apple出品而去当冤大头的。
前一阵,我的thinkpad主板坏了修理,lenovo的服务很一般。
性能上,thinkpad,我没觉得比dell好多少,
几件换洗衣服啥的,出差极为方便。
苹果现在到底是一家什么公司?
软件公司?它的大部分销售收入都来源于硬件
硬件公司?它相较于其他个人电脑厂商在硬件性能上又毫无优势
媒体公司?它没有原创内容,跟传媒最接近的不过是iTMS商店,可是这个商店却几乎不赚钱。
服务商? / 零售商? / 时尚公司? /Steve Jobs最喜欢的玩具? 我还可以继续的列举下去......
但在3月6日,从苹果公司最受器重的青年猛将、iPhone软件部门的最高负责人Scott Forstall的口中,我们亲耳听到了苹果对自己的最新定义:
苹果是一家平台公司
Mac显然是个自成一体的桌面平台,iPod+iTunes(+AppleTV)是地位不可撼动的数字媒体平台,iPhone更是从一开始就毫不掩饰成为手持终端最重要平台的野心——平台平台平台,有什么稀罕?
我要说Steve Jobs可能再次地以自己天才的直觉,找到了Apple Inc.未来20年安身立命的所在,甚至可以说是领袖群伦的利器,那就是Apple=平台。
什么平台?没有定语吗?没有定语!苹果的野心已经逐渐显露,从高端商用到民用娱乐,从数字媒体到网络应用,Apple都竭力的挤入市场,有些很显眼,有些却不显山露水。而在各个世界都想掺一脚的巨头不只Apple一个,甚至Apple在它们面前还显得相当弱小(MicroSoft, Google), 是什么让Apple的平台策略显得那么独特呢?
答案是前所未有的集成\整合,如果我们来检查下苹果在各个市场投放的产品,就会惊讶的发现,它们的架构竟然是那么的整齐划一:从Xserve, Xsan到Mac Pro, iMac, MacBook, 再到iPhone, 新一代的iPod Touch, AppleTV~~~ 它们最核心的技术竟然没有什么区别,都是Apple招牌式的未来主义设计+相对精良的硬件制造+Darwin核心(OS X的Kernel)+CoreXX 架构+各种通用API+Cocoa开发环境+业界领先的人性化GUI(+iTunes网上商店)
Google的模式是作为现金王,它四处撒网,疯狂收购,或者以头脑风暴的方式在Google Lab发布各种看起来莫名其妙的应用。可能学生气十足,不过年轻没有失败。
Microsoft的模式是作为多个领域的垄断者,它像蜘蛛一样小心的维护并扩展着自己霸权的网,并竭尽全力让新来者更容易陷入网中,而已陷入网中的人越陷越深。虽然招人讨厌,但人们往往不得不自投罗网。
跟前两者相比,Apple这个万灵丹式菜谱的卓越之处在于,它在自己涉足的每个领域都保持着相当的竞争力,不仅如此,由于它通用架构的特性,人们发现各个平台的转换衔接是那么的流畅平滑——Apple真的从对阵MicroSoft的失败中学到了建立通用平台的重要性,并且决心把这一策略发挥到自己能力的极限。实际上很久以前SJ大概就模糊的意识到苹果面前正确的方向了,他意识到作为一家公司,苹果真正的价值所在,真正要建立的地位。若非如此,苹果不会如此决绝的抛弃过去的荣耀/包袱,专注于真正重要的平台建构:小到单键鼠标,Happy Mac欢迎画面,条纹标题栏;大到Carbon架构,PowerPC处理器——这些都让人怀念,但都不再重要。
今天iPhone的SDK Roadmap, iTMS的整合只是聚光灯下人人可见的大动作,实际上我发现过去一些不那么吸引眼球的小细节更能让人体会到苹果的转变和它推进自己影响力的决心。
1、Leopard通过UNIX 03认证
虽然从一开始OS X就明言以FreeBSD为开发基础,并跟随每一个主版本都发布开源的Darwin内核源码,可Leopard是唯一一个经认证与UNIX 03完全兼容的系统,我们可以说Leopard剥掉Aqua的壳,就是个100%的UNIX发行版。我想如果当初Apple采用BSD为基础还有些赶鸭子上架的勉强的话,现在的Steve Jobs已经很清楚兼容性对于平台的重要性,作为UNIX众多发行版的一员不但不可耻,而且值得骄傲。这种对兼容性的渴求,更是在BootCamp上表现得淋漓尽致。
2、WebKit宣布开源
与操作系统相似,Safari的渲染核心WebKit也得益于开源社区,它是以Linux两大GUI平台之一的KDE组件的KHTML和KJE衍生出来的。由于自己对内核做了相当的改进(以至于跟KHTML很早就不再兼容)并将之纳入Cocoa架构,一开始苹果并不愿意开源WebKit(当然其中得益于LGPL授权的CoreXX部分必须开放),而我想正是Apple的平台战略再次让它发现自己在网页渲染引擎上的小气没什么意思,06年WWDC上SJ正式宣布WebKit开源,而这一举措两年让苹果获得的回报可以说是相当的合算——Nokia S60平台的默认浏览器采用WebKit;Gnome的Epiphony采用WebKit;Adobe全新推出用来作为Flash继任者的Air,也采用了WebKit;连它命中的对头GPhone都采用WebKit;开源社区也对此举有热烈的回应,Qt4.4正式集成WebKit,并由此导致KDE重新考虑自己的默认渲染引擎,目前WebKit项目正在跟KDE密切合作,希望能在KDE4.1版发布之时,将KHTML正式汇入WebKit,成为一个项目——至此,这个渲染引擎回馈了开源社区,完成了涅磐,奠定了自己三大引擎的地位。
还有更好的消息,Qt4对WebKit的采纳,直接促成了这一开发平台对Cocoa的Object-C语言的原生支持,在此平台上的多个开源项目水到渠成的获得了在OS X上运行的能力,其中最具重量级的KDE4就宣布,其平台上的多数软件几乎不需要KDE图形API的支持,只需简单修改就能登陆OS X。这对于OS X平台来说绝对是大赚特赚的好手笔。
3、Safari登陆Windows平台
把基于WebKit引擎的Safari for Win单列出来讲是有道理的,因为我发现Safari除了推广WebKit引擎之外,实际上有着大得多的野心。
目前在Windows平台上“原生”运行的苹果软件有三个: QuickTime, iTunes 还有Safari.当然实际上iTunes的媒体层几乎是QuickTime的马甲而已。
MicroSoft在九十年代初期就对QuickTime恨之入骨,两家还为此大打官司,只因当时MicroSoft的DirectDraw实在是太烂,才让QuickTime在Win平台上存活至今,而可以说如果没有QT在Win平台上的存在,视频采编的业界标准早已换人来坐了,而不会是如今建立在QT Framework(现在改名叫作Core Video)上的Final Cut。
iTunes的引入很明显是为了保证iTMS商店最广泛的覆盖,这一招可以说直接促成了iPod的霸主地位,而iPod的热销又反过来促进了iTunes在Windows上的安装比例。iTunes跟QuickTime的捆绑策略,让Core Video架构又存在于每一个iPod用户的电脑上。不仅如此,它还开始捆绑Bonjour局域网协议——在利用自己垄断地位优势方面,现在的苹果可以说是相当的泼辣。
接下来说Safari。其实如果只是为了推广WebKit引擎的话,Win平台上已经有了Swift可用,Safari只能说是加强推广力度罢了,顶多算是让Windows用户尝尝正宗的苹果味。可我们看看Safari安装文件将近30M的夸张身材,就会意识到Apple肯定搞了小动作。打开Safari,我们很快就能发现它实现了很多非Win的UI特性:动画卷轴菜单,Mac风格的次像素字体渲染,网页对象或标签拖动时显示的半透明缩略图等等。再进入它的安装目录,一切真相大白!
原来Safari不仅引入了WebKit引擎,更是一举捆绑了Core Foundation(OS X的系统级C语言API) ,CFnetwork(OS X的网络接口API),Core Graphics(就是Quartz 2D, 一个矢量构图框架,OS X图形界面的基石),当然还不忘对于Bonjour更完善的应用支持。
可以这样说,如果在iTunes上Apple还有所保留的话,在Safari上它就表现得相当咄咄逼人了,它几乎把OS X一半的重要Framework都照搬到了Windows上!!!目的我想应该是再明显不过了吧(MS一定很恶心)~~~你可以想象将来的Wintel机器看起来跑的是Vista但实际上OS X API一个不缺吗?你可以想象将来程序员只需要使用Xcode编程就可以让程序原生运行在OS X/Linux/Windows上吗?我们说的不是Java虚拟机或者什么Sandbox,我们说的是性能无损的Objective-C Binary!
我这可不是磕嗨了胡思乱想,Safari下一版即将引入本地SQLite支持,不难想象iTunes也开始采用WebKit引擎并将目前是XML格式的Library转用更强大的SQLite存储,再下一步呢?Core Animation库取代Direct 3D来支援CoverFlow? 再下一步呢? Cocoa Universal for Windows? Maybe? Why not? 这种环环相扣的应用带来了巨大的压迫感。渗透,渗透,再渗透!
携着在移动平台上强大的占有率和开源的双重优势,WebKit的Safari,杀入Trident/Gecko/Presto的三国大战,成为了人人不可轻视的一角。更为重要的是,其背后平台化的野心,让它成为了MS最不愿看到它获胜的对手。因为IE对Safari的战斗不仅是网络入口之争,更是可能动摇其根本的桌面平台的争夺。也许将来Windows Defender会把Safari当作Trojan来处理吧。
现在让我们再以此为背景来审视iPhone SDK和iTunes商店的策略。一个对开发者和用户都友善的移动通讯/娱乐/计算平台,兼顾个人和企业的应用需求,与桌面、客厅和服务器等其他平台近乎100%的相容性,再加上杀手级的使用界面,领跑业界的性能表现,苹果对它的期望可想而知。而在企业级应用难以获得爆发性增长的情况下,iTunes Store增生式的企图囊括所有数字媒体/软件销售的贪婪进化,让它已经成为了一个包罗万有的重要数字生活入口,一个绕过门户,绕过搜索引擎,绕过内容提供商的超级消费级应用窗口,苹果对业界施加影响力的重要筹码,以iPhone App Store为它加持是相当的合情合理。
iPhone既是一个前景美好的移动平台,更是一个整合各个平台并保证各自地位的重要棋子,因此就不难理解Apple近乎以自己全部的资源全力支持此平台的内在逻辑了。
而建立这样一个"大一统"的平台组合,大概就是Steve Jobs心中新世纪战略的终极目标——他的Apple 2.0
(III) 扛与不扛, 这是个问题
特别是最后对苹果的战略描述,拜服,拜服啊
如果苹果真能这么做,翻了Wintel的天也不是什么神话,我不买apple的电脑,第一是因为我觉得它不如小黑可靠,第二是我不想经历转换平台的痛和软件缺失的烦.希望苹果能变的更加广泛应用,让俺也能试试看
我在文中没有讲明的是,移动终端目前并没有相当于Windows的绝对胜利者,在桌面平台,Apple这几年高歌猛进,也不过将自己的市占提高到不到6%的水平,离30%的爆发性增长点还有很大差距。
相对于Windows, 对阵Symbian/Blackberry/Windows Mobile/Linux的胜算显然要大得多,不仅在市占率上目前没有一个明确的赢家,而且消费者也更接受硬件与操作系统紧密捆绑的产品模式。目前看来,至少在智能手机部分,iPhone OS成为老大的可能性是非常的大(至少在美国如此),这就能给那个以Darwin为基础的大一统平台注入一剂急缺的强心剂。
Apple上周反复强调Mac程序员转为iPhone开发是多么的直接容易,其实反过来,iPhone程序员转为Mac开发也是同样的直接容易。如果这一平台群的软件开发真的如Steve Jobs希望的那样蓬勃发展,那么这必将成为IT界避实就虚,曲线救国的经典战例。
这两天就想着下载个MAC OSX的x86破解版, 再弄台cpu能跑的机器装上, 体验一下iphone sdk.
苹果的软件设计思路确实有独到之处, 楼主的好文让我有突然看到一片新天地的感觉. 上花, 学习.
补充一下, LGPL许可证无需使用者开放源代码. 因此webkit可以看成是apple主动的开源战略.
谁都不愿意看到自己辛苦搞的成果随WIN升级而灭失,因此一个好平台能存在更久,运行其上的应用亦然.UNIX就是好平台,搭UNIX的车才能更轻松地走更远.苹果的"平台公司"若叫"舞台公司",或许更贴切?
微软最糟糕的莫过于自己的平台让他们自己给糟蹋了.
至于WebKit的LGPL协议问题,详细点说起来是这样的
一开始只有KHTML引擎和KJS引擎,这两者分别是KDE项目的超文本渲染引擎和JavaScript引擎,据我所知它们跟其他KDE的成果一样都基于LGPL分发。
苹果在2003年采纳了这两个引擎来作为自己浏览器的基础,分别对它们进行了相当程度的修改,并且将其OS X版本重命名为WebCore和JavaScriptCore,再给它们加上了一层Objective-C的应用接口,打包起来,统称为WebKit.
由于KHTML跟KJS基本上就是两个库,而在LGPL的许可之下虽然第二方有将整个产品闭源的选择(即不传染),但是无论对库文件做什么修改,LGPL协议都将继承。因此虽然WebKit闭源,但是WebCore跟JavaScriptCore却一直都是开源的。
在这里会有些费解是因为一般的企业如果应用基于LGPL的库,一般都不会对库文件投入什么精力优化或增强,自然不存在版权协议上的误解,而Apple则从一开始就对这两个库投入了不少的精力,免费完善非嫡系的开源软件,这对于商业公司来说是种少见的犯傻行为。(当然现在WebKit/KHTML的方向已经完全由Apple把持了,KDE反而成了合作方)
最新进展是在KDE4提出KSVG2绘图之后,WebKit迅速拥抱此引擎,决定将其加入自己的新特性。 结合Quartz 2D本身的矢量绘图特性,也许我们将在下一版的OS X中看到第一个真正全矢量绘制的可无缝集成网络内容的(SVG Widget)RI (Resolution Independence)桌面。
P.S. Mac Snob+KDE Geek的结果就是WebKit引擎的极速与精致,不但渲染速度保持领先,而且在Acid 3测试里也大幅领先主要竞争者
而是软件化服务.和Google的Android一样,apple和google或多或少表现出了想把移动运营商变成带宽提供商的意愿,如果他们能成功,则有一个广阔的天地等着他们去开掘,其他服务软件倒是没那么可怕,至少在现在这种水平的移动带宽使用费来说,不很可怕
虽说iPhone在任何国家都捆绑运营商,但这我想只是苹果为了自己应用兼容性作出的决定,3月6日发布会后的Q&A上Jobs也说得很明白了,iPhone是苹果的iPhone,AT&T只是手下打杂的(大意如此)
iPhone刚出世时的激活堵塞,AT&T就满肚子委屈,因为Apple根本就不给它足够的时间研究激活接口
再考虑到近几年来它跟业界各个大厂的合作历程,很容易发现跟苹果联盟是件超级费力不讨好的事: Adobe现在还被掐着不放Flash;Sun的Java从Leopard起就被当敝履踢来踢去,ZFS支持也变成了美好前景;Intel给Apple搞特供特价特殊型号,结果Intel Inside的小标签根本贴不上去;MicroSoft更惨,每次都被当成笑话的屁股,PC vs Mac的广告收视率又是那样的高~~~好像唯一还没有被摆一道的就是Google了,派个Schmitt参加Apple董事会还真是兜得住啊
一直看得俺恶心.就凭这个广告Apple就该成为业界公敌.俺看了那个广告以后的第一反应就是这辈子打死不买任何apple的东西.
这种性质的广告自然会有人反感,但不幸的是,反感M$的人要比反感Apple的人多得多得多...
所以自从这个系列广告上线以来,受到的是压倒性的好评,而且收视率超高,任何调查表中都在前三的水平(第一名常常是Burger King),似乎BusinessWeekly还把它评为07年最佳广告。
我个人觉得这个广告常常夸大和扭曲事实,不过一直属于那种淘气式的小使坏,而且它往往很搞笑,当然大部分是要拜John Hodgman和Justin Long的喜剧天才所赐。
当然从06年“Get a Mac”第一集播出以来,就有一些人对此表示不满,毕竟M$也是有部分Fanboy的...等等...你不会是MSfanboy吧...这年头可不常见了!请千万坚定立场,保重身体!^_^
不过广告这东西嘛,也不要太在意了,有的时候招你烦也是种广告方式,比方说最近的MBA广告,那个“I'm a new soul, in this very strange world~~~blah blah”真的快把我烦死了,好像每隔5秒钟就可以看到一遍——可是不仅MBA长卖脱销,连广告歌手Yael Naim都鸡犬升天,由无名小辈空降BB榜单曲前十位。(去年nano 3G的Feist也获得l了Super Apple Bump)
它最后悔自己对互联网理解不够,但从此之后它家对于整个IT业态的理解和前瞻性都相当的厉害
只是在实施上常常磕磕绊绊,让人大跌眼镜而已,但是MS毕竟有.net, 有C# 有SilverLight等一系列目光长远的软件框架(这个意义上看MS还真从根子上保持着软件公司的本色),而苹果目前对于自家OS X和Cocoa的发展前景还是一直语焉不详讳莫如深,当然这是Apple家传统的神秘,可从另一方面讲,这对平台上的开发商来说,可不是什么值得欢迎的消息——比方说JIT的实现和自动资源回收的引入,就完全没有一个让人放心的路线图——不知今年WWDC会不会有什么好消息