2010 WWDC 总结

本文是博客 Daring Fireball 的作者 John Gruber 对今年 WWDC 大会的感受 专注 这是首届无关麦金塔的 WWDC,不论是主题演讲还是会议进程。但,这不是唯一的改变 —— 历来热门的 IT 议程也被取消。其结果便是一次紧密聚焦、前无所有的 WWDC。虽然 WWDC 谈的都是麦金塔编程,但我从未感到议题如此紧致,也许是因为「麦金塔编程」涵盖的范围大过「iOS 编程」吧。 其结果是,它更像一场单线或双线会议。从周二至周五,WWDC 通常有十几甚至二十几场会议同时举行。至于那些更为通用,适宜所有 iOS 开发者的会议,则更加拥挤。排队十分钟进入会场已属司空见惯。而周一下午的「国情咨文」(编者:意指乔布斯的主题演讲)更座无虚席。当时我在楼下的分会场,而即便分会场也很拥挤。今年的人数并不比去年多,但感觉上,拥挤程度比去年多得多。 我认为,此次会议的特点皆出于苹果时下的策略。也许我们再也不会遇见如此专注的 WWDC 了。 与会者 我听说初次参加的人数占 55% 至 65%。这是一件好事,不足为奇。会议安排得当,并大量涉及入门与中级内容。那些分上下两场的会议便如此 —— 第一场通常偏重基础,而非技术细节。我听到一些人抱怨这点,但我认为这种安排很好的顾虑了与会者间的技术差距。 如果你觉得这场会议乏味无趣,那么便到另一场去。或者,去实验室。(我不知道有多少与会者低估了实验室的咨询能力。) 今年与去年的区别之一是:非常多的开发者转入全职开发 —— 无论老朋友或初次见面。去年还有许多人兼为副业呢。而且也不仅是软件商店 —— 我遇到一堆做企业级 iOS 软件的全职开发者。 今年,门票八日售尽。假如人数不限于 5200,我很想知道苹果到底会售出多少张门票? Mac OS X 10.7 会议略有提及 10.7,但需仔细体味字里行间(或搜索「10.7 references in the iOS 4 SDK framework」咳…或「AV Foundation」咳… )。10.7 显然已经启动,有传闻说,它正加速行进。 iPhone 4 苹果应该在会场中展示 iPhone 4,就像 2007 年在 Macworld 上展示初代 iPhone 那样。或许还能激发开发者为新屏幕绘制插画的灵感。 GCD 和 Blocks AV Foundation 和 Grand Central Dispatch 正变得无处不在。遇到回调函数(Callback),新的 API 会使用 blocks。这是未来 Cocoa 软件的设计模式,两个系统皆然。 有趣的是(至少对我而言)GCD 和 blocks 最初是苹果用来压榨多核处理器运算资源的解决工具。 但所有的 iOS 设备,包括 iPhone 4,使用的是单核处理器。不过,这正是 GCD 和 blocks 之美:它们能充分使用任意核心的处理器,单核也行。而这种设计模式会引致更为简洁的代码 —— 而非通过带有环境参数(Context parameter)的回调例程(Callback routine,包含目前状态的信息)。回调函数和环境参数会一起封装入 block 之中。 我接触的开发者,有使用过该技术的都非常喜欢。总之,GCD 极佳的多核利用能力对开发者而言是一个红利。iOS 设备必然会搭载多核处理器。那么当这天到来之时,为 iOS 4 所写的程序便可立即运用多核处理资源了。 主题演讲乏味之处 史蒂夫·乔布斯强调 95% 的受拒软件是出于三个原因:(1)软件崩溃;(2)程序调用了私有 API;(3)软件功能与宣传不符。原来是这三个原因拒绝了 95% 的软件,有趣。不过,这可是个诡辩 —— 人们批评软件商店不是因为这三个原因。 是的,我知道有人认为苹果不应拒绝调用私有 API 的程序,而你也不难找到认为程序可以崩溃和虚假宣传的人。但,如果程序被拒只是因为这三个原因,那么便没有如此的争议。 不能说的比我之前说过的更好了:这并非限制,而是秘密 —— (软件商店)显然有未公布的规则。最新出炉的:「工具类」软件不能上架。书面规则告诉开发者:你必须遵循 Cocoa Touch API 和 Webkit。因此,一些开发者创造了让多个小工具同时在屏幕上显示的软件。有点像 Mac OS X 的 Dashboard,又有点像多任务,但使用的不过是 Webkit —— HTML、JavaScript 和 CSS。 开发者协议中并没有暗示这些程序不能上架。但,它们真的就不行。而问题是,开发者只有在写完程序并提交软件商店之后才能知道结果。当然,苹果没有办法预测所有未知情景。可是,一旦遇到新的情况,就应该明示处理规则。 过去的一年,软件商店的审核状况大为改善。它变得更好,不是更坏。但是,对于仍然存在的那些问题,乔布斯的辩护无济于事。 主题演讲最奇怪之处 让 Zynga 在台上演示农城(FarmVille)是一石二鸟之选:既可表明无须 Flash(Adobe 曾以此为例,说明 iPad 不支持 Flash 的后果。),又可同 FaceBook 扯上一点关系(目前社交游戏的王者)。 但,这真是个奇怪的演示。是那个家伙偏题了还是什么?该演示似乎专门针对熟练的农城玩家,因为我(从来没有玩过这款游戏),所以弄不明白这游戏该怎么玩,或说,能提供怎样的娱乐了。 iMovie for iPhone 有趣的是苹果以 5 美元独立贩售,而非集成入系统。具体原因尚不知。我的理论:即便免费加入,大多数人也不会使用(因为多数人从来不编辑影片),而想使用的人会很乐意花这 5 美元。我在演示机上玩了一把,这是个极好的软件。真的不可思议。

[原文链接;作者:John Gruber]