新闻来源:CSDN
Mountain Lion 开发者预览版上周发布,此次 Mac 操作系统相对于上一版本有了很大改变,整合了很多 iOS 的特性。科技博客 GigaOM 上的这篇文章通过对包括iCloud 在内的几个特性进行了分析,认为 Mountain Lion 开发者预览版给开发者带来了很大的影响,有利于开发者开发 Mac 应用程序。

苹果在上周四发布了 Mac 操作系统 Mountain Lion 的开发者预览版,在这一版本中,我们可以看到 Mac 操作系统在 Mac 应用软件的设计、开发及分销方式上有了显著的改变。尽管在很多细节上目前仍处于保密状态,但我们相信这些保密也是为了在最后正式版本发布时给我们一个惊喜 而已。目前已经公布的一些信息,已经足以让我们对未来 Mac 应用软件的发展方向有一个大概的把握。
当 Snow Leopard 在 Leopard 发行两年后出现时,它给开发者带来了很多更新及改进,尤其是在 UI 和底层支持这两方面,比如对 64 位的支持、Objective-C的模块(Blocks)支持、GCD(Grand Central Dispatch)、 OpenCL 技术的应用、QuickTime X 播放器重新设计以及本地交换支持(native Exchange support)等等。而这次苹果公司公布的 Mountain Lion 开发者预览版,相对于 Lion 同样针对 UI 方面进行了改进,而且也针对开发者做了一些重大改变。但相对于那些底层的改变,这次我们能看到的最明显的改变是来自于 cloud。
以下是苹果 Mountain Lion 已经公布的一些改变,我们来看看这些改变将会对开发者带来什么影响吧。
整合 iCloud 功能
iCloud 可以储存文件和键值对。需要牢记的是,开发人员需要解决云功能中不同设备之间的冲突及矛盾。在使用时,文档中会有一个对话框让用户选择他们想要使用的版 本。如果你需要对文档进行合并,你自己就需要学会判断。开发人员需要真正地认真思考,当同步多个设备或者电脑之间的数据到 iCloud 时,如果出现冲突该如何进行处理。目前尚不清楚,拥有 MDP 证书签名的应用程序是否能够访问那些拥有 iOS 平台开发程序证书签名的应用程序所存储的数据。我们将不得不等待观望,我们不知道苹果在这方面有何打算。
Snow Leopard 增加了交互功能,Lion 添加了类似 iOS 的功能,我想 Mountain Lion 作为 Mac 的一员将会被印上“iCloudification”的标签。
游戏中心(Game Center)
在苹果应用商店中,仅从应用名称来看,大约有 25% 的应用都是游戏,游戏应用的提成在 iOS 应用中也是比较高的。我觉得开发 iOS 游戏是一个很好的机遇,当然,这类游戏要能够将得分、成就以及朋友的名单都保持同步更新(这可以让很多人去与自己的朋友相竞争,增加游戏黏性),并 且,iCloud 完全能够支持跨设备的游戏状态的保存。我不确定游戏中心(Game Center)能否想 Steam 和 Xbox 一样在玩家中流行起来,但是它绝对是最适合休闲游戏的平台。我很想看到有人能完成 Xcode 的成就,那样我就能将我的 KLOCs 拿出来和朋友一起比较了。
开发者 IDs,应用签名,Gatekeeper &沙箱
来自 Mac 应用商店和 Lion 系统的沙箱已经被很多人写的不少了。我不认为我能在这些讨论的基础上能再讲出什么,但我还是要指出,Gatekeeper 的作用很重要。有了它,你可以不用将应用提交到应用商店,在沙箱中就可以获得应用的签名并获得用户的信任。当然,使用 iCloud 的这些功能及其它的一些好的功能比如通知,你最后无论怎样都应该可以将你的应用提交到应用商店的。总的来说,这是件好事,只是过程比较曲折而已。
Omni 公司的 Ken Case 的表现倒是很乐观:
看起来这对我来说是非常大的一个决定。一部分是因为 Gatekeeper 在反对恶意软件这件事上展现出一个积极的姿态,从开发阶段就对恶意软件进行排查,将他们消灭在萌芽状态,而不是后知后觉地在后期到应用商店中去检查恶意软件。
但对我来说更重要的是,在 Mac 应用商店设计这一功能之后,苹果脱离他们原先的方式建立了一种新机制,以此来支持应用软件不在 Mac 应用商店里面销售的一些软件开发者。本来他们是可以不用这么做的,他们完全可以告诉用户:“为了避免受到恶意软件侵害,您一定要使用 Mac 应用商店中的应用!其它途径的应用将会给您的设备带来风险。”但是苹果公司没有这么做,他们推出了新的机制,来支持那些可信赖的软件开发者所开发的不在 Mac 应用商店中销售的应用软件。
我放心了!
重视社交分享功能
在 iOS 中整合 Twitter 的一键登陆功能使注册 Twitter 账户的人呈现了明显的增长,就像 Twitter 的整合没有影响 iOS 中 Twitter 专用客户端销售一样,我希望在 OS X 上也不会受到太大影响。当然,Twitter 并不是唯一的网络分享应用,除此之外,像 Flickr、Vimeo 等等都是不错的。我真的很想看到,开发者能够通过在系统上注册他们自己的 app 程序获取分享脚本,那一定是件令人兴奋的事情。
苹果正在努力改进,希望能使应用程序能够很容易的实现分享功能。但问题是,是不是所有的应用程序都需要分享功能呢?比如,我不确定自己是否愿意 把 BBEdit 里面的东西分享给别人,但是我喜欢那个关于我可以获取 Safari 的读取权限的主意,或者那些在 iTunes 和 Mac 应用商店中被我所关注的东西。我很看好这样的功能,只要开发者足够聪明,能够是它有很好的用户体验,就一定能成功。
通知功能(Notifications)
我觉得这个功能是开发者最应该努力利用的。如果苹果公司允许在线服务像 iOS 平台上一样发送通知(比如,在 Strategery 中,当 Facebook 发送一个通知给 Facebook 应用程序时,Strategery 会通知你你在游戏中什么时候被打败了)的话,我非常想深入的了解更多关于这个功能的信息。因为这个功能的基础架构将会处理通知的类型(尤其在互联网上), 我们可以查找推送接口,然后充分利用它,这样你就不需要自己去建立相类似的功能了。
除此之外苹果还会给我们什么样的惊喜?
我相信随着苹果发布计划时间的推进,苹果将会逐步公开 Mountain Lion 的研发信息,也一定会出现很多优秀的功能以利于开发者来开发及改进他们的 Mac 应用程序。我认为整合 iCloud 功能将会给 OS X 带来很大很深远的影响,但是应用签名的改进、分享功能以及通知功能对开发者来说也是很重要的功能!
你认为你现在开发 Mac 应用程序的过程中,最大的改变时什么呢?