「 知识小集 」2019 · 第 3 期(年前抽个奖)

本周主题: Swift 5

Swift 5 的突然到来,稍稍地打乱了我们的发版节奏。上周五苹果发布官方文档 Swift 5 Release Notes for Xcode 10.2 beta ,小集的小伙伴非常给力,及时翻译出了中文版本:Swift 5 新特性一览,所以我们的第 3 期稍微迟了几天。 Swift 5 的推出,带给我们不少的惊喜,特别是 ABI 的稳定,让我们终于可以好好考虑一下,是不是真的可以开始用 Swift 了。

关于 Swift 5 的内容,目前网上还比较少。除了官方发布的文档,还有一些 swift evolution 中的内容。

另外随着 flutter 的发力,移动开发跨平台之争以及跨平台与 Native 之争会更加激烈。Swift 能否真正有大发展,其实还是面对非常多的挑战,可以说是内忧外困。能否突破移动端的局限,也是非常关键的。实际上,苹果早在 2016 年级成立了 swift-server 工作组,致力于 Swift 在服务端的使用。

进入正题。

彩蛋

为了节省大家时间,我们先发彩蛋吧。:smiley:,快过年了,先祝大家春节快乐,万事如意,年年有余。

今天的彩蛋是抽奖送 Sepicat 兑换码。 Sepicat 是瓜神开发的一个 Github 客户端,这个就不用多介绍了吧,谁用谁喜欢。

请点击抽奖链接 进入抽奖页面。

下午 6 点开奖,由于小编可能还在火车上,发奖可能会有延迟:pray:。

小集内容

公众号这两周

知识小集开发 tip 有以下内容:

synchronized
objc_exception_throw
-[UITableView didSelectRowAtIndexPath:]

更多内容可以查看我们的小程序,或者 Github

文章

这一篇主要是讲 Swift 5 中的原始字符串。原始字符串确实给我们带来了很大的方便,特别是像在正则表达式或者一些有转义字符的字符串中。使用原始字符串可以避免在字符串使用 \ 来做转义,从而让我们的字符串看上去更清晰明了。

这是 Hacking with Swift 的作者去年写的一篇文章,主要针对 swift evolution 中那些在 Swift 5 中实现的功能作了一些解析。比如说原始字符串、 @dynamicCallable 、处理枚举的 @unknown case 等,总共讨论了 7 个问题。之前我们是打算翻译这篇文章的,现在官方文档出来了,所以放在这供大家参考。

开源库

这个库主要还是收录了 swift evolution 上 Swift 5 实现的功能,主要还是整理,所以现在参考意义不是太大了。:joy:

SwiftNIO

SwfitNIO 是由苹果公司开源的一款基于事件驱动的跨平台网络应用程序开发框架,其目标是帮助开发者快速开发出高性能且易于维护的服务器端和客户端应用协议。 SwfitNIO 实际上是一个底层工具,用于开发高性能的网络应用程序,作为“每连接一个线程”的替代方案。想更多的了解,可以参考一下 InfoQ 的 苹果公司开源的 Swift 版 Netty:SwiftNIO

Vapor

Vapor 是用 Swift 写的一个 Web 框架,可运行在 macOS 和 Ubuntu 上,其目标是为 Web 网站开发、API 接口或者云项目提供一个易用的框架。官方文档可以查看Vapor Docs

flutter-go

这是阿里的一个开源项目,旨在帮助 Flutter 开发者,包含 flutter 常用 140+ 组件的 demo 演示与中文文档。

职位

好好过年,年后再说吧。:stuck_out_tongue_closed_eyes:

关注我们

欢迎关注我们的公众号:iOS-Tips,也欢迎加入我们的群组讨论问题。可以加微信 coldlight_hh / wsy9871 进入我们的 iOS / flutter 微信群。

我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章