字节笔记本

2026年2月22日

Nook - macOS 侧边栏优先的开源浏览器

Nook 是一款专为 macOS 设计的开源浏览器,采用侧边栏优先的设计理念,提供垂直标签页导航,让浏览体验更加自然清爽。该项目由 nook-browser 组织开发维护,使用 Swift 语言编写,遵循 GPL-3.0 开源协议。

项目简介

Nook 是一个全新的 macOS 浏览器项目,其核心理念是"不被 Atlassian 拥有的浏览器"。项目致力于打造一个快速、极简的浏览工具,通过侧边栏优先的设计,让用户专注于内容本身而非浏览器界面。

截至目前,Nook 在 GitHub 上已获得 1.8k+ stars66 forks,社区活跃度良好。

核心特性

  • 侧边栏优先导航:采用垂直标签页设计,界面自然清爽,不拥挤
  • 高性能:基于现代 macOS API 优化,速度快、内存占用低
  • 极简现代 UI:专注于内容展示,减少界面元素干扰
  • 隐私模式:支持无痕浏览,保护用户隐私
  • 网站搜索:内置站点搜索功能,快速定位内容
  • 分屏浏览:支持分屏查看多个标签页
  • 快速预览:Peek 功能可快速预览链接内容

技术栈

  • Swift:主要开发语言,充分利用 Swift 的现代特性
  • SwiftUI:构建现代化的用户界面
  • WebKit:底层网页渲染引擎
  • Metal Shaders:用于 UI 特效渲染
  • @Observable 宏:实现响应式数据流

系统要求

  • macOS 15.5 或更高版本
  • Xcode(如需从源码构建)

安装指南

方式一:直接下载

从 GitHub Releases 下载最新版本:

bash
# 下载 v1.0.2 版本
curl -L -o Nook-v1.0.2.dmg https://github.com/nook-browser/nook/releases/download/v1.0.2/Nook-v1.0.2.dmg

下载完成后,打开 DMG 文件并将 Nook 拖入应用程序文件夹即可。

方式二:从源码构建

bash
# 克隆仓库
git clone https://github.com/nook-browser/Nook.git

# 进入项目目录
cd Nook

# 使用 Xcode 打开项目
open Nook.xcodeproj

注意事项

  • 需要在 Signing 中设置个人开发团队才能本地构建
  • 部分 Objective-C 库可能与 Intel Mac 存在兼容性问题
  • macOS Tahoe (26.0) 以下版本需要删除部分代码

项目架构

Nook 采用基于 Manager 的架构设计:

text
Nook/
├── Nook/
│   ├── Managers/          # 核心业务逻辑和状态管理
│   │   ├── BrowserManager/    # 浏览器状态中央协调器
│   │   ├── TabManager/        # 标签页生命周期管理
│   │   ├── ProfileManager/    # 用户配置和数据隔离
│   │   ├── ExtensionManager/  # 浏览器扩展支持
│   │   ├── HistoryManager/    # 浏览历史记录
│   │   ├── DownloadManager/   # 文件下载处理
│   │   ├── CookieManager/     # Cookie 存储管理
│   │   ├── CacheManager/      # 网页缓存管理
│   │   ├── SettingsManager/   # 用户偏好设置
│   │   └── ...
│   │
│   ├── Models/            # 数据模型和业务实体
│   │   ├── Tab/               # 标签页模型
│   │   ├── Space/             # 工作区组织
│   │   ├── Profile/           # 用户配置数据
│   │   └── ...
│   │
│   ├── Components/        # SwiftUI 视图和 UI 组件
│   │   ├── Browser/           # 主浏览器窗口
│   │   ├── Sidebar/           # 侧边栏导航
│   │   ├── CommandPalette/    # 快捷操作界面
│   │   ├── Settings/          # 设置界面
│   │   └── ...
│   │
│   └── Utils/             # 工具函数和辅助类
│
└── assets/                # 静态资源和素材

架构特点

  • Managers:处理业务逻辑,协调应用各部分
  • Models:使用 Swift 的 @Observable 宏表示数据和状态
  • Components:SwiftUI 视图,基于模型变化自动更新
  • BrowserManager:作为中央协调器,连接所有管理器

使用场景

场景一:日常浏览

Nook 的侧边栏设计特别适合需要同时打开多个标签页的用户。垂直标签页可以显示更多标题文字,方便快速识别和切换。

场景二:开发者使用

对于开发者而言,Nook 的分屏功能可以同时查看文档和代码示例,提高工作效率。内置的开发者工具和扩展支持也满足了开发调试需求。

场景三:隐私浏览

Nook 提供隐私模式,不保存浏览历史、Cookie 和表单数据,适合在公共设备或需要保护隐私的场景使用。

开发参与

Nook 是一个开源项目,欢迎社区贡献:

项目使用 Git Flow 工作流,main 分支为稳定版本,dev 分支为开发版本。

许可证

Nook/ThirdParty 目录下的第三方库外,所有代码均采用 GPL-3.0 License。第三方代码按各自文件夹中的许可证条款授权。

相关链接

分享: