Aplomb
基于 React Native 与 Expo 打造的跨平台数字水平仪,精准而细致
Aplomb 是一款功能完整的数字水平仪应用,可在 iOS、Android 和 Web 上使用。它以物理精确、视觉简洁的界面取代了传统的气泡水平仪,能够实时响应设备的方向。无论是挂一幅画、调平一个架子,还是在工地上检查一个表面,Aplomb 都能提供精确的倾角读数,并伴随即时的视觉、音频与触觉反馈。
aplomb 一词源自法语,意为"铅垂线",既体现了应用的用途,也反映了其构建过程中的精细:稳定、精准、平衡。
## 两种交互视图模式
应用提供两种互补的可视化,根据你持握设备的方式进行切换:
## 实时传感器处理
加速度计数据以 20 Hz 的频率采样,并在专用数学层(level-math.ts)中进行处理,计算:
## 多感官反馈
当表面完全水平时,应用会以三种方式进行确认:通过 expo-audio 播放干净的音频提示音、通过 expo-haptics 产生令人满意的震动模式,并高亮显示指示器和读数。用户可以通过单次点击,在声音、震动或静音模式之间切换。
## 校准与已保存的测量
内置的校准模块允许用户设置自定义的零角度偏移,并通过 AsyncStorage 在会话之间持久化。这对于校正旧设备的细微误差或相对某个参考面测量角度至关重要。测量结果可通过自定义标签进行快照保存,并随后在历史卡片界面中查看,附带时间戳与删除操作。
## 自适应设计与主题
响应式布局适配手机与平板(iPhone 与 iPad),在所有设备上均支持横屏方向。基于屏幕对角线的动态尺寸计算,确保在任何设备形态下 UI 都能正确填满屏幕。浅色、深色与跟随系统的自动主题均可在运行时切换,无需重启应用。
## 国际化
应用开箱即带 15 种语言,并会自动检测设备区域:英语、意大利语、德语、法语、西班牙语、葡萄牙语、俄语、中文、日语、阿拉伯语、印地语、乌尔都语、孟加拉语、印尼语和土耳其语。通过自定义的 Expo 配置插件,应用名本身在操作系统主屏幕上也会按语言进行本地化。
## 技术栈
技术选型反映了对流畅、灵敏体验的需求:
## 架构亮点
塑造代码库特征的五项原则:
Aplomb 作为应用可在 iOS、Android 与 Web 上使用,bundle id 为 com.mariustrica.aplomb。