http://apple4.us/2008/03/allenkidsiphonesdk.html
iPhone SDK 观察 - 舞姿飘忽,苹果的探戈
3 月 6 日的 SDK Event 可能比我想象的重要许多,Apple 官站大张旗鼓的推广宣传,QuickTime 直播,iTunes Podcast 下载,昨天还意犹未尽的放出了 HD 版的流媒体链接。开发者档案库的迅速上线,HIG(用户介面规约),Reference 也更新得相当及时,更别提 ADC 动用多位传教士(Evangelist)录制的 10 段总时长达 3 个小时的详解视频了(均可供 ADC 会员免费下载,制作精良,信息量也不错)。
业界各大厂商也纷纷示好,甚至不惜以热脸贴冷屁股(如升阳),PC 游戏天神 John Carmark 也对其开发环境赞许不已。
而各路亲水果族的评论员们更是迫不及待地开始山呼万岁,认为 iPhone 平台即将一桶浆糊了。
这个搅得大家精神莫名亢奋的 SDK Roadmap 到底是虾米碗糕?我们先来简单看看吧:
1、开发环境为 Leopard 上的 Xcode 套件(其中包含定制的 Instruments 实时性能监测和 Debug 工具,以及接近全功能的 iPhone 模拟器),语言为 Objective-C,但提供 C,C++ 的原生嵌套支持。
2、iPhone OS 的系统架构和多数 Framework 与 OS X 大同小异,从 Unix 内核,到 Core Foundation Framework 系统级服务,再到更高层的Quartz2D、 Core Animation、Core Audio、OpenGL ES/AL都完全相同或者是功能相似的简版,一直到最顶层的 API 才有些真正重大的区别,桌面版 OS X 使用 Cocoa, 而 iPhone 版则是变体 Cocoa Touch。所以一个有经验的Mac程序员几乎可以毫不费力的适应 iPhone 的编程。
3、SDK 免费下载,但是想要真正在 iPhone 上运行需要花费 99 美元加入 iPhone Developer Program, 由此不仅能得到官方的技术支持,也允许其将软件挂上唯一的 iPhone 软件商店 App Store 出售,开发者自由定价,销售收入与苹果七三分成,除此之外没有任何的管理、帐目、挂载费用——如果你宣布免费,那么苹果也就不向你收钱。
4、苹果将会对上线软件进行审核,诸如色情、恶意、违反开发者协定等等的软件将不能获准出售。
5、苹果联合著名风投 KPCB 设立总额高达 1 亿美金的 iFund,用来鼎力支持在 iPhone 平台的创业的开发商。
根据在各个苹果开发者论坛看到的情况,似乎大家都对此框架表示意料之外的惊喜,虽然 30% 的提成看上去很高,但是 1、开发者无需购买昂贵的开发用机,任何一台 Intel Mac 都可以胜任,外加一台测试用的普通 iPhone,99 美元的会员资格,就是一个完整的开发环境。这个比很多移动/主机平台的开发成本都要低得多。2、开发者将完全不用操心营销问题,iPhone 的 2.0 版固件将包含一个 App Store 按钮将软件直推到每一台终端,并且没有主机费用,没有库存/物流费用,只要你的软件不出大篓子,那 70% 就是净收入。就像某开发者说的那样:管它多少钱的 70% 也比零蛋的 100% 要好。Ars Technica 的 John Siracusa 更是掩饰不住的欢歌: 我们要发财啦!!!~~~~
但是在最终用户那里,我们看到的却更多的是担心,担心苹果的审核制度会扼杀很多对用户很有价值,却不符合 Apple Inc. 利益的软件,比如直接从 Amazon 购买无 DRM 音乐的软件,使用 EDGE 网络的 Skype 软件等等。
更进一步地探究 iPhone HIG 等相关文件,我们还发现了苹果对于开发者进一步的约束:
1、同一时间只能运行一个第三方软件,当切换程序时,之前的程序应顺利保存退出。因此开发者应该为此特性作好准备,保证用户再次打开本程序时回到退出时的状态。
2、程序退出后原则上也不允许在后台执行 Daemon 以获得必要的数据。(这个引发了大家对于即时通讯软件表现的担忧)
3、第三方程序不得引入自身的 Framework 和 API(因此升阳真的单方面开发 iPhone 版 Java 虚拟机的话,大概是要吃官司的。)
4、第三方软件不能对文件系统进行操作,不能利用扩展坞与外设进行通讯(这两条显得超级没天理,在这里 Apple 显得很 evil。)
从发布会和强大的 SDK 对于开发者完全开放底层 API 来看(可直接操作 BSD Socket 和网络端口),Apple 明显是想把 iPhone 打造为一个对开发者友好的强势平台。而 SDK 使用协议中的诸多限制,却让人心生疑窦——虽然 已经有开发者证实,所有这些限制在 SDK 中都没有硬性实施(你要想在自己的 iPhone 上搞多任务完全没问题),但毕竟 Apple 掌握着所有软件的生杀大权,它的这些条条框框将极大的束缚第三方软件的功能和实用性——这种进一步退两步的姿态,实在让人难以捉摸~~~
苹果的探戈,让人看不懂啊...
iPhoneSDK观察 2 - 舞台宽广,才能跳得欢畅
苹果现在到底是一家什么公司?
软件公司?它的大部分销售收入都来源于硬件
硬件公司?它相较于其他个人电脑厂商在硬件性能上又毫无优势
媒体公司?它没有原创内容,跟传媒最接近的不过是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, Apple TV~~~ 它们最核心的技术竟然没有什么区别,都是Apple招牌式的未来主义设计+相对精良的硬件制造+Darwin核心(OS X的Kernel)+Core XX 架构+各种通用API+Cocoa开发环境+业界领先的人性化GUI (+iTunes网上商店)
Google的模式是作为现金王,它四处撒网,疯狂收购,或者以头脑风暴的方式在Google Labs发布各种看起来莫名其妙的应用。可能学生气十足,不过年轻没有失败。
Microsoft的模式是作为多个领域的垄断者,它像蜘蛛一样小心的维护并扩展着自己霸权的网,并竭尽全力让新来者更容易陷入网中,而已陷入网中的人越陷越深。虽然招人讨厌,但人们往往不得不自投罗网。
跟前两者相比,Apple这个万灵丹式菜谱的卓越之处在于,它在自己涉足的每个领域都保持着相当的竞争力,不仅如此,由于它通用架构的特性,人们发现各个 平台的转换衔接是那么的流畅平滑——Apple真的从对阵Microsoft的失败中学到了建立通用平台的重要性,并且决心把这一策略发挥到自己能力的极 限。实际上很久以前乔布斯大概就模糊的意识到苹果面前正确的方向了,他意识到作为一家公司,苹果真正的价值所在,真正要建立的地位。若非如此,苹果不会如此 决绝的抛弃过去的荣耀/包袱,专注于真正重要的平台建构:小到单键鼠标,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的Objective-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近乎以自己全部的资源全力支持此平台的内在逻辑了。
而建立这样一个"大一统"的平台组合,大概就是乔布斯心中新世纪战略的终极目标——他的Apple 2.0。
发表于 @ 2008年03月26日 09:39:00 | 评论( loading... ) | 举报| 收藏