老司机 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
Uh oh!
There was an error while loading. Please reload this page.
-
老司机 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