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. D&F学数据结构系列——B树(B-树和B+树)介绍

    B树 定义:一棵B树T是具有如下性质的有根树: 1)每个节点X有以下域: a)n[x],当前存储在X节点中的关键字数, b)n[x]个关键字本身,以非降序存放,因此key1[x]<=key2[x ...

  2. JAVA动态加载JAR包的实现

    如何动态的加载这些驱动!不可能把所有的数据库驱动都集成到JAR包中吧?!于是动态加载驱动的JAR包就产生了!其实这些在做系统基础代码时,经常用到,只是一般我们没有机会去搞而已. 动态加载JAR包,使用 ...

  3. 无线Ad-hoc网络的关键技术之路由(转)

    无线Ad-hoc网络的关键技术之路由http://network.51cto.com/art/201003/189719.htm

  4. eclipse引入tomcat

    1.默认大家的tomcat都已经安装好了,这里打开eclipse,选择windows,下面的属性(preference). 2.进入到属性配置页,选择server  --   runtime Envi ...

  5. 安装Genymotion android模拟器

    Genymotion优点: 速度快性能好,资源占用低,系统要求512MB内存就能运行 支持 OpenGL 3D加速,可以流畅玩大型3D游戏 支持同时启动多个模拟器,可以实现软件或游戏多开 支持多种虚拟 ...

  6. jmeter 异步子请求测试随笔

    好久没写技术类的博客了,都不知道自己都在忙啥.... 最近陆续遇到了一些异步子请求的测试需求,比如打开某一个页面A,A页面里的js会再调用B,C,D,E等请求,针对这个页面的测试,我最近做了一些思考: ...

  7. 关于CStdioFile的使用问题

    在win32控制台调试如下程序 #include "stdafx.h"#include <afx.h>//#include <iostream>//usin ...

  8. mysql主从配置(转载)

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://369369.blog.51cto.com/319630/790921 还可以参考 ...

  9. MyBatis学习总结_03_优化MyBatis配置文件中的配置

    一.连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写在了MyBatis的conf.xml文件中,如下: 1 <?xml version=" ...

  10. Netty4.x中文教程系列(三) Hello World !详解

    Netty 中文教程 (二) Hello World !详解 上一篇文章,笔者提供了一个Hello World 的Netty示例. 时间过去了这么久,准备解释一下示例代码. 1.HelloServer ...