老司机 iOS 周报 #251 | 2023-07-10 #4102
ChengzhiHuang
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
老司机 iOS 周报,只为你呈现有价值的信息。
你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 Issues 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Issues 提出。
新闻
Swift Package Index Supporting visionOS
Swift Package Index 宣布添加 visionOS 的支持,所有在这上面发布的库都会运行兼容性测试,并且在网站上展示:
《WWDC23 内参》
本周我们又更新了 8 篇内参,每篇质量都非常高,由于篇幅问题,开头先推荐四篇可能大家更感兴趣的,其他的放到周报最后了 ~
🌟 WWDC23 10123 - 把你的游戏移植到 Mac 上(一)
JPlay:苹果今年在游戏上下了大力气,不仅提供了 Game Porting Toolkit 和 Metal Shader Converter 这样的重量级工具,让开发者更有动力来移植游戏,更是花了三篇篇幅来帮助开发者移植游戏。这背后体现了苹果怎样的布局呢?本文试图一一为您分析。
🌟 WWDC23 10137 - Cinematic API 助你成为电影大师
bq:通过本文你将详细介绍电影效果模式以及最新的 Cinematic API,让电影效果模式的播放和编辑能力也能集成在你的 App 中。本文可配合官方 Demo 一起阅读。
🌟 WWDC23 10170 - Swift 结构化并发进阶
MiG:本文将基于 Swift 并发的取消和优先级传递,TaskLocal 绑定值,全链路并发性能调优等方面讨论结构化并发任务的各种优势。
🌟 WWDC23 10149 - Discover Observation in SwiftUI
万圣(Khala-wan):Observation 是基于 Swift 5.9 宏系统推出的全新特性,它可以帮助开发者简化数据模型并提高应用程序性能,让 SwiftUI 的数据驱动 UI 体验更加出色。本文将介绍 Observation 的基础知识和实现原理,并通过一些案例来感受 Observation 的实际应用体验,以及了解如何将现有的
ObservableObject
迁移到@Observable
。文章
🐕 SwiftUI Data Flow 2023
@AidenRao:WWDC 2023 引入 Swift 宏,这使得 SwiftUI 团队能够减少数据驱动的属性封装器的数量,并删除大量模板代码。在本文中,作者将之前的 SwiftUI 数据驱动示例代码,使用宏进行重写,读者可以通过阅读新的示例,来了解 SwiftUI 管理数据流的变化。
🐎 用 ChatGPT 搭建代码知识库,提升开发效率
@EyreFree:本文介绍了通过搭建搭建代码知识库,从而借助 ChatGPT 的自然语言生成能力快速检索代码信息,使程序员们能更加专注于业务逻辑的实现和优化的方法。从知识库搭建的需求分析,到方案选型对比,实施以及进一步迭代优化,向大家展示了整个项目开发过程,并进行了效果展示,正确率和可用率都满足了需求,同时从数据质量、测试评估方式、多维度和长篇幅知识整合、模型效果维护、数据安全等几个角度进行了一些思考。
🐕 企业微信大规模组织架构性能优化实践
@Barney:本文讲述了企业微信面临大规模组织架构性能问题的解决方法:
🐕 Monorepo 解决方案 — Bazel 在头条 iOS 的实践
@xuyafei86:2015 年 Google 发布了其构建系统 Bazel,如今在其支持下 Google 的主仓库早已超过千亿行代码。不管是 Bazel 和 Buck,Google,Facebook,Twitter, Airbnb,Uber,Snapchat 等外企早已全面拥抱 monorepo,而国内客户端的工程实践则更多倾向于多仓库模式。
Bilibili 早在 2018 就已落地 Bazel,近期也分享了其 最新实践。本周,头条也继续分享其 monorepo 实践。其在完成组件化后,迁移过程先后经历了业务组件源码化,podspec 到 BUILD 文件转换等过程,感兴趣的同学可以阅读原文了解其实现细节。
需要注意的是,国外对 monorepo 的应用可能来自于其对构建系统使用的延续性,以及 IDE 在线化的趋势。无端地引入复杂的工程架构,只会将糟糕的代码变成糟糕的基础设施。在学习前一定要参考其背景和动机,结合自己的业务现状,避免走向过度工程化的深渊。
🐕 An In-depth Look at C++ Keyword: static
@老驴:C++ 中的 static 关键词算是个挺复杂的概念,在不同的语境下有不同的含义。网上也比较难找到全面介绍 static 关键词的中文文章,但是这篇算是个不错的总结文章,基本涵盖了 static 的方方面面,值得一读。
🐕 Weak 变量在对象释放时到底发生了什么?
@老峰:作者结合实例通过汇编及源码一步步探究了访问 Weak 变量过程; objc_loadWeakRetained、rootRetain 源码分析;Dealloc 内部调用链路及机制,本文较深入的分析了 Weak 变量内存机制,感兴趣读者推荐阅读。
🐢 Embracing CloudKit: Contents
@anotheren:一个关于应用 CloudKit 的系列文章,主要包括了如何通过 CloudKit 在 iCloud 账号间进行数据共享以及可能遇到的问题。
🐎 iOS 多语言解决方案全面指南
@J_Knight_:文章介绍了一个可以实现多语言支持、语言切换以及翻译后文案处理的组件化库 HDTranslateModule 。这个库除了可以支持多语言配置以外,还支持在运行时切换语言,也支持翻译后的文案处理,以及扩展新的语言配置等等。文章中还介绍了如何搜索整个项目的中文字符串,生成语言配置文件以及如何编写使用谷歌翻译的 API 来批量翻译字符串的方法等等。
工具
🐎 Little big improvements in Xcode 15
@zoeGuo:Xcode 15 有很多不错的改进。文章主要举例介绍了以下几个:
command + shift + A
快捷键,唤起 Quick Action 搜索框,键入关键字就能快速操作了。以上改进都非常实用,可以浏览原文详细了解具体使用方式。
WWDC23 内参更新
🌟 WWDC23 10159 - Beyond scroll views
喵星人:学习如何使用 SwiftUI 的最新 API,将滚动视图提升到一个全新的水平。本文会展示一些前所未有的自定义滚动视图的方法,包括如何处理安全区域和滚动视图边距之间的关系、如何与滚动视图的内容偏移进行交互、如何通过滚动来为内容添加炫酷的效果。
🌟 WWDC23 10124 - 把你的游戏移植到 Mac 上(二):编译 Shaders
Andy Jiao:本文将重点介绍如何利用 Metal 编译器和 Metal 着色器转换器将着色器转换到 Mac 平台,并提高着色器的灵活性和速度。包括如何将着色器转换为 Metal IR 以及如何在游戏构建过程中通过 GPU 二进制文件避免设备上的编译。详细介绍了 Metal 着色器转换器的功能和使用步骤。
🌟 WWDC23 10244 - 使用 Swift-DocC 构建丰富的文档
叶絮雷:通过 Xcode 15 提供的文档预览界面,我们可以更加方便的在 Xcode 15 中编写并预览文档。同时我们也可以通过 DocC 主题配置和指令功能,为文档添加更多的自定义内容,使文档更加丰富多彩。
🌟 WWDC23 10107 - 在 App 中接入照片选择器
nuomi1:在 App 中使用 MVVM 架构接入照片选择器,对比 UIKit 与 SwiftUI 在实现上的异同点。
摸鱼周报
@摸鱼周报 #99:第 99 期摸鱼周报来了,一起来看下本期概要:
内推
重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
关注我们
我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
关注有礼,关注【老司机技术周报】,回复「2023」,领取 2023 及往年内参
同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
说明
🚧 表示需某工具,🌟 表示编辑推荐
预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
This discussion was created from the release 老司机 iOS 周报 #251 | 2023-07-10.
Beta Was this translation helpful? Give feedback.
All reactions