写点什么

听布道师讲 iOS 9 给开发者带来了什么

  • 2016-01-26
  • 本文字数:1609 字

    阅读完需:约 5 分钟

iOS 9 Day by Day 》作者 Chris Grant 在书里回顾了 iOS 9 给开发者带来了哪些变革。书中 13 个短章把 iOS 9 在开发工作发挥重要作用的关键特征做了详细介绍。

InfoQ 网站在过去的几个月里一直全面而具体的介绍了 iOS 9 的功能特点。《开发者手里的iOS 9 》系列电子书帮助开发者详细介绍了iOS 9 SDK 的新功能和相关工具,并大致概述了所有新的或已升级了的框架。电子书里同时也讲解了这些iOS 9 新功能的使用详述。

下面是InfoQ 采访技术布道师Sam Burnstone,内容关乎Swift 和iOS 开发生态。

InfoQ:在您看来,iOS 9 最重要的三个功能特征是什么?

Sam Burnstone: 特征之一就是 UIStackView。

UIStackView 从根本上改变了开发者在 iOS 上创建用户界面的方式。StackView 的核心便是方便垂直或水平排布多个 sub-view,做过 Android 开发的人都知道,它和 LinearLayout 控件非常相似。

StackView 最有用的就是它会自动为每个 sub-view 创建和添加 AutoLayout 限制条件。当然你可以控制 sub-view 的大小和位置,可以通过选项来配置 sub-view 的大小、排布以及彼此间的间距。

很明显,苹果已经意识到这一点并开始大力宣传介绍 UIStackView。而对于开发来说,他们最需要解决的问题是希望所有的 sub-view 能给进行自我定位,并定义需要被安排的 sub-view 的轴向,横向的或是垂直的。而此时,视图会自动处理子视图的显示效果。将 StackViews 内嵌到另一个 StackViews 里的能力表明其功能是非常强大的,产生的结果就是由于布局约束急剧减少,布局的管理将更加简单。

UIStackView 大大简化了用户界面开发。这是好事,特别是随着硬件的改变。使用 UIStackView,减少了开发者为简单场景设置枯燥的约束,把繁杂的工作交给了 UIKit。

特征之二:搜索功能

iOS 9 允许开发者把自己的 App 内容公开到 iOS 上,用户在不需要离开主页的时候查看程序内容。通过使用 NSUserActivity 帮助用户群体直接从结果跳到 App 的用户地址来实现深层链接,这就大大提高了用户体验。

特征之三:支持从右到左

毫无疑问,虽然 iOS 9 里面新增了很多不错的功能,但在我看来最有趣的就是这是支持从右到左的功能。我们不该忘记,时至今日世界上还有很多地方的书写习惯是从右往左的,而开发从右往左的书写习惯的 App 也是可以获得利益的,前提条件是进行本地化处理。

InfoQ:你觉得这本书里最有趣的是哪一部分?

Sam Burnstone:我认为 StackView 这一章特别有趣。在我研究新功能的时候,惊奇的发现只要很少一部分的代码就能实现几乎所有的视图层次;将大量的视觉拖动到故事版(storyboard)上或添加几个简易的限制也是极其简单的!API 也是经过认真考虑设计的,添加了一些额外功能,例如动画显示,隐藏 sub-view 等等。

InfoQ:在各种类型项目实施过程中,如何判断 Swift 的成熟度可以取代 Objective-C 的?

Sam Burnstone: Swift 在项目开发的整个过程中,它的成熟度和高效成都足以支撑项目的需求;与现有的用 C 和 Objective-C 编写的代码库互用性配合非常好,这就意味着可以将现有的代码库进行整合。然而,你也可以继续 Objective-C 进行开发,并用苹果已经发布的新功能简单的注释旧代码库,以达到改善 Objective-C API 在 Swift 里消耗过快的目的。

Swift 快速发展的步伐令人相当兴奋,但这背后也是有很多需要完善的地方,例如使用前一个版本的语言写的代码通常情况下会对下一版本语言编写的代码相抵抗。苹果公司承诺承诺过将开发完毕的 Swift 开放出来,这就意味着开发者们需要注意他们的代码库在哪些领域可能出现漏洞,如何快速响应代码变化带来的变动。

目前来看,用 Swift 开发出来的工具很大一部分还是很原始的,尽管苹果 Xcode Playgrounds 的发展方向很受人喜欢,这些开发工具看起来更像是用于教学或尝试一种新的算法。苹果确实是花了很大力气把 Swift 培养成一门伟大的语言供大家学习,并尽最大可能让所有需要的人能给接触上它。

查看英文原文: iOS 9 Day by Day: a Review of iOS 9 for Developers

2016-01-26 18:001947
用户头像

发布了 25 篇内容, 共 78979 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

leetcode 647. Palindromic Substrings回文子串(中等)

okokabcd

LeetCode 算法与数据结构

头脑风暴:翻转数位

HelloWorld杰少

算法 LeetCode 8月月更

论企业级微服务架构必备能力

穿过生命散发芬芳

微服务架构 8月月更

自定义 Hero 动画的路径

岛上码农

flutter 前端 移动端开发 安卓开发 8月月更

Spring @Autowired 注解静态变量

HoneyMoose

关键软件密码应用研讨会|海泰方圆国产浏览器密码应用分析研究

电子信息发烧客

让数据成为企业核心生产力

IT资讯搬运工

云原生、云支持与基于云

CnosDB

时序数据库 开源社区 CnosDB infra

Hash 算法详细介绍与实现 (二)

迷彩

php 数据结构 hash算法 8月月更 Hash表

每日一 R「17」类型系统进阶(一)

Samson

学习笔记 8月月更 ​Rust

[JS入门到进阶] 前端开发不能写undefined?这是误区!

HullQin

CSS JavaScript html 前端 8月月更

Grafana Labs CEO 关于 Grafana Mimir 的问题答复

Grafana 爱好者

Mimir

常用消息中间件对比

浅羽技术

RocketMQ MQ 消息队列 Rabbit MQ 8月月更

想不到吧,Mysql在项目中的优化场景这么多

知识浅谈

sql 8月月更

SpringCloud 服务的拆分及远程调用

微服务 SpringCould 8月月更

理一理 OC/OD 门、开漏输出、推挽输出、图腾柱等概念

矜辰所致

电路设计 8月月更 电路基础

Spring 最常用的几个注解

HoneyMoose

React实战之数据流方向与项目初始化

恒山其若陋兮

8月月更

8月书讯 | 10 本新书上市,本本精选

图灵教育

最常见的ES面试核心问答知识点

浅羽技术

搜索引擎 倒排索引 ES Elastic Search 8月月更

云原生(二十八) | Kubernetes篇之自建高可用k8s集群搭建

Lansonli

云原生 k8s 8月月更

聊聊实际使用的电源转化电路,分享一些不同场合下的转3.3V电路

矜辰所致

电路设计 8月月更 电源转化

低代码实现探索(四十九)重新梳理前端

零道云-混合式低代码平台

权限认证与授权三问三答

浅羽技术

框架 CSRF 认证授权 权限验证 8月月更

Spring @Repository 注解

HoneyMoose

分布式事务常见面试题解答

浅羽技术

分布式事务 事务 TCC 两阶段提交改进 8月月更

元器件选型实例(如何选一款合适的 DC-DC )

矜辰所致

电路设计 电源设计 8月月更 元器件选型

Spring @Autowired 注解静态变量

HoneyMoose

带你揭秘华为5G为何地表最强

乌龟哥哥

8月月更

听布道师讲iOS 9给开发者带来了什么_移动_Sergio De Simone_InfoQ精选文章