文章摘要
Bonsplit是一个为macOS应用设计的自定义标签栏和布局分割库,支持SwiftUI。它提供120fps流畅动画、拖拽重新排序、键盘导航等功能,可配置标签图标和脏标记,开发者可通过API创建和管理标签页。该库已开源,可通过GitHub获取。
文章总结
Bonsplit - 原生macOS标签栏与分屏功能库
Bonsplit是一款专为macOS应用设计的自定义标签栏和分屏布局库,基于SwiftUI框架开发。该库提供开箱即用的120fps流畅动画效果,支持拖拽重新排序、键盘导航等实用功能。
核心功能: 1. 标签管理 - 可创建带图标和修改状态指示器的标签页 - 支持针对特定分屏或当前焦点分屏创建标签 - 示例代码展示如何创建名为"Document.swift"的标签页
- 分屏操作
- 支持水平和垂直方向分屏
- 新分屏默认为空,开发者可完全控制内容
- 提供分屏时预置标签的创建方式
- 状态更新
- 实时更新标签属性(标题、图标、修改状态)
- 所有变更都带有平滑动画效果
- 焦点导航
- 支持程序化控制分屏焦点
- 提供上下左右方向导航功能
- 可直接定位到特定分屏
技术特性: - 完整API参考:包含BonsplitController、BonsplitDelegate和BonsplitConfiguration三大模块 - 丰富配置选项:支持设置分屏行为、标签管理策略、界面外观等 - 内容视图生命周期管理:提供两种内容管理模式选择 - 预设配置:包含默认模式、单分屏模式和只读模式
安装方式: 通过Swift Package Manager集成,包地址为https://github.com/almonk/bonsplit.git
该项目由开发者Alasdair Monk(@almonk)创建,更多详情可访问项目官网或GitHub仓库。
评论总结
这篇评论主要围绕一个macOS开发库展开讨论,主要观点如下:
- 对功能实现的期待与失望
- "我以为这会支持所有macOS基础应用的沙盒式标签/分页功能"(I thought this was going to sandbox style tab/split support for the all the baselines macos apps)
- "很酷但有点失望,因为发现某个我不知道自己需要的功能并不存在"(somehow got myself disappointed that something I didn't know I wanted doesn't exist)
- 对开发价值的质疑
- "AppKit本身已有原生标签API"(AppKit already provides a native tabbing API)
- "需要说明开发这个库的必要性"(this library would benefit from an explanation on why this was needed)
- 对UI/文档设计的赞赏
- "网站和库的UI都极其精美"(excessively beautiful, both the website and the library's UI)
- "为什么为普通文档投入如此精美的设计?"(why put all this effort into mere documentation)
- 功能特性讨论
- "缺少将标签页拆分为新窗口的功能"(ability to tear off tabs into new windows)
- "拖放功能的实现非常复杂"(Getting drag and drop right is hard)
- 其他建议
- "标题应该包含'库'字"(The title really should include "library")
- "需要添加演示截图"(some screenshots for a demo app)
不同观点保持平衡:既有对设计的高度评价(4条正面评价),也有对功能必要性(2条质疑)和完整性(2条建议)的讨论,还有使用体验的反馈(1条功能需求)。