老司机 iOS 周报 #203 | 2022-05-23

语言: CN / TW / HK

theme: github highlight: solarized-light


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

你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 Issues 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Issues 提出。

新闻

《WWDC22 内参》作者招募 &《WWDC21 内参》免费领取

《WWDC22 内参》作者招募工作正式开始,请感兴趣的朋友点击上方链接参与报名,报名截止时间为 5 月 30 号。

去年我们第一次公开招募了一些新的同学参与进来,同时也引入了审核机制,最终交付了一份还算满意的答卷。103 篇文章、2810 份订阅、几十万的阅读量,这些数据都要比往年要好,非常感谢大家对老司机技术的支持和信任。《WWDC21 内参》也已经可以免费领取,在老司机技术周报公众号中回复「2022」即可获取链接。

 Developer - 设计开发加速器

设计高效的 UI 测试

2022 年 5 月 31 日(报名截止 5 月 16 日)

了解如何设计测试,来帮助你发现和诊断最棘手的漏洞。我们将解释如何使用 XCTest 改进您的自动化测试,以找到代码中的隐忧,以及如何准备测试以应对失败。从而更轻松地对问题进行分类,以便您可以快速解决问题,并修复错误。理解中断,学习如何预测 App 的潜在中断、创建智能测试以识别它们。通过使用 UI 中断处理,构建更好的测试,管理预期的警报。

156925166-f0e9ae02-0d06-4806-aa19-e84d84e2fd1f

文章

Dutter | 钉钉 Flutter 跨四端方案设计与技术实践

@老峰:Dutter 即 DingTalk Flutter,是钉钉内基于 Flutter 构建的跨四端研发框架,本文主要包含以下内容: - 整体架构: Dutter Runtime、Dutter Dev Kit、Dutter OPS Kit; - 数据通信包括:Channel、Dutter FFI; - 消息总线; - 模块化; - 容器化; - 组件库:dingui_flutter 、dingtalk_uikit; - 最佳实践以及部分 FlutterEngine 层面的问题定位等。

🐕 Scripting in Swift: Git Hooks

@享耳先森:Swift 除了用于 App 还可以干什么?本文作者使用 Git Hooks 结合 Swift Command Line Tool 解决真实工作场景中遇到的问题,如果你也有类似需求又不熟悉其他脚本语言,Swift 是很好的解决方案。

🐕 京东 App MCube 动态化实践

xuyafei:在京东 App 业务高速发展的过程中,为了使更快的需求响应速度与研发人力和稳定性需求之间达到平衡,京东自研了一套原生的“动态化+跨端”框架 MCube。本文对其方案进行了简单介绍,其通过三方库 Yoga 作为其布局引擎;通过 XML 作为 DSL 描述原生控件;通过协议层对接各个可插拔组件。另外还有其容器分层架构的设计、配套管理平台和开发套件等介绍,感兴趣的同学可以阅读原文了解。

代码

Euclid: a Swift library for creating and manipulating 3D geometry

@莲叔:这是一个能让你非常方便创建和操作各种基础3D模型的代码库,并且可以非常方便的和 SceneKit 相关的场景进行整合。传统的方法中,要创建三维模型然后添加贴图,往往都需要编写上百行 OpenGLES 的代码才能实现,而通过 Euclid,创建模型就如同创建一个普通的 View 那样简单,感兴趣的朋友可以看一下作者开发的一个 macOS App:ShapeScript, 可以通过文本描述的方法创建三维模型,可以说这个开源的组件就是这个 App 的SDK版。应该有非常多有趣的功能可以实现。

Runestone

Runestone 是一个高效易用的代码编辑器库,最大的亮点是:

  • 使用原生技术实现,不需要依赖于 WebView
  • 使用 TreeSitter 作为 Parser 后端,可以高效地进行增量解析,兼容大部分主流编程语言
  • 借鉴了 AvalonEdit 的 Line Management

摸鱼周报

@摸鱼周报 #53:第 53 期摸鱼周报来了,一起来看下本期概要:

  • 话题:远程工作正在成为趋势
  • 面试模块:CRC 实践应用:理论推导
  • 优秀博客:App Extension
  • 学习资料:一个大学生的学习计划
  • 开发工具:适用于 macOS 的现代媒体播放器,IINA 由开源媒体播放器 mpv 提供支持,几乎可以播放您拥有的所有媒体文件。

内推

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

如果你想找工作,点这里:https://www.yuque.com/iosalliance/article/bhutav

如果你想招人,点这里:https://www.yuque.com/iosalliance/article/ycyhf3

当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。

关注我们

我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。

关注有礼,关注【老司机技术周报】,回复「2021」,领取 2017/2018/2019/2020 内参

同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。

说明

🚧 表示需某工具,🌟 表示编辑推荐

预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)