WWDC 2015 - 概记
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 - 概记的更多相关文章
- 用HTML和CSS实现WWDC 2015上的动画效果
用HTML和CSS实现WWDC 2015上的动画效果 动画效果WWDC 2015 原文:https://cssanimation.rocks/wwdc15/ 译者:周晓楷(@Helkyle) 每年 ...
- WWDC 2015 苹果发布会 笔记
北京时间2015年6月9日凌晨一点,美国旧金山,WWDC 2015苹果发布会,早前知道ios9会更注重系统的优化,看来果真如此,不过最让我惊讶的是Swift居然宣布开源,当时我就震惊了,不过Swift ...
- WWDC 2015大会到来了
WWDC 2015大会到来了,观看到凌晨3点,困死了. 从现场直播视频可以看到: (1)iOS 9的新体验:Siri更智能.Search更全面.苹果支付更方便.Notes和News更新颖好用.地图应用 ...
- 严谨与特色并行——WSDM 2015大会见闻记
2015大会见闻记" title="严谨与特色并行--WSDM 2015大会见闻记"> 第8届ACM网络搜索与数据挖掘会议(ACM International Co ...
- CTSC&&APIO 2015 酱油记
在北京待了一周多,还是写点记录吧. 人民大学校园还是挺不错的,不过伙食差评. CTSC的题目太神,根本不会搞,一试20二试10分..本来都寄希望于提交答案题的..结果就悲剧了. 然后是听大爷们的论文答 ...
- 2015 Objective-C 三大新特性
Overview 自 WWDC 2015 推出和开源 Swift 2.0 后,大家对 Swift 的热情又一次高涨起来,在羡慕创业公司的朋友们大谈 Swift 新特性的同时,也有很多像我一样工作上依然 ...
- 【转载】2015 Objective-C 三大新特性 | 干货
Overview 自 WWDC 2015 推出和开源 Swift 2.0 后,大家对 Swift 的热情又一次高涨起来,在羡慕创业公司的朋友们大谈 Swift 新特性的同时,也有很多像我一样工作上依然 ...
- Xcode 8 的 Debug 新特性 —- WWDC 2016 Session 410 & 412 学习笔记
Contents OverView Static Analyzer Localizability Instance Cleanup Nullablility Runtime Issue View De ...
- 2015 Objective-C 新特性
Overview 自 WWDC 2015 推出和开源 Swift 2.0 后,大家对 Swift 的热情又一次高涨起来,在羡慕创业公司的朋友们大谈 Swift 新特性的同时,也有很多像我一样工作上依然 ...
随机推荐
- POJ 3255
Roadblocks Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 6605 Accepted: 2458 Descri ...
- HDU 2602 Bone Collector (简单01背包)
Bone Collector http://acm.hdu.edu.cn/showproblem.php?pid=2602 Problem Description Many years ago , i ...
- jvm 之 国际酒店 8 月 19 一次full GC 导致的事故
事故经过: 1 15:18收到短信报警:国际酒店调用OMS queryGorderOrderList方法失败:成单接口调用OMS获取token失败. 2 查看checkList发现15:18开始发 ...
- PHP使用SOAP调用.net的WebService数据
需要和一个.net系统进行数据交换,对方提供了一个WebService接口,使用PHP如何调用这个数据呢,下面就看看使用SOAP调用的方法吧 这个与一般的PHP POST或GET传值再查库拿数据的思路 ...
- Jenkins配置基于角色的项目权限管理--转
本文将介绍如何配置jenkins,使其可以支持基于角色的项目权限管理. 由于jenkins默认的权限管理体系不支持用户组或角色的配置,因此需要安装第三发插件来支持角色的配置,本文将使用Role Str ...
- 斐波那契数列公式算法-JS实现
之前算斐波那契数列都是算前两个数相加实现的 比如0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181 ...
- 项目中遇到的 linq datatable select
1如何使用DataTable.Select选出来的Rows生成新的DataTable?DataTable dt = 数据源;DataTable dtt = new DataTable();dtt=dt ...
- Eclipse调试Java的十个技巧
先提三点 不要使用System.out.println()作为调试工具 启用所有组件的详细的日志记录级别 使用一个日志分析器来阅读日志 1.条件断点 想象一下我们平时如何添加断点,通常的做法是 ...
- OpenStack学习系列-----第一篇 OpenStack介绍
刚开始接触OpenStack,被它所承诺的前景,以及现在业界对它的期望吸引(OpenStack被誉为21世纪的Linux开源社区,可以预见其的发展前景是何其广阔.).怎么说呢,我现在也暂时相信,Ope ...
- 使用yum安装CDH Hadoop集群
使用yum安装CDH Hadoop集群 2013.04.06 Update: 2014.07.21 添加 lzo 的安装 2014.05.20 修改cdh4为cdh5进行安装. 2014.10.22 ...