产品战略专家梁宁确认出席AICon北京站,分享AI时代下的商业逻辑与产品需求 了解详情
写点什么

iOS 开发周报:WWDC 16 门票抽选结束,MacBook 和 MacBook Air 获小幅更新

  • 2016-04-25
  • 本文字数:1858 字

    阅读完需:约 6 分钟

新闻

  1. WWDC 16 将在 6 月 13 日举行,门票抽选已经结束:一年一度的 Apple 全球开发者大会日程已经确定。WWDC 16 将于 6 月 12 日进行报到,并在 6 月 13 日开始的一周于美国旧金山举行。和往年一样,WWDC 16 的门票也采用抽选方式发售,并且抽选已经完成。WWDC 16 上预计会发布 iOS 和 OS X 的全新版本,以及很有可能公布新款的 MacBook Pro 和 Apple Watch 等。如果你足够幸运获得了今年 WWDC 的门票,不妨可以参考一下这篇《写给初次参加 WWDC 的开发者的简明攻略》尽早开始准备行程。
  2. 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 上宣布。

教程

  1. 高速公路换轮胎——为遗留系统替换数据库:不断重构是维持代码设计和项目活力的重要方法。而重构和新版本的迭代开发一起进行会是一件很有挑战的事情。在这篇文章中,作者讲述了讲述他们的团队在如何在不影响系统外部行为,也不影响正常交付的情况下,对 app 内的数据库实现进行替换的工作。在文章最后,作者也对重构方式和经验进行了一些总结。
  2. 探索 Swift 中的 MVC-N 模式:MVC-N 模式是一种对 MVC (Model View Controller) 模式进行了扩展的设计模式,它使异步网络调用与用户界面控制器相互隔离,从而对 Controller 部分进行了一些分离和简化。相对于其他一些框架,MVC-N 所作出的变动和更改力度要小得多,因此也更容易应用在开发中,迁移起来也不会特别困难。通过将将网络访问代码抽离出来,形成单独的网络控制器抽象,可以让其他部分的重用和重构变得容易得多。
  3. Rejected Swift Proposals :Swift 开源后社区为 Swift 的进化和发展出谋划策,提出了很多的建议。在一些建议被采纳了,并且会出现在今后的 Swift 版本中,但是更多的还是被回绝了。这篇博客分析了几个呼声很高但是最后没有能成为标准的提案,并对它们进行了一些评论。
  4. 巧用 Class Extension 分离接口依赖:Class Extension 和 Category 是我们经常使用的 Objective-C 语法,使用这些语言特性能够让我们以更优雅的方式组织代码并分离接口依赖。本文举了一个这方面的应用例子来对使用 Class Extension 的好处进行了解释。

开源项目

  1. 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 背后的一些思考。
  2. JASON :一个 Swift 的 JSON 解析库,并提供了 Alamofire 的支持。作者在 benchmark 中宣称 JASON 的速度要比 SwiftyJSON 要快很多,但是实际上可能是进行性能测试的代码存在的一些类型转换上的区别导致的。不过不论如何,JASON 的代码十分简洁,为我们提供了一个在 Swift 中使用 JSON 的另一种封装和选择。
  3. JSPatchX JSPatch 可以让你用 JavaScript 书写原生 iOS app,在实际使用中,只需在项目引入极小的引擎,就可以使用 JavaScript 调用任何 Objective-C 的原生接口,获得脚本语言的优势:为项目动态添加模块,或替换项目原生代码动态修复 bug。这个项目是 JSPatch 的 Xcode 代码自动补全插件,使用这个插件,能让你在 Xcode 中很容易地书写 Javascript 的文件。
  4. The Swift Summary Book :对于 Swift 入门和语法学习来说,Apple 的官方文档是很好的材料。但是文档存在内容较多,有时候阅读噪声太大的问题。这个 repo 提供了一系列 Playground 文件,集中地展示了 Swift 的基础语法特性。如果你有一些其他语言的使用基础,想要入门 Swift 的话,这些示例代码应该能够帮助你完成这个任务。

感谢徐川对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-04-25 19:001981
用户头像

发布了 59 篇内容, 共 21.0 次阅读, 收获喜欢 4 次。

关注

评论

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

模块7作业-王者荣耀商城异地多活架构设计

卡西毛豆静爸

#架构实战营

怒肝 JavaScript 数据结构 — 数组篇(一)

杨成功

JavaScript 数据结构 4月月更

容器 & 服务:Kubernetes运维记录

程序员架构进阶

Kubernetes 容器 4月日更 4月月更

在线XML转HTML工具

入门小站

工具

智能时代,应该如何培养中小学AI教师?

脑极体

基于python的struct模块实现简单的ByteBuf

歆晨技术笔记

架构师成长路线图

俞凡

架构

一文读懂 MySQL Explain 执行计划

老周聊架构

MySQL 数据库 3月月更 4月月更

王者荣耀商城异地多活架构设计

石小天

「架构实战营」

【Go实现】实践GoF的23种设计模式:单例模式

元闰子

Go 设计模式 单例模式

王者荣耀商城异地多活架构设计

「架构实战营」

一条SQL语句是如何执行的?

程序员阿杜

MySQL 数据库

SeekTiger治理通证STI流动性质押的背后,是DAO社区的支持

小哈区块

当东数西算变成一场西游记……

白洞计划

推荐一款可以替代Postman的国产api管理工具apipost

CodeNongXiaoW

php 后端 开发工具 java api管理工具

在线OPML美化格式化工具

入门小站

工具

架构训练营-作业七

默光

异地多活 架构训练营5期

谈谈高并发系统的一些解决方案

xiaoxi666

高并发 高并发系统设计 高并发系统

架构设计学习资料汇总

俞凡

架构

系统架构实践(一)

Trent

全链路压测(八):构建三大模型

老张

性能测试 全链路压测 稳定性保障

Kubernetes官方java客户端之八:fluent style

程序员欣宸

4月月更

微服务从代码到k8s部署应有尽有系列(四、用户中心)

万俊峰Kevin

微服务 RPC web开发 go-zero Go 语言

Linux之ssh-copy-id命令

入门小站

Linux

浅谈软件项目开发过程

小锅米线

微信朋友圈高性能架构

流火

在 Flutter 和 Dart 中取消 Future 的 3 种方法

坚果

4月日更

三高Mysql - Mysql索引和查询优化(偏理论部分)

懒时小窝

MySQL 数据库

SeekTiger治理通证STI流动性质押的背后,是DAO社区的支持

西柚子

swagger2 统一默认Response Code

Rubble

swagger 4月日更

新的篇章,Pancake开通STI的流动性LP质押

BlockChain先知

iOS开发周报:WWDC 16 门票抽选结束,MacBook 和 MacBook Air 获小幅更新_移动_王巍_InfoQ精选文章