NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

听布道师讲 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:001661
用户头像

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

关注

评论

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

万字详文,剖析企业数字化的降“本”增效

阿里技术

数字化 降本增效

Python应用之求100以内的奇数和

智趣匠

9月月更 变量和循坏的应用 递归求和

云渲染比自己的电脑好用太多,这4个因素要考虑

Finovy Cloud

人工智能 云计算 渲染 云渲染

Spring Security 介绍中的 servlet 和 reactive

HoneyMoose

华为应用市场审核指南解读课程上线,面向开发者讲解应用审核2022年更新要点

最新动态

联通研究院霍龙社博士深度解析“AI项目到底适不适合开源”

OpenI启智社区

人工智能 OpenI启智社区 AI开源 CubeAI智立方

2022-09-29:在第 1 天,有一个人发现了一个秘密。 给你一个整数 delay ,表示每个人会在发现秘密后的 delay 天之后, 每天 给一个新的人 分享 秘密。 同时给你一个整数 forg

福大大架构师每日一题

算法 rust 福大大

【web 开发基础】php 开发基础快速入门 (3)-PHP程序符号标记和程序注释的使用及空白符详解

迷彩

php开源 9月月更 web开发基础

也谈“我们开发者根本不想做运维!”

愚夫一得

DevOps 语言 & 开发 文化 & 方法 技术中台 运维‘

企业IT运维开发一体化解决方案

力软低代码开发平台

从新零售、物流到广告,搞定指标中台就这么简单!

Kyligence

数据分析 指标管理 指标中台

开发者有话说|刚毕业的“00后”,歪打误撞进入了SAP行业

暮春零贰

个人成长 9月月更

Apache APISIX 集成 Elasticsearch 实现实时日志监控

API7.ai 技术团队

elasticsearch API网关 APISIX 网关

如何使用游戏引擎进行实时渲染和内容创建

3DCAT实时渲染

云计算 元宇宙 实时渲染 实时云渲染 云VR

好的,BFS,学会了

掘金安东尼

前端 9月月更

帮助中心案例分析|师爷,给我解释解释什么叫降本增效?

Baklib

降本增效 帮助中心

Python之如何判断闰年

智趣匠

9月月更 判断闰年 format格式化字符串

借助iMazing工具重新安装或升级 iOS系统

淋雨

ios iphone

产品经理必看的高效产品文档撰写指南

Baklib

产品 产品经理 文档

OptaPlanner快速入门-概述

成长兔🐇

盘点团队在线协作文档工具

Baklib

在线协作文档

Python应用之九九乘法表

智趣匠

9月月更 九九乘法表的实现 变量和循坏的应用

【kafka异常】使用Spring-kafka遇到的坑

石臻臻的杂货铺

Kafk 9月月更

为了进大厂!吃透了各大厂最新 3000+Java 面试题啃完面试肯定妥了

Geek_0c76c3

Java 开源 程序员 架构 开发

面试整理的45W字Java真题和答案详解(含核心考点及6家大厂真题)

Geek_0c76c3

Java 数据库 开源 程序员 开发

什么是实时渲染,3D实时渲染的优缺点

3DCAT实时渲染

云计算 元宇宙 实时渲染 实时云渲染 云VR

Baklib+伙伴云+企微会话存档,打造伙伴云帮助中心运营体系

Baklib

React 新提案 useEvent 已死?不,它将涅盘重生。

清秋

React useEvent RFC 提案

OptaPlanner快速入门-helloworld

成长兔🐇

专访美象科技|中国数字孪生50强为何需要3DCAT实时渲染云的赋能?

3DCAT实时渲染

云计算 元宇宙 实时渲染 实时云渲染 云VR

为什么3D实时渲染很重要

3DCAT实时渲染

云计算 元宇宙 实时渲染 实时云渲染 云VR

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