Hacker News 中文摘要

RSS订阅

显示 HN:Bonsplit —— 原生 macOS 应用的分页与分屏 -- Show HN: Bonsplit – Tabs and splits for native macOS apps

文章摘要

Bonsplit是一个为macOS应用设计的自定义标签栏和布局分割库,支持SwiftUI。它提供120fps流畅动画、拖拽重新排序、键盘导航等功能,可配置标签图标和脏标记,开发者可通过API创建和管理标签页。该库已开源,可通过GitHub获取。

文章总结

Bonsplit - 原生macOS标签栏与分屏功能库

Bonsplit是一款专为macOS应用设计的自定义标签栏和分屏布局库,基于SwiftUI框架开发。该库提供开箱即用的120fps流畅动画效果,支持拖拽重新排序、键盘导航等实用功能。

核心功能: 1. 标签管理 - 可创建带图标和修改状态指示器的标签页 - 支持针对特定分屏或当前焦点分屏创建标签 - 示例代码展示如何创建名为"Document.swift"的标签页

  1. 分屏操作
  • 支持水平和垂直方向分屏
  • 新分屏默认为空,开发者可完全控制内容
  • 提供分屏时预置标签的创建方式
  1. 状态更新
  • 实时更新标签属性(标题、图标、修改状态)
  • 所有变更都带有平滑动画效果
  1. 焦点导航
  • 支持程序化控制分屏焦点
  • 提供上下左右方向导航功能
  • 可直接定位到特定分屏

技术特性: - 完整API参考:包含BonsplitController、BonsplitDelegate和BonsplitConfiguration三大模块 - 丰富配置选项:支持设置分屏行为、标签管理策略、界面外观等 - 内容视图生命周期管理:提供两种内容管理模式选择 - 预设配置:包含默认模式、单分屏模式和只读模式

安装方式: 通过Swift Package Manager集成,包地址为https://github.com/almonk/bonsplit.git

该项目由开发者Alasdair Monk(@almonk)创建,更多详情可访问项目官网或GitHub仓库。

评论总结

这篇评论主要围绕一个macOS开发库展开讨论,主要观点如下:

  1. 对功能实现的期待与失望
  • "我以为这会支持所有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)
  1. 对开发价值的质疑
  • "AppKit本身已有原生标签API"(AppKit already provides a native tabbing API)
  • "需要说明开发这个库的必要性"(this library would benefit from an explanation on why this was needed)
  1. 对UI/文档设计的赞赏
  • "网站和库的UI都极其精美"(excessively beautiful, both the website and the library's UI)
  • "为什么为普通文档投入如此精美的设计?"(why put all this effort into mere documentation)
  1. 功能特性讨论
  • "缺少将标签页拆分为新窗口的功能"(ability to tear off tabs into new windows)
  • "拖放功能的实现非常复杂"(Getting drag and drop right is hard)
  1. 其他建议
  • "标题应该包含'库'字"(The title really should include "library")
  • "需要添加演示截图"(some screenshots for a demo app)

不同观点保持平衡:既有对设计的高度评价(4条正面评价),也有对功能必要性(2条质疑)和完整性(2条建议)的讨论,还有使用体验的反馈(1条功能需求)。