老司机 iOS 周报,只为你呈现有价值的信息。

你也能够为这个项目出一份力,假如发现有价值的信息、文章、东西等能够到 Issues 里提给咱们,咱们会赶快处理。记住写上引荐的理由哦。有建议和意见也欢迎到 Issues 提出。

各位读者朋友很久不见,老司机周报康复更新啦!过去的 2021 年关于老司机周报来说发生了许多工作:咱们的修改团队迎来了三位新成员,组织了 翻译 WWDC21 内参线下沙龙等活动。具体内容能够看这份 年终总结 。非常感谢各位读者朋友长期以来的支撑与重视。这是周报的第 197 期,也是咱们康复更新的第 1 期,未来的时光将与咱们携手共进!

新闻

Swift bugs are moving to GitHub Issues and we need your help!

@J_Knight_:Swift 的 issue 办理将要从 JIRA 转移到 Github,计划悉数搬迁进程在本年的4月28日结束。在这之前,现已在 JIRA 上建立的 issue 会被完全复制到 Github 的 issue 列表中,作为一个新的 issue。今后 JIRA 也不再支撑新的 issue 的建立,并且 bugs.swift.org 网址也会重定向到 Github issue 的地址。想了解具体搬迁进程的读者能够了解一下。

 Developer – 设计开发加速器

在苹果加速器活动做的 SwiftUI 开发共享

戴铭教师受 Apple 加速器 SwiftUI 活动的邀请在 3 月 25 日做了一次关于 SwiftUI 的共享,共享内容包括但不限于macOS 怎么处理多栏问题、Toolbar、文件夹嵌套结构、文本和代码修改器、Grid、Vision、SwiftUI 组件和 UIKit 组件比照等内容。

新手引荐

Abstract types and methods in Swift

@ChengzhiHuang:本文介绍了 Swift 中一种完成虚类的计划。独自运用 Class 或许独自运用 Protocol 都会有各自的缺乏,因而作者挑选:

办法界说在 Protocol 中(包括 associatedtype ),成员变量界说在 Class 中,再运用 typealias 将 Protocol 与 Class 组合成一个类型进行运用。

这个计划也会带来一些问题,但也有各自的处理计划,酌情选取即可。

  • 因为新的类型也包括 associatedtype,因而无法被直接当类型运用,能够运用类型擦除处理。
  • 无法根据新的类型增加 extension。只能在原本的 Class 中增加办法,但有时这个办法又不应该或许不能增加在原本的 Class中。这时则能够在 Protocol 中也重复声明 Class 中对应的变量,而把办法增加在 Protocol 对应的 extension 中。

文章

内存优化: 纹理压缩技能

@老驴:元宇宙和 3D 相关技能的火爆也在最近带动了相关论题好文章的呈现。淘系技能团队的这篇共享就是阿里团队在小程序中对纹理压缩的一些探究和优化。 GPU 的不断发展让纹理压缩在移动端也获得了广泛的支撑,而假如能合理的运用,能够带来体积,内存占用和功能上的提升。

AnyObject, Any, and any: When to use which?

@享耳先森:Swift 5.6 在 SE-355 引进了 any 关键词,加上之前已有的 AnyObjectAny(注意是大写)。本文介绍了三个关键词各自的运用场景并侧重介绍新引进的 any 的作用。

Hummer 引擎优化系列 – 大批干货来袭预警

@CrazyCoderShi: Hummer 是 UC 内核团队定制的 Flutter 引擎,它根据官方 Flutter 引擎进行优化增强。通过近两年的继续优化和增强,Hummer 在各方的体现都足够亮眼,且通过了巨量的验证,接下来 UC 团队将会讲这些优化经验回馈于社区,可谓是干货满满,首要集中在:

  • 功能优化
  • 包体积优化
  • 内存安稳性
  • Dart 言语层优化
  • 事务层功能增强

Flutter 比 React Native 更好吗?

@xiaofei86:本文作者是一家软件开发公司的创始人兼 CTO,一起也是 React Native 的核心成员。在这篇文章里,作者试着尽可能公平地从人力本钱,开发者体会,功能,体会,Web 支撑,第三方生态,动态更新,以及运用它们的公司等多方面,去讨论 Flutter 和 React Native 的好坏,让咱们在项目技能选型时多一点指导权衡考虑的素材。

Creating Airbnb’s Page Performance Score | by Andrew Scheuermann | The Airbnb Tech Blog | Medium

@Barney 本文介绍了 Airbnb 构建自己的 PPS (一个 0 – 100分的多维度页面功能评分系统)的考虑进程、维度分析、困难探究、落地效果。能够按下面几个进程品读:

  • Early Performance Measurement Efforts
  • Introducing the Page Performance Score
  • The Metrics
  • Web Metric Weights
  • PPS Evolutions
  • Weighted Average Score

主动拦截 50% crash,字节自研 Fastbot 怎么助力今日头条安稳性测验

@含笑饮砒霜:Fastbot 是字节自研的智能化测验服务,利用机器学习和强化学习进行遍历测验,在代码覆盖率方面与人工回归有着相当的体现。Fastbot 能够完成操作可视化、场景限定、卡屏检测、无障碍检测等许多才能。现在 Fastbot 主动化任务现已能较好地发现 App 内的安稳性问题,现已能够协助字节拦截 50% 左右的反常问题,一起会继续完善 Fastbot 的遍历才能和健全 Fastbot 相关目标建设。

WWDC21 内参

为你的 App 减少网络推迟

@lmh:本文首要介绍了影响网络推迟的原因及怎么下降网络推迟,首要是从下降 RTT 次数,和下降单次 RTT 时刻打开叙述。文中涉及了许多传输层协议相关的常识,也会对相关概念进行解说。最终介绍了现在一些技能的应用现状。

Swift 中的 ARC 机制: 从基础到进阶

@刘夏:文章环绕 Swift 言语中的 ARC(主动引证计数)机制叙述了实践进程中目标生命周期变化可能引发的问题以及怎么从言语或代码设计层面去躲避这些问题。

东西

swift-docc-plugin

@kemchenj:跟随 Xcode 13.3 发布的 SPM 加入了 Command Plugin 功能,苹果官方也发布了对应的 docc 插件,只要在 Package.swift 里引进这个 plugin,就能够在 CLI 里用 swift package generate-documentation 一键生成文档。:

let package = Package(
    // name, platforms, products, etc.
    dependencies: [
        // other dependencies
        .package(url: "https://github.com/apple/swift-docc-plugin", from: "1.0.0"),
    ],
    targets: [
        // targets
    ]
)

摸鱼周报

@摸鱼周报 #48:第四十八期摸鱼周报来了,完整内容能够点击左侧链接,一起来看下本期摘要:

  • 论题:node-ipc 供应链投毒事件
  • 面试模块:OC 目标弱引证指针标识位
  • 优异博客:程序员怎么自我提升
  • 学习材料:以 Java 为布景的全栈常识系统
  • 开发东西:新一代卡片笔记东西:flomo

内推

[上海] 谷歌 – iOS 开发 – 智能家居

谷歌在上海开放了 iOS 岗位,首要与 Google Nest 智能家居相关的 App 开发。

更多岗位介绍详见:Software Engineer, iOS App, Nest Smart Devices 和 Lead Software Engineer, iOS App, Google Nest

其他

老司机周报团队联合常识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。

假如你想找工作,点这里:www.yuque.com/iosalliance…

假如你想招人,点这里:www.yuque.com/iosalliance…

当然,也欢迎你重视咱们每一期的周报,咱们会在每期周报底部及时更新修改内推岗位。

重视咱们

咱们是「老司机技能周报」,一个继续寻求精品 iOS 内容的技能大众号,欢迎重视。

重视有礼,重视【老司机技能周报】,回复「2021」,收取 2017/2018/2019/2020 内参

一起也支撑了 RSS 订阅:github.com/SwiftOldDri… 。

阐明

表示需某东西, 表示修改引荐

预计阅读时刻: 很快就能读完(1 – 10 mins); 中等 (10 – 20 mins); 慢(20+ mins)