返回首页
最新
大家好!我们在 styled-components 进入维护模式后进行了分叉,因为我们的生产应用(以及许多其他应用)无法在一夜之间完成迁移。
背景故事:我们在2024年7月向 styled-components 提交了 PR #4332([链接](https://github.com/styled-components/styled-components/pull/4332)),其中包含了对 React 18 的优化。当宣布进入维护模式时,我们将该 PR 转变为这个分叉。
我们修复了以下内容:
- 添加了 React 18 的 useInsertionEffect
- 为 React 19 重写了流式服务器端渲染(SSR)
- 用现代 JavaScript 替换了 ES5 输出
- 使用原生 flatMap 优化了数组操作
- 修复了 Next.js 应用路由器,使其无需 50 多行样板代码即可工作
Linear 测试后发现,初始渲染速度提高了 40%,且没有任何代码更改。
如何尝试:
```bash
npm install @sanity/styled-components@npm:styled-components
```
或者对于 React 19:
```bash
npm install @sanity/css-in-js@npm:styled-components
```
您可以使用以下基准工具进行测试:[链接](https://css-in-js-benchmarks.sanity.dev/)
我们将其命名为“last-resort”,因为这正是它的用途。我们并不打算长期维护 styled-components - 实际上,我们自己正在迁移到 vanilla-extract。这只是一个性能过渡工具,以便团队能够正确迁移。
React 团队建议逐步摆脱运行时 CSS 注入。我们同意。但迁移需要时间,生产应用需要立即发布。
简而言之:请查看我的Mac音乐播放器应用,下载测试版,并欢迎任何反馈!可以在这里评论或发送邮件至beta@radiccio.music。
最近,我对Mac上可用的音乐播放器选项感到不满意。大家都专注于移动平台(我知道,那是赚钱的地方),而且感觉Mac上的好东西不如以前多了。好吧,我使用Mac已经很久了,我仍然喜欢它,因此我想要一个好的音乐播放器,于是我自己做了一个。
我从SwiftUI开始,因为这是我最近在iOS工作中使用的技术,我对它还算满意。但我很快发现SwiftUI在macOS上的表现相对粗糙,所以我最终在AppKit中重写了一些组件,尽管大部分仍然是SwiftUI。
我知道在别人的服务上构建是有风险的,所以我的首要任务是支持本地磁盘文件,这是播放音乐最简单的方法。在此基础上,我增加了一个可选的SQLite数据库(我称之为“图书管理员”),用于索引和搜索。我使用了AVPlayer(AVFoundation的一部分),这意味着我不需要担心任何音频播放的细节,只需让系统播放它能播放的内容(MP3、AAC、FLAC等,但不支持Ogg Vorbis,抱歉)。
但我仍然使用Apple Music来发现新音乐,所以我也将其集成了进来。这个API(MusicKit)有些优缺点。优点是易于上手(无需登录,只需一个权限提示)以及对我可以做的事情几乎没有限制。缺点是缺少很多功能(与第一方应用相比),现有的功能往往文档不足和/或存在问题,而且API提供商最近对修复或改进表现出很少的兴趣,尤其是在macOS平台上。最荒谬的一点是,当我意识到(显然?)没有办法制作音量控制时。
我简要查看了Spotify,但他们没有macOS SDK,而且他们的条款禁止商业和多源使用。所以看来这个可能性对我来说将保持关闭。
最后,我添加了Plex和Jellyfin的集成,因为一旦我有了一个可以支持多个来源的系统,我想,为什么不再添加一些人们可能感兴趣的呢。
自从去年被裁员以来,我一直在全职独自工作这个项目。我认为它已经相当成熟,可以发布,但我真的需要更多的反馈,因为我们都知道开发者不擅长测试自己的代码(尽管我尽量去做)。
我也希望能获得更多来自他人的一般反馈;我做这个是为了自己的口味,但人们的音乐听习惯差异很大。我相信我永远无法让每个人都满意,但我愿意考虑几乎所有的建议。所以,请告诉我!感谢您的关注。
-dmd