内容简介:老司机 iOS 周报,只为你呈现有价值的信息。你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到Swift 4.2 正式发布。我们可以通过 WWDC 2018 的 SessionWhat’s New in Swift 快速了解新特性。Ole Begemann 总结的Playground 也方便我们上手试验把玩。
老司机 iOS 周报,只为你呈现有价值的信息。
你也可以为这个项目出一份力,如果发现有价值的信息、文章、 工具 等可以到 Issues 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Issues 提出。
新闻
Swift 4.2 正式发布。我们可以通过 WWDC 2018 的 SessionWhat’s New in Swift 快速了解新特性。Ole Begemann 总结的Playground 也方便我们上手试验把玩。
知识小集团队 @lefe_x @halohily 同学潜心著作的一本学习 JS-Native 交互的电子书,这个专题旨在能够帮助更多的同学掌握 Hybrid 在 iOS 中的应用。整个专题总共分为四章,强烈推荐给大家
第一章 主要介绍 JS 语法,为后续的章节做好铺垫,不过建议读者系统地学习一下 JS,对整个专题的理解有很大的帮助;
第二章 介绍了 JavaScriptCore 这个框架与 OC 间的通信;
第三章 介绍了 WKWebView,以及一些调试技巧;
第四章 主要对前面讲到的知识进行实践,其中 JSPatch 部分理解起来比较吃力,如果读者想深挖 JSPatch可以结合源码一起看本章内容,理解起来更透彻。
微信团队于最近宣布开源 MMKV,这是一个基于 mmap 内存映射的 key-value 组件。而这个组件在微信内部已经使用了 3 年,稳定性上得到了验证。而在性能上,也比传统的 NSUserDefaults 等方案更加出色。并且也移植到了 Android 平台,在这次一起开源。
专栏
Swift for TensorFlow 是 Chris 到 Google 之后发布的新项目,目的在为 Swift 提供内建的机器学习能力。整个技术用了非常巧妙的方式,在编译器层面实现了对 TensorFlow 的支持,非常创新。并且从项目的设计思路也能够感受到 Chris 对 Swift 这门语言的一些想法,Swift 绝不简单是客户端或者服务端编程语言,而是一个全新的编程平台,开放优雅的架构使其能够无缝和其他语言进行交互,而且是在类型安全的前提下。
我在 2018@Swift 大会上分享了一这项技术的一些原理和应用,这篇文章是分享的文字版。
Swift for TensorFlow
Swift 4.2 其中一个比较大的改动就是 Hashable
协议,对这么一个基础的协议做改动,即使在一年出一门新语言的 Swift 大家族里也几乎是第一次 ♂️,看到这篇提案的时候我就产生了这么几个疑问:
inout
在查阅了一些资料之后,我发现国外对于这件事情的讨论其实也不多,最好的资料还是 Swift-Evolution 的提案,所以特意翻译出来,希望能够帮助大家更好地了解这一次基础协议改动的来龙去脉。
文章
这次 2018@Swift 大会,戴铭的幻灯片惊艳全场,把本身就比较晦涩的编译原理相关的知识,用美轮美奂的漫画体现出来,给人一种耳目一新的感觉。这篇文章讲了一些分享的背景还列出了全部幻灯片的截图,错过大会的同学不容再错过文章。
个人最喜欢的是 AST 那几 p,你们呢?
本文讨论了 Facebook 和国内公司的业绩考核之间的异同。讲来不同的考核制度本身并没有什么好坏之分,更多的还是在不同环境下取得对公司和员工最有利的情况。
Peak 老师自加入 Facebook 后贡献了好多篇国内和湾区的工作生活比较的文章,对于好奇湾区这边(不代表美国其他地区)码农的工作生活状态的同学,值得一读。
Peak 大神抛出了一个比较有意思和值得讨论的问题,员工之间可不可以讨论工资收入?Peak 大神还贴出了阿里和Facebook在这个问题上的态度对比并附上了自己的见解。不知你们对这个问题又有什么看法呢?
:turtle: 深入浅出 Swift Numerics
Swift 社区开发者 Xiaodi Wu 写了一系列文章,介绍了 Swift 中数字类型背后的设计思想(如 Int、Float 等)以及许多 Numeric Protocols
间的关系,建议有 Swift 开发经验的开发者们精读。
:dog2:FastImageCache 原理
对于大多数 app 来说,图片存取/编解码都是绕不过去的话题,而这通常会占用相当一部分的计算/存储资源,值得大家反复研究。本文作者分析了 path 维护的 FastImageCache,从 mmap、decoding 和 byte alignment 几个角度来分析其对图片加载性能的优化。
iOS 12 发布了,但很多前端同学却发现 iOS 12 中 WebView 的一个大 BUG ,对数组进行 reverse 操作会导致 webview 将该数组的最后形态进行缓存,关闭页面退出页面都不会清掉,在 StackOverFlow 上也有人探讨,好在博主给了一个解决方案,快来看看吧。
Swift 4.2 中 self
在 optional binding 中不再作为保留关键字。现在可以忘记 strongSelf 了,直接这样写吧:
guard let self = self else { return } 复制代码
UIStackView 是苹果在 iOS9 中引入的一个新的视图类。Stack View 可以高效的排列一行或者一列视图。在使用中,我们的子 View 很可能是需要动态调整高度的,这时候,我们既可以通过 Interface Builder,也可以通过代码在需要调整高度时候重新布局。但是,实际上,我们可以更简单高效的解决这个问题,就是使用 Readable Content Guides。
Async/await 一直是 Swift 开发者期待的功能,但是由于在写单元测试的时候需要一些异步测试场景,所以 sundell 通过对 Futures & Promises 的进一步改造实现了一个 await 函数 的作为 Swift 还没支持 Async/await 的折中方案。整个实现思路还是很通俗易懂的。
5 个基于 ARKit2 的原型,用来提升购物体验、给报纸添加视频、观看绘画时增强关键人物,使涂鸦墙能够观看历史,给穿戴设备做屏幕延展。 AR 有非常大的潜力,这 5 个原型也许能激发你的灵感。
Google 今年在上海的 GDD (Google Developer Days) 上周末圆满结束,算是一次做的非常成功的国际公司在国内搞的 Developer 相关的活动。如果你没有去现场参加的话,赶紧跟着去参加了的开发者们去看看 GDD 上的亮点吧。
Swift 的下一个版本是5.0,首要目标就是让 ABI 稳定(存疑,现在还有好几个issue没动静),另外还有一些比较重要的特性,通过 预设置好的playground 可以体验这些特性
- Raw strings:可以将字符串的转义操作变得更好用了
- Handling future enum cases:switch 操作中,default 的处理通常意味着一些未能处理得很好的逻辑,现在可以在 default 前加上
@unknown
标记,让编译器在编译时产生一个 warning - Checking for integer multiples:增加了
isMultiple(of:)
函数,相当于之前的模除操作,譬如if rowNumber % 2 == 0
跟rowNumber.isMultiple(of: 2)
等价 - Counting matching items in a sequence:数组的 count 函数也可以加上一些 filter 操作了
- Transforming and unwrapping dictionary values with compactMapValues():对于 Dictionary 对象增加了
compactMapValues()
函数,将compactMap()
和mapValues()
结合起来,变得更加方便
:turtle:iOS 12
NSHipster 出品,从 API 角度解析 iOS 12 中值得关注的改进。主要包括了以下几部分内容:为重要数据请求提高网络优先级、后台读取 NFC 标签、使用电话号码和电子邮件地址来匹配通讯录、在航空中更新位置、识别平放的设备、输入框中的自动填充新密码和短信验证码。十分推荐阅读。
作者针对 Operating Systems: Three Easy Pieces 这本书中关于内存管理这块的做了一个小结,介绍了操作系统在处理内存管理中遇到的问题和演化方案,帮助读者增加内存管理方面的知识
- 如果是单进程模型,很简单,一块内存空间是内核的,一块内存空间是进程的
- 如果是多进程模型,考虑一下上下文切换问题,就需要有 base 和 bounds 来表示如何切换
- 考虑多进程间使用内存的空间利用效率问题,出现了分段的解决方案
- 为了解决分段方案带来的内存碎片问题,出现了分页的解决方案
工具
Xcode 在 debug 的时候,能够直接查看 UIImage
、 NSString
等类型数据,但是一直不支持 NSData
的查看。现在 Xcode 10 已经提供了这么一个功能,可以允许你通过预览小窗导出当前正在 debug 的 NSData
对象到本地,再进行查看。
代码
@Swift CON 2018 - 一场面向 Swift 开发者的知识盛宴,已于 09 月 15 日在北京顺利举行。由于各种原因未能去参加的各位同行,现如今可以通过这个开发者大会源文件了解到此次大会的主要内容。
Awesome README
好的 README 包括但不限于配图、屏幕截图、GIF、文本排版等。这是一个优秀 README 列表,以及一些帮助你写好 README 的工具。
设计
作者从代码和 UI/UX 设计角度展示了如何为现有的 app 加入 Siri Shortcuts 功能,包括增加 App Store 截屏、启动屏通知并且在设置界面里着重展示。
内推
-
北京-百度网盘 持续招 iOS 开发 :社招、应届、实习均可。项目在技术上很有挑战性,团队技术氛围极好。诚心希望各路大神前来切磋,也欢迎计算机基础好的小白来共同学习。简历发邮箱xuyafei01@baidu.com,暂不考虑的也欢迎微博私信@小非86 聊聊~
-
北京-蚂蚁金服 招iOS/安卓/前端开发 :负责支付宝会员及帐号业务线,地点北京国贸,金台夕照地铁站出口 100 米。有兴趣的同学欢迎将简历发送到:weijing.wdf@alibaba-inc.com / weijing.wdf@antfin.com (同一个邮箱) 或这微博私信@折腾范儿_味精 了解情况。
-
上海即刻:如果你认识聪明勤奋、胆大心细、有追求的工程师,那就来加入我们吧!任何推荐或简历可直接发给 Jason(即刻 iOS leader):jasy@okjike.com,或微博@JasonYuh。
-
杭州奇志科技招聘 iOS、前端 :奇志科技自 2016 年起通过行业无人机协同工作流 Mesh 进入物联网与人工智能领域, 并成功为房地产、建筑、测绘、电力巡检等行业提供无人机解决方案。感兴趣可以微博上私信@没故事的卓同学 了解。
-
深圳头条研发中心诚招各路 iOS 好手一起做取悦自己的项目 :如想了解更多深圳头条的信息,可以加小T微信:tomtan,切磋技术和聊情怀都可以喔~~~~
-
北京字节跳动 iOS 团队持续招人中 :简历可以发送到邮箱raozhizhen@gmail.com,或者添加我(@AidenRao)的微信 jingmu1994 了解更多公司及岗位信息。
-
北京百度教育事业部招 iOS 开发 :百度教育事业部,地点:北京西二旗。部门下面有百度阅读,百度文库,百度爱听等 App 产品。团队技术氛围浓厚,有兴趣的同学欢迎将简历发送到我的邮箱:lizelei@baidu.com。
关注我们
我们开通了公众号,每期发布时公众号会推送消息,欢迎关注。
同时也支持了 RSS 订阅: github.com/SwiftOldDri… 。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 老司机 iOS 周报 #30 | 2018-08-06
- 老司机 iOS 周报 #33 | 2018-08-27
- 老司机 iOS 周报 #36 | 2018-09-17
- 老司机 iOS 周报 #38 | 2018-10-08
- 老司机 iOS 周报 #39 | 2018-10-15
- 老司机 iOS 周报 #40 | 2018-10-22
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
JSON 在线解析
在线 JSON 格式化工具
Markdown 在线编辑器
Markdown 在线编辑器