写点什么

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:002052
用户头像

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

关注

评论

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

ModStartCMS模块化建站系统 v3.3.0 组件功能升级,事件触发增强

ModStart开源

Deep dive #2:API 与 Python SDKs 详解

Zilliz

Python 数据库

百度飞桨大企业开放创新中心联合赋能计划启动!助力浦东产业智能化升级

百度大脑

了解 DevOps,必读这十本书!

禅道项目管理

DevOps

2022年中国智慧医疗行业洞察

易观分析

智慧医疗

Hudi Bucket Index 在字节跳动的设计与实践

字节跳动数据平台

数据库 字节跳动 数据湖 Hudi

Milvus 图形化管理工具 Attu 来袭!

Zilliz

数据库

极致用云,数智护航

阿里云云效

阿里云 DevOps 运维 云原生 运维安全

前所未有的 Milvus 源码架构解析

Zilliz

「前端CI/CD系列」第二篇:如何用建木CI更新七牛云CDN证书

Jianmu

CDN 自动化运维 七牛云 建木CI

虎符交易所2022年首届交易大赛 最高瓜分5万USDT奖励

区块链前沿News

虎符交易所

基于 Kafka 的实时数仓在搜索的实践应用

vivo互联网技术

kafka 服务器 搜索 数据舱

大咖说|对话路特斯科技副总裁李博:如何看待智能驾驶的未来?

大咖说

阿里巴巴 智能 汽车 无人驾驶 路特斯

“pip不是内部或外部命令,也不是可运行的程序或批处理文件” 到底有多么神秘

华为云开发者联盟

Python pip 批处理 scripts pip install

乘冬奥之风:北京2022年冬奥会用户信息获取偏好专题分析

易观分析

冬奥会用户分析

产品经理:「点这里,我要跳到任何我想跳的页面」—— 解耦提效神器「统跳路由」

百瓶技术

ios 前端 客户端 路由

为什么我的 ORDER BY create_time ASC 变成了 order by ASC

LigaAI

Java 数据库 sql 程序员

边缘计算场景下Service Mesh的延伸和扩展

华为云原生团队

开源 边缘计算 边缘技术 边缘 边缘云

Android技术分享| 【你画我猜】Android 快速实现

anyRTC开发者

音视频 移动开发 互动白板 Andriod 你画我猜

如何通过 draftjs 设计留言框

全象云低代码

前端 低代码 留言 draftjs 留言框

移动开发er,10万奖金等你来战!

Speedoooo

活动 前端开发 移动开发 黑客马拉松 黑客松

云效发布策略指南|滚动、分批、灰度怎么选?

阿里云云效

云计算 阿里云 云原生 持续交付 发布策略

优化| 手把手教你学会杉数求解器(COPT)的安装、配置与测试

杉数科技

线性规划 求解器 优化求解器 混合整数规划 杉数科技

oracle数据库审计用什么数据库审计软件好?可以用什么方式部署?

行云管家

数据库 IT运维 数据库审计

【重磅发布】蚂蚁动态卡片,让 App 首页实现敏捷更新

蚂蚁集团移动开发平台 mPaaS

ios android 前端 mPaaS

掌握这些招数,你也能写出HR眼中的高分简历

Tom弹架构

求职面试

混合编程:如何用pybind11调用C++

华为云开发者联盟

c++ Python API 混合编程 pybind11

web前端培训:vue3源码中细节知多少

@零度

Vue 前端开发

一个关于 += 的谜题

AlwaysBeta

Python 编程语言

混合云管平台哪家强?采购时候需要注意什么?

行云管家

混合云 云管平台

Go 语言入门很简单:读写锁

宇宙之一粟

读写锁 Go 语言 2月月更

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