iOS 开发周报:Xcode 7.3 beta 和 iOS 9.3 beta 发布,是否会带来教育行业的改变

  • 王巍

2016 年 1 月 13 日

话题:移动iOS语言 & 开发架构

新闻

  1. Xcode 7.3 beta 发布:Apple 发布了新的测试版本的开发者工具。Xcode 7.3 中包括了像是更完善的自动补全,更智能和全面的编译器警告提示等。另外,Xcode 现在也提供了选择所使用的 toolchain 的选项,这简化了 Swift 的开源贡献者在调试和修改 Swift 时所需要的步骤。

  2. iOS 9.3 beta 新增一系列针对教育行业的新特性:本周 Apple 还发布了 iOS 9.3 beta。这个版本给用户带来了像是夜间模式,更安全的备忘录,可以 iCloud 同步的 iBooks 应用等。除此之外,iOS Education 的预览版本也将被包括在 iOS 9.3 中。iOS Education 提供了像是学生共享 iPad,新的 Classroom 应用来管理班级和师生交互等新特性。这可以说是 Apple 在移动教育领域的一次重要探索,它是否能改变教育行业的现状,我们可以拭目以待。

  3. 首届中国 Swift 开发者大会成功召开:@Swift 会议在北京召开,来自国内外的八位开发者为我们带来了一些很有价值的 Swift 开发分享。作为国内首次 Swift 为主题的开发者会议,在大会上中国的 iOS 开发者们能有机会进行交流和学习,希望今后也能有更多类似的机会。会后主办方第一时间整理了会议的一些资源,更多会议的视频等正在制作中,也将于将来公开。

教程

  1. ObservableSwift - 一个属性监听机制的 Swift 原生替代方案:在 Swift 开发中,原生的 Swift 类型是不依赖于 Objective-C runtime 的,因此也没有办法像原来那样使用 KVO 来进行属性观察。这篇文章为我们介绍了一个开源框架 ObservableSwift 的使用方法,依赖于这个框架,我们可以在 Swift 类型上实现类似于原来的 KVO 的方式。

  2. ARC + Swift, It “just works” — but how?:相比于 Objective-C,Swift 的内存管理的概念相对模糊,因为没有经历过手动的内存管理,所以在 Swift 中很多细节开发者并没有特别在意。不过其底层的机制依然是引用计数和 ARC。这篇文章为我们讲述了 Swift 在 ARC 环境下是如何工作的,对于我们理解 Swift 的内存管理方式会有所帮助。

  3. iOS Layout 技术回顾及 Masonry 介绍:UI 布局可以说是在制作 app 时非常重要的一个环节,而现在 AutoLayout 已经是行业事实上的标准方法。Apple 提供的 AutoLayout API 在使用上有一些不便,不过在最近的 SDK 中 Apple 也正在向好的方向努力。这篇文章为我们介绍了 AutoLayout 的思想由来,以及一些使用 DSL 来描述布局的方法。

开源项目

  1. SwiftAndroid: Swift 开源对社区所带来的影响在持续升温中。这个项目是对 Swift 官方仓库的一个 fork,它尝试将 Swift 运行在 Android 设备上。在进行一些不很多的变动后,这个项目做到了在 Android 设备上运行 Swift 运行时,并且编写了一些简单的 Swift 程序以及打包为 apk 运行。这从实际上验证了在 Android 设备和开发环境中上使用 Swift 编写代码的可能性,非常有意思。

  2. StickyCollectionView:UICollectionView 为我们提供了非常灵活的数据展示的方式。这个框架通过自定义的 layout,实现了 cell 在滚动时吸附在顶端并且之后的 cell 在其上方覆盖的效果。

  3. Chameleon-Swift:如果你是 iOS 开发者而又想编写一些 OS X 应用的话,也许你应该关注这个项目。Chameleon 是一个试图将 UIKit 移植到 OS X 开发中的项目。它让你可以在 iOS 和 OS X 上重用 UIKit 代码。最近他们也从 Objective-C 转向 Swift 了。这个项目本身还在开发中,直接使用在商业项目中可能不是特别好的选择,不过这并不妨碍我们关注这种新的可能性。

  4. TransitionTreasury:一个非常完善的处理 ViewController 导航和转场的框架,可以用来方便地实现一些常见的转场效果。你可以在这个网站上找到一些已经可以实现的效果视频。另外,这个项目也具备完善的文档和使用说明


感谢徐川对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群(已满),InfoQ 读者交流群(#2))。

移动iOS语言 & 开发架构