老司机 iOS 周报 #203 | 2022-05-23
theme: github highlight: solarized-light
老司机 iOS 周报,只为你呈现有价值的信息。
你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 Issues 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Issues 提出。
新闻
《WWDC22 内参》作者招募 &《WWDC21 内参》免费领取
《WWDC22 内参》作者招募工作正式开始,请感兴趣的朋友点击上方链接参与报名,报名截止时间为 5 月 30 号。
去年我们第一次公开招募了一些新的同学参与进来,同时也引入了审核机制,最终交付了一份还算满意的答卷。103 篇文章、2810 份订阅、几十万的阅读量,这些数据都要比往年要好,非常感谢大家对老司机技术的支持和信任。《WWDC21 内参》也已经可以免费领取,在老司机技术周报公众号中回复「2022」即可获取链接。
Developer - 设计开发加速器
设计高效的 UI 测试
2022 年 5 月 31 日(报名截止 5 月 16 日)
了解如何设计测试,来帮助你发现和诊断最棘手的漏洞。我们将解释如何使用 XCTest 改进您的自动化测试,以找到代码中的隐忧,以及如何准备测试以应对失败。从而更轻松地对问题进行分类,以便您可以快速解决问题,并修复错误。理解中断,学习如何预测 App 的潜在中断、创建智能测试以识别它们。通过使用 UI 中断处理,构建更好的测试,管理预期的警报。
文章
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 翻译组收录了一份靠谱的内推职位。
如果你想找工作,点这里:http://www.yuque.com/iosalliance/article/bhutav
如果你想招人,点这里:http://www.yuque.com/iosalliance/article/ycyhf3
当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
关注我们
我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
关注有礼,关注【老司机技术周报】,回复「2021」,领取 2017/2018/2019/2020 内参
同时也支持了 RSS 订阅:http://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
说明
🚧 表示需某工具,🌟 表示编辑推荐
预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
- 老司机 iOS 周报 #206 | 2022-06-27
- 老司机 iOS 周报 #205 | 2022-06-20
- 【老司机精选】基于苹果芯片的图像处理
- 【老司机精选】一文看完「WWDC22」174 个 Session
- 【老司机精选】SwiftUI 技术内幕
- 【老司机精选】相机拍摄新变化
- 老司机 iOS 周报 #204 | 2022-05-30
- 【老司机精选】探索 WKWebView 新增功能
- 老司机 iOS 周报 #203 | 2022-05-23
- 【老司机精选】APP 性能优化终极求生指南
- 老司机 iOS 周报 #202 | 2022-05-16
- 【老司机精选】理解和消除 App 中的卡死
- 【老司机精选】初见 TextKit 2
- 老司机 iOS 周报 #201 | 2021-05.09
- 【老司机精选】Swift 中的 ARC 机制: 从基础到进阶
- 【老司机精选】为你的 App 减少网络延迟
- 【老司机精选】使用 Clang 静态分析器尽早发现 Bug
- 【老司机精选】通过断点技巧让调试更高效
- 【老司机精选】App Clip 新特性
- 【老司机精选】认识 Swift 中的异步与并发