摸鱼精选第 28 期

1. 云音乐 Swift 混编 Module 化实践

Objective-C 组件库 Module 化是支持 Swift 混编的基础,Module 化的核心是提供 modulemap 文件,要生成 modulemap,组件需打开 Module 编译,这个过程中可能会遇到各种未知问题。 云音乐在治理过程中遇到的问题相对比较收敛,主要集中在 Module 编译方式的变化,导致一些上下文信息丢失,一部分问题能够通过自动化的方案解决,而有些问题仍然需要进行人工验证。

2. Debouncing with Swift concurrency

使用纯 Swift 来实现一个 Debounce 功能,主要用到 NSRecursiveLockTask

作者还实现了类似功能的 Throtter 功能,支持 SwiftUI 的 Button。 Github 地址: https://github.com/sideeffect-io/Regulate

3. Unreal Engine C++ Complete Guide

用虚幻引擎的 C++接口开发的最佳实践。

4. 小程序学习路径课

腾讯产业互联网学堂,从微信小程序到小程序云开发体系化课程,玩转小程序不同案例场景!

当然还有几个值得学习的课程:

5. iOS 远程推送--APNs 详解

iOS 远程推送,远远不是配置两个证书,集成个 SDK 那么简单。

本文会从实践出发,结合苹果的官方文档,带你全面的了解苹果 APNs 服务。除了基础原理和集成方法外,还将详细介绍了 APNs 服务接口的调用方式,以及各个推送 SDK 的基本原理。

6. C++ Programming Course - Beginner to Advanced

C++ 编程的视频教程,非常详细,从初级到高级都有。

7. 使用 Cloudflare Workers 让 OpenAI API 绕过 GFW 且避免被封禁

该方案的主要思路是使用 Cloudflare 的 Workers 来代理 OpenAI 的 API 地址,配合自己的域名即可在境内实现访问。因为 Cloudflare Workers 有每天免费 10 万次的请求额度,也有可以免费注册的域名,所以几乎可以说是零成本。而且该方法理论上支持所有被认证的网站,而不只是 OpenAI。

8. Xcode Header Template for Swift Packages

通过 Xcode 创建的 Swift 文件,文件注释部分跟 Objective-C 有点区别,Swift 的没有产品名称以及组织的版权声明。 作者创建一个 Xcode Template,替代默认的 Swift 模板文件,就可以增加这两个说明了。

9. The Composable Architecture - Best Practices

TCA 架构的最佳实践。

10. Use async let to run background tasks in parallel in Swift

使用 async let 运行后台任务,这个比较有意思,还没有尝试过。

11. Isar

专门为 Flutter 打造的超高速跨平台数据库。

12. Comprehensive Rust

《Comprehensive Rust》为期四天的 Rust 课程,这是谷歌 Android 团队使用的 Rust 课程,它涵盖了 Rust 的基本语法到高级主题,如泛型和错误处理,还包括最后一天的 Android 特定内容。

13. Wouter

wouter is a tiny router for modern React and Preact apps that relies on Hooks. A router you wanted so bad in your project!

14. OpenAI 应用汇总指南

列了很多 OpenAI 的使用场景。

15. Astro

Astro 是什么?

Astro 是集多功能于一体的 Web 框架,用于构建快速、以内容为中心的网站。

主要特性

  • 标题部分 主要特性
  • 组件群岛: 用于构建更快网站的新 web 架构。
  • 服务器优先的 API 设计: 从用户设备上去除高成本的 Hydration。
  • 默认零 JS: 没有 JavaScript 运行时开销来减慢你的速度。
  • 边缘就绪: 在任何地方部署,甚至像 Deno 或 Cloudflare 这样的全球边缘运行时。
  • 可定制: Tailwind, MDX 和 100 多个其他集成可供选择。
  • 不依赖特定 UI: 支持 React, Preact, Svelte, Vue, Solid, Lit 等等。

16. Vue Vben Admin

Vue Vben Admin 是一个免费开源的中后台模版。使用了最新的 vue3,vite2,TypeScript 等主流技术开发,开箱即用的中后台前端解决方案,也可用于学习参考。

预览站点:https://vben.vvbin.cn

特性

  • 最新技术栈:使用 Vue3/vite2 等前端前沿技术开发
  • TypeScript: 应用程序级 JavaScript 的语言
  • 主题:可配置的主题
  • 国际化:内置完善的国际化方案
  • Mock 数据 内置 Mock 数据方案
  • 权限 内置完善的动态路由权限生成方案
  • 组件 二次封装了多个常用的组件

17. 利用 Xcode 和设备上的检测工具排查卡顿

本文以卡顿的治理为主线,首先介绍了卡顿背景,了解了什么是卡顿以及为什么要治理卡顿;其次我们对卡顿做了原理性分析并探讨了日常开发中导致卡顿的原因;然后结合今年 WWDC22 的内容讲述了如何利用线上/线下工具进行定位分析卡顿,并对业界 WatchDog 方案进行展开性讨论;最后探讨了日常开发中的卡顿问题该如何解决和避免,并强调了线上防劣化和监控体系搭建的重要性。整体上来说本文简单分享了一个常规化的卡顿治理思路。