老司机 iOS 周报 #230 | 2023-01-16 #3812
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 提出。
新闻
Design Priorities for the Swift 6 Language Mode
@kemchenj:Swift 5 发布到现在已经快要五年了,Swift 6 预计最快明年就会发布,此前关于 Swift 6 的开发计划也曾在周报里收录过,这次 Swift 团队又发布了另一份关于功能开发优先级的声明,包括:
虽然 Swift 6 会有 source-break,但这个版本也会提供源码兼容模式,可以用 Swift 5 的模式进行编译,所以大家也不用过多担心。
新手推荐
🐕 iPad大屏&Flutter多引擎适配之路
@极速男孩: 本文介绍了在大屏中如何适配分屏的几种方式,并简单介绍了在 Flutter 中如何通过修改 c++ 层的代码,实现一个多引擎的方案既能同时显示两个视图,也能让 isolate 以及图片字体等资源实现共享。
文章
🐢 Swift Native method swizzling
@Cooper Chen:本文对 Swift 原生的方法交换的原理进行了分析。其中 Swift 的运行时将动态函数分派的责任从调用者转移到被调用者。Swift 在进行方法交换时,使用全局数据结构取代了对中间 objc_msgSend 函数的需要,这种设计保证了动态函数更好的运行时性能,并且对没有使用此功能的代码没有性能影响。随着新的动态特性的加入,Swift 和 Objective-C 之间的差距变得更小。
iOS APP添加桌面快捷方式
@JonyFang: 诉求:APP 内的某些功能,能够把入口添加到桌面,点击桌面的入口可以直接跳转至 APP 对应界面。其实很多APP目前都已经实现了类似的功能,比如支付宝、云闪付等等,其中的每一个独立功能都可以单独添加到桌面,本篇做的是方案调研、整理及试错,有类似诉求的读者可以参考下。
🐕 Rive · GitHub
@Barney: Rive 是一款全平台轻量级动画库,官网描述比 Lottie 体积小 10 倍,运行更快。这又小又快的 Rive 还不快来试一试~
🐎 Limit Swift Concurrency's cooperative pool
@EyreFree: 本文介绍了如何通过设置和修改环境变量
LIBDISPATCH_COOPERATIVE_POOL_STRICT
来调整并发线程数,可以强制 Swift 运行时将协作池限制为特定数量个线程,对于某些调试情况和学习目的很有用,有需要的朋友可以看看。🐕 Swift Concurrency – Things They Don’t Tell You
@zvving:Swift Concurrency 宣称为并发编程带来安全性的同时,也带来性能提升和更易读易维护的代码表达,避免数据竞争/线程爆炸/代码难以维护等一系列问题。在理想情况下(比如规避如下所有问题的情况下),的确可以达到『卖家秀』的效果:
作者整理了 Swift Concurrency 使用的典型问题,通过这些问题的理解&规避,可以帮助你更好的使用苹果提供的并发编程模型。
🐕 How to build a Chrome extension with Flutter Web
@Crazy:本文是一篇关于 Flutter Web 在 Chrome 插件领域的一种运用,这是对 Flutter 应用场景的一种新的拓展。本文详细的阐述了从配置 manifest.json 到最后构建 pipeline 发布到 Chrome Web Store 的全部流程。大家可以根据文章中的图文讲解自己进行实践,创建一个属于自己的 Chrome 插件。
工具
🐎 Managing multiple versions of Swift locally
@zoeGuo:我们的本地的可能会有多个 Swift 版本:可能有 Swift 发布的正式版本、 Swift Development Snapshots,还有可能有为其他架构而下载版本(比如 WebAssembly)。那么当本地有多个 Swift 版本时用什么工具管理呢?文章介绍了两种工具和他们简单的用法:
关于这两种方式的更多解释和用法可以到对应官网进行深入了解。
代码
swift-dependencies
@含笑饮砒霜:这是一个灵感来自于 SwiftUI 环境启发的依赖管理库。依赖项是应用程序中与不受控制的外部系统交互的类型和功能,这可能会在你的代码库和开发周期中导致许多问题:
由于这些以及更多原因,我们应该控制依赖项,但是控制依赖项仅仅是个开始,一旦控制了依赖关系,就会面临一整套新问题:
这个库解决了上述所有问题,可以通过查看文档来探索这个库附带的所有工具。
摸鱼周报
@摸鱼周报 #81:第 81 期摸鱼周报来了,一起来看下本期概要:
内推
重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
关注我们
我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
关注有礼,关注【老司机技术周报】,回复「2021」,领取 2017/2018/2019/2020 内参
同时也支持了 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 周报 #230 | 2023-01-16.
Beta Was this translation helpful? Give feedback.
All reactions