【追光】-Web APP

为航拍|摄影爱好者打造的光线追踪应用,精准预测黄金时刻和蓝调时刻。

Cover Image

引言

对于摄影师而言,光线就是一切。

为了捕捉那稍纵即逝的“黄金时刻”和“蓝调时刻”,我们往往需要精确的时间表。市面上有很多天气 App,但它们往往过于臃肿,充满了广告和不相关的信息。我想要一个纯粹的、美的工具,打开它,我就知道今天何时出发。

于是,追光 诞生了。

体验地址:👉 sun.vibedev.cc (推荐在手机浏览器打开,添加到主屏幕体验更佳)


✨ 核心亮点

1. 极致的视觉美学

在这个项目中,我并没有妥协于 MVP(最小可行性产品)的这种粗糙感。相反,我花费了大量精力打磨 UI:

  • Glassmorphism (毛玻璃):大面积使用全屏深色背景与磨砂玻璃质感的卡片,营造出高级、静谧的氛围。
  • iOS Design Language:灵感源自 iOS 原生设计,使用了圆润的卡片、流畅的阴影和类“灵动岛”的胶囊式元素。
  • 微交互:微妙的呼吸灯效果、平滑的太阳轨迹动画,让静态的数据“活”了起来。

2. 摄影师视角的每一个细节

App 的核心逻辑完全围绕摄影需求展开:

  • 分场次展示:不同于传统的 24 小时列表,我将其智能划分为「晨曦拍摄场」和「傍晚拍摄场」。
  • 关键时刻一目了然:直接展示黄金时刻 (Golden Hour)蓝调时刻 (Blue Hour) 的具体起止时间,不再需要在普通天气 App 里心算。
  • 离线可用:核心算法基于 SunCalc 库在本地运行,这意味着即使在信号微弱的深山,你依然能获取最精准的光线数据。

3. PWA 原生级体验

这不是一个普通的网页,而是一个精心配置的 PWA (Progressive Web App)

  • 你可以在 Safari 中点击“添加到主屏幕”,它将瞬间变身为一个类似原生 App 的图标。
  • 启动时没有浏览器地址栏,沉浸式全屏体验。
  • 适配了 iOS 的 viewport-fit=cover,完美利用全面屏空间。

🛠️ 技术栈揭秘

为了追求极致的加载速度和极简的开发体验,我在这个项目中采用了一种“返璞归重”的技术选型:

  • Core: Vanilla HTML5 + JavaScript (ES6+). 没有任何重型框架(React/Vue),保证了页面打开是毫秒级的。
  • Styling: Tailwind CSS. 通过 CDN 引入,快速构建响应式和现代化的 UI 布局。
  • Logic: SunCalc. 一个轻量级的 JS 库,利用经纬度和日期计算太阳位置。
  • Deployment: Vercel. 配合 Git 自动化部署,从代码提交到上线只需几秒。

开发心得:少即是多

在开发过程中,我尽量克制增加功能的欲望。比如最初想加入复杂的天气 API,但考虑到 API 的延迟和 Key 的限制,我决定先砍掉,专注于“太阳”本身。这种减法让 App 保持了极高的纯净度和稳定性。



下一步计划

目前的 1.0 版本已经足够好用,但我还有更多想法(2026 开发计划的一部分):

  1. 天气集成:在不破坏极简设计的前提下,引入云量和能见度数据。
  2. 月相追踪:为星空摄影师增加月出月落和银河位置查询。
  3. 多端同步:引入轻量级后端,同步你的“收藏地点”。

如果你也是一名开发者,或者对独立开发感兴趣,欢迎关注我的博客。在这个 AI 辅助编程的时代,将想法变为现实从未如此简单。


立即体验 追光