老司机 iOS 周报,只为你呈现有价值的信息。
你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 Issues 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Issues 提出。
本周在周报公众号上我们推送了 2 篇 WWDC20 内参专栏内的文章,每篇都很精彩!
@Parsifal:GitHub 官方的 2020 年度报告,作为聚集了最多全球开发者的开源平台,GitHub 这次从社区、生产率以及安全三个方面,展示不同的数据来总结过去的 2020 年。
@极速男孩:这篇文章简单的介绍了在 Swift 三种 self 的不同用法,包括 self. 前缀,.self 后缀和 self 类型。
@Damien:今年双十一飞猪会场从前端渲染引擎从 Weex 回归到 WebView,在迁移变化的同时,同时性能指标上的优化也不能落下,飞猪团队为了极致的性能体验,使用了端侧预渲染、服务端渲染、页面快照、SPA 单页应用模式以及资源&数据预缓存等方案来进行极致的优化,同时取得的效果也是很惊艳的:日常会场首屏耗时环比降低 25%,较 618 以及国庆会场首屏耗时环比降低 20%。对 WebView 优化相关的同学推荐阅读此文,或许可以找到灵感。
@J_Knight_:本文作者结合自己的实际学习案例分享了 “如何自我学习/提升”的问题,整体的学习思路如下:
而且文章还提到了费曼学习法,感兴趣的读者可以阅读一下本文。
@享耳先森:并发一直是现代语言的重要部分,根据 Swift Roadmap,预计 Swift 6.0 将推出基于协程的 async/await 模型及新的 Actor Isolation 并发模型,Swift 核心成员 Doug 写了一篇文章,介绍 Swift 加入了新的并发模型之后,有哪些方式可以避免数据竞争。
参考:
@zvving:SwiftUI 之于 UIKit,就像 objc 之于 swift:二者在设计思想、具体实现方面有诸多关联,却又是底层逻辑完全不同、『推倒重建』的两类事物。
带着 UIKit 已有经验去学习 SwiftUI,能快速上手的同时也会掉一些不易察觉的坑:细节不符合预期、实现冗余、写法错误而不自知……本文作者总结了 SwiftUI 新手常犯的 8 类错误,解决问题的同时,帮助你更好的理解 SwiftUI 的独特之处。
@EyreFree:Swift 是一门简洁同时富有表现力的语言,这其中隐藏着众多的设计细节。本文通过提出一个 Struct 的语义问题,在寻找答案的过程中逐步引出 DynamicMemberLookup 应用、PropertyWrapper(WWDC19 的 PropertyDelegate) 的实现原理以及 SwiftUI DSL 中 PropertyWrapper 的应用,来一起看看更现代的 API 背后的设计过程。希望这些理念能帮助你用 Swift 在项目中设计出更现代、清晰度更高的 API。
@JonyFang:本篇主要解答了 iOS App 的链接是由谁完成的。作者通过创建 Demo 来实践 Xcode 生成静态库
和动态库
的流程,过程中分析 Report navigator 页面中详细的 Build(构建)日志,得到的结论是:
动态库
的链接过程会依赖 clang Driver
;静态库
与 动态库
的任务的是 libtool
和 ld64
。@红纸:iSimulator 是一款用于操控 Xcode 模拟器的 GUI 工具,其包含基础增删模拟器、展示应用安装列表、快捷导航应用的 Sandbox/Bundle 文件夹、APP 多模拟器同步装载等多种功能。还在烦恼找不到模拟器安装、文件夹路径的小伙伴可以尝试一下此工具。
@邦Ben:本文介绍了滴滴开源的 DoKit,DoKit 是一个针对 Flutter 的产研工具包,集成了各种丰富的小工具,UI、网络、内存、监控等等。本文也简单介绍了一下原理,但是实际实现方式还是仔细看代码更为确切。作为辅助类的工具,可以在调试方面提供到比较实时的反馈(例如测试找你反馈bug的时候,不用连个线去 debug 或者传日志一点点看),有需要可以一用。
Copyright© 2013-2020
All Rights Reserved 京ICP备2023019179号-8