15作者: MKuykendall9 个月前
在构建了几个 Tauri 桌面应用程序后,我一直遇到同样的难题:没有可靠的方法可以在 Windows、macOS 和 Linux 上访问摄像头。每个项目都意味着要重新发明摄像头集成,处理特定于平台的 API,并调试权限问题。 所以我构建了 CrabCamera——一个 Tauri 插件,可以为您处理所有摄像头相关的复杂问题。 它的功能: * 一个 API,三个平台:相同的 Rust 代码适用于 Windows (DirectShow)、macOS (AVFoundation) 和 Linux (V4L2) * 权限处理:自动在每个平台上请求摄像头权限 * 格式转换:处理平台格式和您的应用程序所需格式之间的混乱部分 * 错误处理:使用适当的 Rust 错误类型,而不是神秘的崩溃 * 热插拔:检测摄像头何时连接/断开连接 它解决的问题: 在 CrabCamera 之前,为 Tauri 应用程序添加摄像头支持意味着: 1. 为每个平台编写单独的本地代码 2. 管理三个不同的权限系统 3. 手动处理格式转换 4. 调试特定于平台的边缘情况 5. 随着操作系统 API 的变化,维护所有这些 现在只需: ```rust use crabcamera::Camera; let camera = Camera::new()?; let frame = camera.capture_frame().await?; ``` 我构建它的原因: 我正在开发一个植物监测应用程序 (botanica),它需要可靠的摄像头访问来进行延时摄影。现有的解决方案要么被废弃,要么是特定于平台的,要么需要复杂的原生绑定。 Tauri 生态系统正在快速发展,但摄像头支持是一个明显的空白。每个桌面应用程序最终都需要访问摄像头——视频通话、文档扫描、AR 功能、安全监控。 技术亮点: * 使用 nokhwa 进行繁重的工作,但将其封装在 Tauri 友好的 API 中 * 贯穿始终的适当的 async/await 支持 * 用于视频捕获的内存高效流 * 内置图像处理管道 * 可扩展的插件架构 下一步计划: * WebRTC 集成,用于视频通话 * 内置条形码/二维码扫描 * 人脸检测钩子 * 4K 流的性能优化 该 crate 采用 MIT 许可证,可在 crates.io 上获取。我希望收到其他与摄像头集成作斗争的 Tauri 开发人员的反馈。 链接: * Crates.io: [https://crates.io/crates/crabcamera](https://crates.io/crates/crabcamera) * GitHub: [https://github.com/Michael-A-Kuykendall/crabcamera](https://github.com/Michael-A-Kuykendall/crabcamera) * 文档: [https://docs.rs/crabcamera](https://docs.rs/crabcamera)
1作者: JasmineAs9 个月前
大家好,我的技术栈是 .NET,我的技术主管让我实现项目中的结构化日志,并了解一下面向切面编程。我们应该能够对日志进行查询。你们能给我介绍一些课程、资源或路线图吗?
1作者: m2fauzaan9 个月前
尽管构建原生应用既慢又难,但我真的很享受用 Swift 开发的过程,尽管其中充满挑战。我注意到其他项目用 Electron 快速上线并获得了关注,即使它们做的也是类似的想法。这让我不禁思考:当大多数用户似乎并不关心底层技术时,坚持原生开发是不是一个错误?
1作者: brainless9 个月前
大家好, 我是 Sumit,正在开发 nocodo.com - <a href="https:&#x2F;&#x2F;github.com&#x2F;brainless&#x2F;nocodo" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;brainless&#x2F;nocodo</a>。这是一个相当有野心的项目,我觉得我需要 HN 社区的支持。以下是 nocodo 正在实现的功能: ``` - 使用你自己的 Linux 机器或云服务器(开发机器)来管理使用 Git、GitHub、云提供商、CI 等构建应用程序的完整生命周期。 - 你将获得代码更改(Git)、问题/任务(最初是 GitHub)、CI(最初是 GitHub Actions)的集成视图 - 如果你生成二进制文件,可以直接访问测试部署到你的计算机上,或者部署到服务器上 - DNS、数据库为你管理 - 团队协作将在任务/项目层面成为可能 - `manager` 守护进程托管 API,用于从 Web/移动界面连接到开发机器上的项目 - `manager` 运行任意数量的 Claude Code、Gemini CLI、Qwen Code、Continue dev 等 - 你自己的 API 密钥/Pro 计划 - `manager-web` 应用程序连接到 `manager`,允许向任何项目发送提示、查看状态等。 - `manager` 将拥有与 GitHub、GitLab、CI 平台、Cloudflare 和云提供商的 API 集成 - `manager` 将检查 CI,管理测试和实时部署的 DNS - `manager` 基于我自己的上下文提示集,允许你处理你的项目(氛围编码):http:&#x2F;&#x2F;nododo.com&#x2F;playbook - `manager-mobile` 应用程序将很快推出,提供与 manager-web 相同的功能 - `launcher` 应用程序将很快推出,使用你的 API 密钥、SSH 密钥等管理 Scaleway、Digital Ocean 等上的开发者服务器。 ``` UI 正在变得类似于你期望从 Bolt、RepltIt、Lovable 等看到的界面。最初,nocodo 将仅支持新项目,Rust + Actix Web 后端和 Typescript + Solid JS + Tailwind Web 应用程序。数据库使用 SQLite,并带有 LiteStream + S3 备份。CI 管道将为你添加 - 全部由编码代理生成。目标是使非工程团队能够构建全栈应用程序。 如果你访问 <a href="https:&#x2F;&#x2F;github.com&#x2F;brainless&#x2F;nocodo&#x2F;releases" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;brainless&#x2F;nocodo&#x2F;releases</a>,你可以看到我自己在用。我通过 SSH 连接到我的开发者机器(很快将通过 manager 实现),我与 Claude Code 交流,Claude 编辑代码,使用基于 GitHub 的工作流程,在本地测试二进制文件并继续构建。 nocodo 将是自托管的,并且没有厂商锁定,支持多个编码代理、云提供商等。如果你启用它,它将通过 nocodo.com 进行身份验证,并且将是一个小额订阅(例如,5 人团队每年 60 美元)。 我是一个独立创始人,过去 2 年一直在追逐这个项目。nocodo.com 从 2013 年就伴随着我。我觉得有必要分享这个,因为它正在成型,也因为我的资金快用完了。我会在业余时间做咨询来维持生计,所以如果你喜欢我的工作并且有任何工作机会,请在任何我所在的社交网络上给我留言。 非常感谢, Sumit