type
status
date
slug
summary
tags
category
icon
password
独立开发记录:我的 Authenticator App 开发之旅
一次从零到一的独立开发实践,基于 React Native 打造的两步验证工具。
起步:为什么要做一个 Authenticator App?
作为一名前端开发工程师,我一直对安全和用户体验比较感兴趣。市面上的两步验证工具不少,但大多数界面老旧、交互繁琐,于是萌生了自己动手做一个更轻量、美观的 Authenticator App 的想法。
技术选型
在决定用什么框架来开发这个 app 时,我做了一番调研和对比:
- React Native:生态成熟,社区活跃,能快速上手。
- Flutter:性能优秀,但学习曲线稍陡。
- uni-app:适合快速开发,但生态偏小程序、插件受限。
最终选择了 React Native,因为我熟悉 React 技术栈,而且社区资源丰富。为了提高开发效率,我还使用了 Expo 来初始化项目:
UI 实现:组件库 or 手搓?
UI 是个关键,我希望 app 的体验足够精致。考虑过以下组件库:
react-native-elements
react-native-paper
不过为了更灵活地定制 UI,我最终选择了 手搓样式 + Tailwind CSS 风格的写法,并且使用了 nativewind 来让 Tailwind 语法在 React Native 中复活。
代码示例:
实现扫码功能:二维码扫描
为了让用户能快速添加账号,我引入了摄像头扫码功能。
配合 VisionCamera 的插件,可以实现流畅的扫码体验。
实现二维码功能
我还需要支持二维码的生成与解析,于是选择了
rn-qr-generator:扫码识别与生成一应俱全,功能体验相当不错。
数据存储优化
一开始我用了
@react-native-async-storage/async-storage 作为本地存储方案,确实很方便:但后来数据多了之后,性能变得不稳定,于是改用了性能更强的
react-native-mmkv。不仅读写速度飞快,还支持加密:体验提升非常明显。
订阅内购支持
作为一个希望商业化的 side project,我也接入了内购功能。选择的是大名鼎鼎的 RevenueCat,集成简单,支持 iOS 和 Android。
之后就能用 RevenueCat 提供的 SDK 获取商品、处理订阅、查看用户状态,非常省心。
总结
开发这款 Authenticator App 是一次非常有收获的过程。以下是我的技术选型清单:
模块 | 方案 |
框架 | React Native + Expo |
UI | nativewind + Tailwind 手搓样式 |
扫码 | react-native-vision-camera |
二维码 | rn-qr-generator |
本地存储 | react-native-mmkv |
订阅支付 | RevenueCat |
- 作者:wdkang
- 链接:https://blog.wdkang.com/article/authenticator-app
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
.png?table=block&id=1ee896c5-9558-8082-9649-e66950102aad&t=1ee896c5-9558-8082-9649-e66950102aad)









