forked from SwiftOldDriver/iOS-Weekly
-
Notifications
You must be signed in to change notification settings - Fork 0
/
#19-2018.05.14.md
103 lines (51 loc) · 8.51 KB
/
#19-2018.05.14.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
# 老司机 iOS 周报 #19 | 2018-05-14
![ios-weekly](https://github.com/SwiftOldDriver/iOS-Weekly/blob/master/assets/ios-weekly.png)
老司机 iOS 周报,只为你呈现有价值的信息。
你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
## 新闻
### [iOS 11 App 上传规则变化](https://developer.apple.com/news/?id=05072018a&utm_campaign=iOS%2BDev%2BWeekly&utm_medium=email&utm_source=iOS%2BDev%2BWeekly%2BIssue%2B351)
2018 年 7 月份开始,所有上传 App Store 的应用都必须是基于 iOS 11 SDK 编译并适配 iPhone X 的分辨率。当然,Apple 也对上传流程做了进一步的优化。更多细节,请参照:[https://developer.apple.com/ios/submit/](https://developer.apple.com/ios/submit/)
### [What's New In Vapor 3](https://geeks.brokenhands.io/blog/posts/whats-new-in-vapor-3)
Vapor 3 对 Vapor 进行了彻底的重新设计,为未来几年的发展奠定了基础,让 Vapor 能够成长和进化为最好的服务器端 Swift 框架。Vapor 3 现在完美支持 Swift 4 的 `Codable`,并且从同步阻塞架构进化为异步非阻塞架构,同时还采用 Apple 新的开源服务器端框架 [SwiftNIO](https://github.com/apple/swift-nio) 来管理所有网络连接和 HTTP 解析。
### [在 apple/swift 的 tensorflow 分支上开发 Swift for TensorFlow](https://forums.swift.org/t/swift-for-tensorflow-to-be-developed-on-tensorflow-branch-on-apple-swift-on-github/12595)
[Swift for TensorFlow](https://www.tensorflow.org/community/swift) 的 Swift 编译器开发在 [google/swift](https://github.com/google/swift) 分支上,Ted Kremenek (Swift 项目新主管)和 Chris Lattner(Swift 之父)都认为将这个分支上的工作移动到 [Apple/Swift](https://github.com/apple/swift) 上直接开发,对 Swift 社区更有益处。这样会让 Swift 编译器开发的协同工作集中到一个中心,而且也能避免大家对于 Swift 产生方言的担忧。
新分支 tensorflow 将会在近期创建,tensorflow 上开发的新功能,会通过 [Swift 发展流程](https://github.com/apple/swift-evolution),将一部分合入 Swift 主分支,tensorflow 分支本身,也会密切追踪 Swift 主分支的更新。
### [Ulysses 13 将更好的支持代码展示](https://ulyssesapp.com/blog/2018/05/preview-code-blocks/)
最好的 MarkDown 写作工具之一 Ulysses 对代码的展示一直不够友好,最近宣布将在下个版本中优化对代码段的展示,并且支持 github style。
## 文章
### 🐢 [AVAudioEngine Tutorial for iOS: Getting Started](https://www.raywenderlich.com/185090/avaudioengine-tutorial-for-ios-getting-started)
音频处理一直是 iOS 开发中非常棘手的一部分,因为在 iOS 8 之前只能使用低级的、晦涩难懂的 Core Audio 框架,但随着 iOS 8 发布了高级的音频工具集 **AVAudioEngine**,我们不再需要深入挖掘 Core Audio 也可以实现音频处理,这篇教程会为你介绍如何使用这个新工具。
### 🐎 [深入了解Flutter界面开发](https://mp.weixin.qq.com/s/z2r2OmnY7r7dQrkO8ndkFQ)
最近一段时间,通过学习浏览器内核的相关思想来做界面开发的框架层出不穷。从 Reactive Native、Samurai Native、Weex 到最近的 Flutter、Tangram,各个公司都结合自己的业务时间推出了对应的轮子。不过反过来想,轮子多的核心原因恰恰是其实目前还没有完美的轮子。
这篇文章并不是 Flutter 的教程,而是重点介绍了 Flutter 的渲染流程和原理,以及探讨了一些背后的 immutable 和 react 之间惺惺相惜的设计思想,很有价值。如果自己所在的团队有这类轮子需求的同学,一定不要错过。
### 🐎 [DEALING WITH DATES](http://martiancraft.com/blog/2018/05/dealing-with-dates/)
时间对于在日常生活中的我们是简单的概念,但是在编程领域却是困难的。本文介绍了在 Apple 平台下,如何利用系统框架来对时间进行正确的处理。
### 🐎 [Codable 与 JSONSerialization 性能测试](https://flight.school/articles/benchmarking-codable/)
Swift 4 的新功能 Codable 可以自动生成解析 JSON 的构造器,但这些自动生成的代码跟我们手写的有什么区别呢?这篇文章的作者写了一个性能测试去比较 JSONDecoder 和 JSONSerialization,文末作者表示虽然 Codable 生成的代码效率只有手动解析的一半,但比起这点性能消耗,绝大部分情况下 Codable 带来的便利更加重要。
### 🐢 [从源码看微信小程序启动过程](https://tech.youzan.com/weapp-booting/)
这篇文章记录了作者经过 3 个礼拜研究后,对小程序框架的基本代码结构,启动流程以及程序实例化过程的理解,并且从小程序的启动流程入手一步步解答了“框架对传入的对象等到底做了什么”的疑问。
### 🌟 [Memory Leaks in Swift](https://medium.com/flawless-app-stories/memory-leaks-in-swift-bfd5f95f3a74)
`Leaks` 相关的内容在业内虽然已经有很多文章了,但多数是以 OC 来做示例,文章从 Swift 角度讲 `Memory Leaks` 是什么、有哪些危害?为什么会发生 `Leak`?最后重点介绍了消除 `Leaks` 的几种方式。
### 🐎 [Making illegal states unrepresentable](https://oleb.net/blog/2018/03/making-illegal-states-unrepresentable/)
作者以 URLSession 为例,大致描述了如何通过 Swift 的强类型来消除不明确的状态。在编译器的帮助下,编写出更加逻辑缜密的代码。
### 🚧 🐎 [Capture iOS simulator video for App Preview](http://www.avanderlee.com/workflow/capture-ios-simulator-video-app-preview/)
这里介绍了一个 Xcode 模拟器的命令行小技巧,很方便的用简单的命令行来实现将模拟器中的操作录制成录像,方便上传到 AppStore 的录像展示之中,浏览该网页需要翻墙。
### 🐢 🌟 🚧 [Best iOS hacks from Twitter: March & April Edition](https://medium.com/flawless-app-stories/best-ios-hacks-from-twitter-march-april-edition-8b538f553c83)
3 月 和 4 月整理自 Twitter 的各种 iOS 开发、调试小技巧与冷知识,非常干的干货,推荐花时间仔细阅读,绝对会有所收获。
## 音视频
### [RWDevCon 2018 Vault Video Bundle](https://store.raywenderlich.com/products/rwdevcon-2018-vault-video-bundle)
此系列视频收费 $99,共 18 个主题:如 `Serialization in Swift`、`Auto Layout`、`Clean Architecture`、`Android`、`TDD`、`WKWebView`、`ARKit`、`Metal` 等,如对其中两个主题感兴趣也就值回票价了。
## 内推
### [丁香园丁香妈妈团队招中高级 iOS 工程师](https://www.liepin.com/job/1913949377.shtml?imscid=R000000075&ckid=533d5430df9380a3&headckid=533d5430df9380a3&pageNo=0&pageIdx0&totalIdx=0&sup=1&d_pageSize=40&siTag=kW6OQA_mI-f6OR9izNLFIw%7EfA9rXquZc5IkJpXC-Ycixw&d_headId=9ed780f47f2296b01fd302251c1dcb7e&d_ckId=9ed780f47f2296b01fd302251c1dcb7e&d_sfrom=search_fp&d_curPage=0&d_posi=0)
新组建的团队,有电商方面开发经验优先,有意向请发送简历到 [email protected]
### 百度文库 / 百度阅读,招聘 Android / iOS / Fe 高级 / 资深工程师
百度文库 / 百度阅读,招聘 Android / iOS / 前端 高级 / 资深工程师,坐标北京百度科技园,有意向请发送简历到 [email protected]
## 关注我们
我们开通了公众号,每期发布时公众号会推送消息,欢迎关注。
![](https://github.com/SwiftOldDriver/iOS-Weekly/blob/master/assets/qrcode_for_wechat.jpg?raw=true)
同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
## 本期编辑
[@没故事的卓同学](https://weibo.com/1926303682/profile),[@四娘](https://kemchenj.github.io),[@mmoaay](https://weibo.com/u/1302422271),[@享耳先森](https://github.com/iblacksun),[@EyreFree](https://weibo.com/eyrefree777),[@Damonwong](https://weibo.com/damonone),[@折腾范儿_味精](http://weibo.com/agvicking),[@张嘉夫](https://weibo.com/2949394297),[@AidenRao](https://weibo.com/AidenRao),[@Parsifal](https://weibo.com/parsifalchang),[@aaaron7](https://weibo.com/aaaron7),[@方秋枋](https://weibo.com/100mango)
## 说明
🚧 表示需翻墙,🌟 表示编辑推荐
预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)