WWDC 2015已经过去快一个月了,今年似乎没有像去年那样变化巨大,一切都在慢慢演进,iOS、Mac OS、watchOS都变得越来越好。

新的三大平台的发布,iOS 9/Mac OS EL Capitan/watchOS 2

Apple提供了三种方式可以帮助减少App的大小

1. App Slicing: 以前的App里面会包含很多内容,比如32位/64位的二进制编译文件,@1x/@2x/@3x的图片资源文件,这样会导致程序变得越来越大。Apple通过App Slicing可以根据设备的情况下载不同的App内容,可以大幅度的减少App的大小。如果要利用到这个特性需要使用Image Asset来管理图片资源。

2. On Demand Resources: 可以将一些不是App初始化就需要使用的资源内容设定为On Demand Resource,这样可以在需要的时候再从网络下载。

3. Bitcode: 通过编译的方式减少二进制文件大小。

watchOS 2:在watchOS 1的时代,Apple Watch是需要和iPhone以前配合使用的,watch里面只有UI的代码,通过Extension和iPhone进行通信、计算。

Apple推出watchOS 2,将Extension也放在了Apple Watch里面,从而是Apple Watch可以作为一个独立的设备不再依赖iPhone。由于数据计算、通信等操作都可以在watch里面实现,所以可以改善一代watch的性能问题。

新增了Complication类型, 可以通过组合的方式去定制化watch的首页。

开放了Digit Crown的权限,可以针对crown进行编程,丰富了用户操作。

Apple改进了一系列基础性的技术

1. 性能:提供了一个新的压缩库lzfse,更好的压缩比并提高了3倍速度。

2. 节能:通过一系列节能技术可以让iPhone正常使用提高了一个小时。

3. 安全:Apple ID提供了双因子认证

4. IPv6的支持

全球化的支持:

- 更好支持人名的显示

- 从右向左语言的支持,比如阿拉伯文或希伯来文等等。在系统层面支持从右往左的文字排版,同时UI的动画也遵循当地人的习惯。

HomeKit更新

开放Spotlight搜索的接口,App可以通过集成提供搜索的结果。这个功能可以非常强大,原先数据都是在每个app内部形成一个个信息孤岛,通过spotlight搜索集成可以让搜索再次成为一级入口,直接搜索到app内部的内容。

iPad支持真正意义上的多任务,可以同时运行两个App,也支持适当的页面大小的调整。对于视频App也支持画中画模式。要支持多任务的适配,核心的概念就是Adaptive UI,Size Class+Auto Layout。

Mac OS

- 视窗管理

- Force Touch手势的支持

Swift 2.0的发布,并同时开源。Apple是不遗余力的推广Swift,随着语言稳定性的提高,Swift替代Objective-C也是越来越快了。不过对于老的项目,混编的方式还是相当痛苦,但也不能一触而就推倒重来,所以这个更替的过程还是需要比较长的一段时间。

Swift 2.0 Error Handling - 使用Throw Exception的方式,通过try-catch可以更好的处理异常

在Swift和Playground里面都可以支持富文本的注释

Stack View Layout: 这个是从Android借鉴过来的,支持横向和纵向的布局,使用Stack View来进行布局可以简化Auto Layout的配置。当然Stack View最终会帮我们生成对应的Constraints。

StoryBoard Reference: 把StoryBoard文件可以拆分到不同的文件里面,更好的管理。

更加强大的调试和崩溃分析工具- Address Sanitizer,可以在XCode里面更加容易的获得导致Crash的具体行数。目测应该会是比较方便使用的,现在业界大多是使用第三方工具来采集崩溃报告,然后通过dsYM文件来手动解析。通过XCode 7今后这样的解析工作应该更加方便了。

Apple提供了更加强大的测试工具,涵盖了单元测试,UI自动化测试以及代码覆盖率计算。以前Apple其实就有UINavigator的框架来支持UI自动化测试,而且众多第三方的自动化测试框架都是基于此,并实现跨平台。这次Apple提供了代码覆盖率的支持使得XCode作为iOS平台测试工具大大提升。然后再结合bot进行持续集成,Apple进一步完善了整个开发、测试、持续集成的能力,真正形成了一个闭环。不过对于大多数的团队来说,跨平台往往是首先需要考虑的,这也是导致像bot之类持续集成的平台只能是小众使用。

总体上来说,这次WWDC并不算惊艳,没有像去年一样推出一个新的语言,一个新的watchOS系统来的那样激动人心。Apple此次更加关注在性能、安全、节能几个环节,再从Android生态中学习补齐一些短板,例如iPad多任务的支持和Stack View的布局等等。

WWDC 2015 - 概记的更多相关文章

  1. 用HTML和CSS实现WWDC 2015上的动画效果

    用HTML和CSS实现WWDC 2015上的动画效果 动画效果WWDC 2015   原文:https://cssanimation.rocks/wwdc15/ 译者:周晓楷(@Helkyle) 每年 ...

  2. WWDC 2015 苹果发布会 笔记

    北京时间2015年6月9日凌晨一点,美国旧金山,WWDC 2015苹果发布会,早前知道ios9会更注重系统的优化,看来果真如此,不过最让我惊讶的是Swift居然宣布开源,当时我就震惊了,不过Swift ...

  3. WWDC 2015大会到来了

    WWDC 2015大会到来了,观看到凌晨3点,困死了. 从现场直播视频可以看到: (1)iOS 9的新体验:Siri更智能.Search更全面.苹果支付更方便.Notes和News更新颖好用.地图应用 ...

  4. 严谨与特色并行——WSDM 2015大会见闻记

    2015大会见闻记" title="严谨与特色并行--WSDM 2015大会见闻记"> 第8届ACM网络搜索与数据挖掘会议(ACM International Co ...

  5. CTSC&&APIO 2015 酱油记

    在北京待了一周多,还是写点记录吧. 人民大学校园还是挺不错的,不过伙食差评. CTSC的题目太神,根本不会搞,一试20二试10分..本来都寄希望于提交答案题的..结果就悲剧了. 然后是听大爷们的论文答 ...

  6. 2015 Objective-C 三大新特性

    Overview 自 WWDC 2015 推出和开源 Swift 2.0 后,大家对 Swift 的热情又一次高涨起来,在羡慕创业公司的朋友们大谈 Swift 新特性的同时,也有很多像我一样工作上依然 ...

  7. 【转载】2015 Objective-C 三大新特性 | 干货

    Overview 自 WWDC 2015 推出和开源 Swift 2.0 后,大家对 Swift 的热情又一次高涨起来,在羡慕创业公司的朋友们大谈 Swift 新特性的同时,也有很多像我一样工作上依然 ...

  8. Xcode 8 的 Debug 新特性 —- WWDC 2016 Session 410 & 412 学习笔记

    Contents OverView Static Analyzer Localizability Instance Cleanup Nullablility Runtime Issue View De ...

  9. 2015 Objective-C 新特性

    Overview 自 WWDC 2015 推出和开源 Swift 2.0 后,大家对 Swift 的热情又一次高涨起来,在羡慕创业公司的朋友们大谈 Swift 新特性的同时,也有很多像我一样工作上依然 ...

随机推荐

  1. OPEN资讯

    http://www.open-open.com/news/view/1f55540 随着 Android 平台市场份额的持续猛增 , 越来越多的开发者开始投入 Android 应用程序的开发大潮.如 ...

  2. **apache环境下 禁止显示 index of/ 目录下(如何禁止访问网站根目录)

    比如: http://123.57.49.XX6// 当这样访问的时候,可能会列出网站的根目录 如何禁止列出网站目录,方法如下: 让别人知道你的网站目录结构直接查看你目录下的所有文件是很危险的一个事情 ...

  3. Xamarin for Visual Studio 3.11.666 稳定版 破解补丁 Version 3

    前提概要 1.全新安装请参考 安装 Xamarin for Visual Studio. 2.本次补丁包含: ① Xamarin for Visual Studio 3.11.666 ② Xamari ...

  4. QTP菜单消失的解决办法

    解决办法一:点击QTP上方菜单栏“Tools” menu->options 项,点击"General" tab, 最后点击“Restore Layout”按钮. 解决办法二: ...

  5. java volatile 和Transient 关键字

    java关键字volatile volatile修饰的成员变量在每次被线程访问时,都强迫从主内存中重读该成员变量的值.而且,当成员变量发生变化时,强迫线程将变化值回写到主内存.这样在任何时刻,两个不同 ...

  6. Gradle Goodness: Rename Ant Task Names When Importing Ant Build File

    Migrating from Ant to Gradle is very easy with the importBuild method from AntBuilder. We only have ...

  7. PHP Simple HTML DOM解析器

    一直以来使用php解析html文档树都是一个难题.Simple HTML DOM parser 帮我们很好地解决了使用 php html 解析 问题.可以通过这个php类来解析html文档,对其中的h ...

  8. lintcode:买卖股票的最佳时机 II

    买卖股票的最佳时机 II 假设有一个数组,它的第i个元素是一个给定的股票在第i天的价格.设计一个算法来找到最大的利润.你可以完成尽可能多的交易(多次买卖股票).然而,你不能同时参与多个交易(你必须在再 ...

  9. STL中set底层实现方式

    Q:STL中set底层实现方式? 为什么不用hash? A: 第一个问题:set底层实现方式为RB树(即红黑树). 第二个问题: 首先set,不像map那样是key-value对,它的key与valu ...

  10. servlet中中文乱码问题

    在web项目中经常回碰到中文乱码的问题,特此整理一下,有不足的地方,希望大家纠正. 1从前台往后台传数据,.以get方式发送请求,发送的参数不乱,但是后台接收到参数乱码 在Tomcat的server. ...