欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

iOS 5与Mac OS X Lion平台的技术展望 iOSiPhoneiPadLionMac OS X 

程序员文章站 2022-06-04 18:00:06
...

今年WWDC 2011会议发布了iOS 5与Mac OS X Lion的预览。 我对这个会议技术上的感受只要有三个,1. Apple发布云服务产品和技术框架,其云策略和Google及其他厂商的有所不同,在用户体验和开发者实现上略胜一筹。2. "Cut the Cord",剪掉连线,去掉iOS对PC/Mac的依赖。3. iOS与Mac OS的应用体验会越来越相似。技术上,iOS和Mac OS的新功能API会出现更多的交集。从另外一个角度来说,苹果利用现有的iOS开发者数量上的优势,尽力拉拢他们也为Mac OS而开发出优秀的应用,每个优秀的产品都能有移动和桌面客户端两条产品线。 好拉,下面让我门来详细说说以上的观点。

 

iOS 5与Mac OS X Lion平台的技术展望
            
    
    
        iOSiPhoneiPadLionMac OS X 

 

 

Apple的云策略

Apple认为,对用户来说,加入云服务后的优秀应用应该对原有的应用体验不该有太大的变化,只是在很多地方变得更加方便。什么意思呢?以iWork为例子,就是你原来是怎样编辑文档的,添加了云服务之后编辑过程还是一样,没有改变,只是当你离开了iPad,到了iPhone,那个编辑过的文档立刻就出现了。用户不需要做出额外的操作。Apple坚决走客户端client+云API的路子,这个路子对用户来说,体验应该是最好的,因为原生的native api做出来的应用才可能把设备的内存,图形,图像效果发挥到极致。这个策略和google的chromebook路子是完全不一样的,Google告诉你,有了chromebook,你就算把笔记本砸了,你的数据还是完好无缺,拿到一部新chromebook后可以有可以用了,但大家细心一想,你平时有多少机会把机子砸掉?我们再看看chromebook的用户体验吧,在chromebook上,你想要用你平时喜欢的app来编辑一下照片,chromebook会告诉你,没有,去找一个web app吧,你想要打开你平时喜欢用的QQ软件来聊天,没有,去用web qq吧。很多早期的chromebook用户反映,在没有网络的情况下,chromebook只是一块砖。很多google io开会拿到chromebook以后,玩两下就把它扔到一边或者卖掉。这就是google的云策略,把用户体验来个180度的转变,为的就是你砸掉笔记本后,可以立刻使用原来的数据。硬件的体验就更不用说了,为了节省成本,价格上打败netbook,注定chromebook的硬件造工比netbook更粗糙。

 

很多人肯定在wwdc都看到了老乔介绍Apple新的数据中心,整个发布会下来之后,开发者恍然大悟,这个数据中心不但是为iOS和Mac的音乐,照片等云服务而建的,这个数据中心另外一个目的是为第三方开发而建的,想想,以前,如果开发者要做一个云服务的应用,iPhone、iPad、Mac上无缝交换数据,要自己搭建服务器,请问,当你的服务如果达到了百万用户级别以后,你的开发成本要多少?服务器运营成本要多少?现在有了iCloud API以后,这些成为都转移到了Apple的服务器上去了,转移到Apple的数据中心去了,你的很多部分的成本立刻为零。每年交给苹果$99刀的开发者membership费用,你就可以开发出百万级,甚至千万级用户的应用,而且你的服务器成本为零。这就是我认为苹果在云策略上召唤更多开发者的另一杀手锏。用户喜欢你的app,喜欢他的iPhone或者iPad,就会向苹果购买更多的存储空间,就这么简单。

 

说到iCloud API,苹果再次以开发者代码改动最小为设计大纲,发布了一系列的新API。以前我们要做服务器端的数据交互,通常想到的就是在web端写一系列的json接口,然后在iOS端将json转换为NSDictionary或自定义的数据类型,然后再进行处理。有了iCloud之后呢?如果你原来就用iOS的数据库框架CoreData,几行代码或者小设置,iOS自动就把你的数据库备份到iCloud,你不需要任何考虑什么时候向服务器发出请求,什么时候下载新数据,这一切都在iOS后台,它自己完成了。新引入的UIDocument概念就让更多文档应用开发变得无比的方便,一般文档应用开发,例如我的iNotes for iPad为例,由于iOS的文档操作都是不需要用户点击“保存”按钮的,开发者要考虑进行后台保存的规则和实现代码,而且保证后台save的IO操作不影响界面流畅性,就是不能block掉主线程。这一切有了UIDocument后,都是由UIDocument自己完成了,开发者不再需要写这方面的代码,只要告诉UIDocument从那里读取、写入IO数据,数据读取后如何转换开发者需要的数据格式就好了,甚至只要告诉UIDocument往那里存储iCloud数据,UIDocument就自动上传,下载和检测云端数据的变化。如果云端数据和本地数据的内容有版本冲突,UIDocument会发出警告,提供历史版本快照。说得太多了,这里就此打住了。

 

总的来说,iCloud真的非常有趣,估计今年年底会出现很多非常有意思的应用,Apple在发布会甚至承诺windows native API,不过暂时完全没有看到这方面的资料,如果是真的话,估计要做一个比较完整云端的跨平台应用(iOS, Mac OS, Windows)就不难了。

 

iOS 5与Mac OS X Lion平台的技术展望
            
    
    
        iOSiPhoneiPadLionMac OS X 

 

后PC时代的移动设备

iOS 5.0开始,Apple增加了一个概念“Cut the cord"--剪断连线,或者叫PC Free。iOS设备作为一部后PC时代的设备。世界上的很多iPhone/iPad用户家里都未必有一台PC电脑,或者说他们买了iPad以后,就不考虑再为家里购买一台PC了。所以iOS 5.0的其中一个理念就是设置,备份,安装软件等操作都无需一定要在桌面电脑上来完成。很多人可能说,Android手机从一开始就不必需要电脑来激活,设置等工作。但这次iOS 5在这个基础上扩展了更多,很多原来只能在PC上才能完成的工作,在iOS 5以后,移动设备上也能完成。例如,iOS上的Photo.app实现了照片对比度,亮度修改,去除红眼等一般PC上才能完成的操作。还有iMovie的高清视频编辑,还有CoreImage能完成的人脸识别功能。这种类型的应用能在手机上运行,在几年前真是不敢想像的。开发者们应该好好把握iOS 5这个机会,开发一些以前在PC上才能完成的任务,在移动平台上也能做了。这种趋势将同样适用于企业应用软件开发,未来几年相信更多的企业级桌面应用会迁移到移动设备应用上去,现在就开始准备你的产品和项目吧。

 

iOS 5与Mac OS X Lion平台的技术展望
            
    
    
        iOSiPhoneiPadLionMac OS X 

 

iOS的多媒体技术

iOS的多媒体技术越来越强大,本人认为这个也是其他移动平台和iOS的差距最大的方面。随着双核CPU,强大GPU硬件,以及软件GCD(Grand Central Dispatch)多核计算框架的介入,开发人员可以开发出越来越不可思议应用。例如,iOS5最新的CoreImage API,可以每个人都很容易地对图片的尺寸,亮度,色彩,修正红眼等编辑。iOS 5 加入了另外一个本人认为非常有实用的功能,iOS AirPlay Mirroring。这个功能可以让用户通过无线AirPlay在宽屏大电视上播放视频,浏览网页,播放幻灯片。或者以后很多公司的会议室不再放着笔记本加几个什么VGA/DVI转换头,一个$99刀Apple TV就好了,参会者拿着iPad进入会议室,谁要在大屏幕上显示内容,连上AirPlay就好。这种场景特别适合商务和教育类。

 

iOS 5与Mac OS X Lion平台的技术展望
            
    
    
        iOSiPhoneiPadLionMac OS X 

 

Mac OS X  Lion的App Store

Mac App Store的前景还是挺可观的,毕竟Mac的销售额还是一路攀升的,加上Mac OS的很多方面的软件本来就比windows要少很多,需求空间很大。随着iCloud API的加入,更多的iOS App会愿意为Mac OS X开发客户端,Lion之后,对iOS开发者来说,为Mac OS X的开发学习成本将会越来越低,为什么?因为Mac OS X的开发API和iOS越来越相像,例如,Lion上的NSTableView学习了iOS的UITableView将会简化开发。几乎每个iOS开发人员都很熟悉UITableView,在Lion上实现tableview就不再繁琐了。加上国内很多厂商近来都发布和更新了mac client软件,如QQ for Mac, SPlayerX射手播放器, 迅雷等等。国内市场也开始扩大,开发者有空可以开始试水这个方向。

 

总结

Mac OS Lion开始拉近了与iOS之间的距离,例如它的多点触摸(Multi-touch)操作,全屏应用体验与Launch Pad,还有API之间的交集越来越多,这样大量的iOS的开发者就可以比较容易、方便地为Mac开发出应用,而Mac一直传承下来的强大功能,也越来越多向iOS迁移。这一大优势是其他平台没有的,有也只有微软才能做到,因为除了微软和苹果,没有其他厂商既有强大桌面操作系统又有高性能的移动系统,Google虽然内部有Linux,但毕竟没有经过无数用户使用过的操作系统。微软在移动平台上还是没有形成很大的气候。iOS今年的第一大特性就是iCloud,云应用已经到来,而不是即将来临,现在iOS 5虽然到了beta3,不过很多新API还是用不了,或者bug无数,Sample code也还没有出来,大家的差距还不算大,要做新应用的,赶紧学习吧!还来得及!