新闻
- WWDC 16 将在 6 月 13 日举行,门票抽选已经结束:一年一度的 Apple 全球开发者大会日程已经确定。WWDC 16 将于 6 月 12 日进行报到,并在 6 月 13 日开始的一周于美国旧金山举行。和往年一样,WWDC 16 的门票也采用抽选方式发售,并且抽选已经完成。WWDC 16 上预计会发布 iOS 和 OS X 的全新版本,以及很有可能公布新款的 MacBook Pro 和 Apple Watch 等。如果你足够幸运获得了今年 WWDC 的门票,不妨可以参考一下这篇《写给初次参加 WWDC 的开发者的简明攻略》尽早开始准备行程。
- MacBook 和 MacBook Air 获小幅更新:在今年三月的 Apple 新款发布会上笔记本电脑产品线并没有获得更新,本周 Apple 对 MacBook 和 MacBook Air 进行了小幅更新。MacBook 更新了 Skylake Intel Core M 的 CPU,新的显卡,以及新增了玫瑰金的款式。而 MacBook Air 在硬件更新的基础上还将最低配置的内存容量由 8 GB 提高到了 16GB。但是此次更新依然没有涉及 MacBook Pro 和 Mac Pro 等产品,媒体预计这两款更加专业的产品更新将在 6 月的 WWDC 上宣布。
教程
- 高速公路换轮胎——为遗留系统替换数据库:不断重构是维持代码设计和项目活力的重要方法。而重构和新版本的迭代开发一起进行会是一件很有挑战的事情。在这篇文章中,作者讲述了讲述他们的团队在如何在不影响系统外部行为,也不影响正常交付的情况下,对 app 内的数据库实现进行替换的工作。在文章最后,作者也对重构方式和经验进行了一些总结。
- 探索 Swift 中的 MVC-N 模式:MVC-N 模式是一种对 MVC (Model View Controller) 模式进行了扩展的设计模式,它使异步网络调用与用户界面控制器相互隔离,从而对 Controller 部分进行了一些分离和简化。相对于其他一些框架,MVC-N 所作出的变动和更改力度要小得多,因此也更容易应用在开发中,迁移起来也不会特别困难。通过将将网络访问代码抽离出来,形成单独的网络控制器抽象,可以让其他部分的重用和重构变得容易得多。
- Rejected Swift Proposals :Swift 开源后社区为 Swift 的进化和发展出谋划策,提出了很多的建议。在一些建议被采纳了,并且会出现在今后的 Swift 版本中,但是更多的还是被回绝了。这篇博客分析了几个呼声很高但是最后没有能成为标准的提案,并对它们进行了一些评论。
- 巧用 Class Extension 分离接口依赖:Class Extension 和 Category 是我们经常使用的 Objective-C 语法,使用这些语言特性能够让我们以更优雅的方式组织代码并分离接口依赖。本文举了一个这方面的应用例子来对使用 Class Extension 的好处进行了解释。
开源项目
- GPUImage 2 :如果你在做图像处理相关的工作的话,一定不会回 GPUImage 这个强大的图像 / 视频处理框架陌生。GPUImage 2 是使用 Swift 对原来 Objective-C 版本的 GPU Image 进行的完全重写。得益于 Swift 的跨平台特性,现在 GPUImage 2 不仅可以运行在 iOS 和 Mac 上,你还能在 Linux 上使用它。Swift 的语言特性也在这个框架中得到了完美的诠释,相比于 Objective-C 版本,Swift 的新版代码量只有原来的四分之一,并且更加安全易用。GPUImage 2 的作者同时也发布了 http://sunsetlakesoftware.com/2016/04/16/introducing-gpuimage-2-redesigned-swift "> 一篇博客来阐释 GPUImage 2 背后的一些思考。
- JASON :一个 Swift 的 JSON 解析库,并提供了 Alamofire 的支持。作者在 benchmark 中宣称 JASON 的速度要比 SwiftyJSON 要快很多,但是实际上可能是进行性能测试的代码存在的一些类型转换上的区别导致的。不过不论如何,JASON 的代码十分简洁,为我们提供了一个在 Swift 中使用 JSON 的另一种封装和选择。
- JSPatchX : JSPatch 可以让你用 JavaScript 书写原生 iOS app,在实际使用中,只需在项目引入极小的引擎,就可以使用 JavaScript 调用任何 Objective-C 的原生接口,获得脚本语言的优势:为项目动态添加模块,或替换项目原生代码动态修复 bug。这个项目是 JSPatch 的 Xcode 代码自动补全插件,使用这个插件,能让你在 Xcode 中很容易地书写 Javascript 的文件。
- The Swift Summary Book :对于 Swift 入门和语法学习来说,Apple 的官方文档是很好的材料。但是文档存在内容较多,有时候阅读噪声太大的问题。这个 repo 提供了一系列 Playground 文件,集中地展示了 Swift 的基础语法特性。如果你有一些其他语言的使用基础,想要入门 Swift 的话,这些示例代码应该能够帮助你完成这个任务。
感谢徐川对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们。
评论