老司机 iOS 周报 #244 | 2023-05-15 #4002
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 提出。
新闻
GitHub 的 Code Scanning 正式提供 Swift 的支持
GitHub 的 Code Scanning 会扫描和索引项目的 Dependency 信息,并且提供:
增强全球定价机制 基准调整引发涨价
苹果在 3 月时就公告会进行 增强全球定价机制 的调整,老司机技术也提醒过大家,希望大家都可以提前根据需要选择合适的基准。5 月 9 日凌晨已准时上线,但开发者们发现虽然已经提前将基准设置为了中国大陆,但却依旧有概率 被 涨价,例如:原本设置为 6 元的 IAP 物品变成了 8 元。问题在上午 10 点左右陆续恢复,部分开发者早上一醒来收到部分付费用户的投诉只能含泪处理了~
文章
🐢 🌟 用 VSCode 基于 Bazel 打造 Apple 生态开发环境
@Cooper Chen:如何优化编译开发体验一直是开发者老生常谈的问题,而 Xcode 作为 Apple 开发者必须要使用的工具,其相对封闭的生态环境,让大多数开发者对它的编译优化都常常感到捉襟见肘。哔哩哔哩作为国内较早尝试 Bazel 作为 iOS 主力编译系统的团队,针对这些问题提出了使用 VSCode + Bazel 的方案来打造一套全新的开发环境。其中作者对编译优化最核心的思路包括:
根据以上思路,作者使用的是 VSCode + rules_bis 的自研方案,在研发体验和效率上实现了较大的提升。在发文时,B 站所有 Apple 项目已经切换至 vscode(bis) / rules_xcodeproj(bwb) / 双模式下。
@Damonwong:发布这篇文章的目的是一个全新的视角,希望大家可以有所了解,但是从我个人的技术判断来看,除非规模化的团队,不然 Xcode 依然是最好用的 iOS 开发工具。
规模化团队会因为团队特色、组织架构等各种原因出现不同的问题,因此团队内部配备一些对工程化有解决能力的同学是必须的,如果没有这方面的投入,一线同学会苦不堪言。
当然,也有一部分同学会考虑技术价值,但是技术价值在不同场景大小差异是不同的。
说个题外话,很多同学都喜欢搞组件化,但是不知道大家有没有考虑过,当工程能力不足的时候,组件化是否真的是一个合理的架构设计?
🐕 A Swift Spelling Corrector
@含笑饮砒霜:这是一篇基于 Peter Norvig 的博文《How to Write a Spelling Corrector》中的 Python 代码,使用 Swift 编写的拼写纠正器,下面是代码的一些说明:
这段代码演示了如何使用 Swift 编写一个简单的拼写纠正器。它使用了一些字符串操作和集合操作,以及一些基本的 Swift 语言特性。
🐕 Behind-the-Design: Meet Copilot. When the system is the product; on … | by Microsoft Design | Microsoft Design | Apr, 2023 | Medium
@Barney:这篇文章主要探讨了人工智能产品 Copilot 的设计理念、体验框架和开发原则,以及如何通过 AI 增强人类的能力。以下是几个要点:
总的来说,文章阐述了微软如何通过 Copilot 展示了 AI 的协作价值,同时强调了在设计和开发过程中保持以人为本,不断学习和改进的重要性。
🐎 Double Protocol Conformance
@zvving:双重协议一致性是指一个类型多次声明遵循某个协议。当同一个 target 中的类型多次声明遵循相同协议时,Xcode 会抛出错误并停止编译,但是在不同 target 中声明同样的协议实现时,问题就变得难以发现。
作者还分享了一个更极端的情况,当涉及到三个 target,Xcode 不再显示警告信息,导致很难发现我们在设置协议一致性方面的错误。作者建议在多模块化代码库中工作的开发团队,确保为协议一致性设置规则,避免出现类似的极端情况。
🐕 iOS 客户端动图优化实践
@Smallfly:在 App 内展示动图是非常常见的需求,本文介绍了 QQ 音乐 iOS 端在使用动图时,遇到内存不足引起的各种崩溃,经过一系列的优化,在性能以及稳定性方面取得较大的提升,主要包括:
对具体优化措施感兴趣的同学可参阅原文。
🐎 文件名还是顶级域,傻傻分不清
@Damien:Google 五月初放出来一波新的顶级域名,包括 .dad, .phd, .prof, .esq, .foo, .zip, .mov 和 .nexus 等域名,其中 .zip 和 .mov 最让人容易误解是文件地址,基于此容易引申出了一个 MacOS 的安全漏洞,对漏洞感兴趣的同学不妨阅读。
🐎 京喜 APP - 图片库优化 | 京东云技术团队
@J_Knight_:本文介绍了京喜团队对图片框架上的两个优化方向:一方面是降低图片网络传输,提高图片加载速度。另一方面是减少图片内存消耗。在网络传输上,图片框架先对图片 URL 进行预处理,预处理包括域名统一,添加缩放参数,添加 webP 参数,添加降质参数的方式减少图片网络传输大小。在内存消耗上,使用了图片缩放以及限制缓存上限的方法来避免缓存使用过高。文章结尾还介绍了在 Flutter 中优化的几个方向。
🐢 淘宝 APP 网络架构演进与弱网破障实践
@AidenRao:本文将介绍淘宝 APP 统一网络库演进的过程,讲述如何围绕体验持续构建南北向(client-server 之间的流量)从监测到加速一体化的终端网络架构,通过构建 NPM 弱网诊断感知能力,落地原生多通道技术 / 多协议择优调度手段,贴合厂商赋能网络请求加速,实现去 SPDY 及规模化 IPv6/H3 协议簇的平滑过渡,为用户提供弱网更好、好网更优的 APP 加载浏览体验,支撑业务创造更多的可能性。
工具
AppleParty(苹果派)v3 支持 App Store 新定价机制 - 批量配置自定价格和销售范围
@ChengzhiHuang:苹果派是一个可以便捷地管理所有 IAP 内购项目的工具,相比在 AppStore Connect 上一个个项目操作,在苹果派里的操作更加便捷,同时还支持了 基准国家和自定价格配置、销售范围配置、批量上传 等实用功能。同时工程代码全部 开源,Connect API 等调用方式也有相当的参考价值。
音视频
🐎 微软开发者拆解 SwiftUI 优化秘籍,教你轻松提升百倍性能
@EyreFree:作者用视频演示的方式总结了用两周时间优化公司 SwiftUI 项目得出的相关经验,其中结合了对基本 SwiftUI 控件布局和刷新机制的解释,在做 SwiftUI 开发的小伙伴们不要错过。
摸鱼周报
@摸鱼周报 #93:第 93 期摸鱼周报来了,一起来看下本期概要:
内推
重新开始更新「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 周报 #244 | 2023-05-15.
Beta Was this translation helpful? Give feedback.
All reactions