BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 Sergio De Simone 关注 17 他的粉丝 ,译者 艾利特 关注 0 他的粉丝 发布于 2016年1月27日. 估计阅读时间: 5 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT