Java 后端学前端做工具站:从零到上线

一个 Java 后端程序员,花了三周学 React 做了一个在线 JSON 工具箱,上线第一个月就有了几百个自然搜索访客。这篇文章是我完整的经历和踩坑记录。


为什么做这件事

做了几年 Java 后端,日常就是写接口、修 Bug、开会。技术上不算差,但心里一直清楚——上班是打工,网站是自己的。

看到很多独立开发者一个人做网站,挂个 Google AdSense,一个月几千美金的被动收入。说实话,挺羡慕的。

但我只会 Java,不会前端。想做网站就得学。

选技术栈:为什么是 React

Java 后端要学前端会面临一个选择:

  • Vue — 上手简单,中文文档好
  • React — 生态更大,机会更多

我选了 React。原因很简单:

  1. React 的 Hooks 语法让我这个写 Java 的人觉得”嗯,像在写函数式编程”
  2. React 生态里要什么都有现成的库
  3. 移动端用 React Native 也可以复用,将来有想象空间

最后选了 React + TypeScript + Vite 的组合。Vite 的冷启动速度太快了,对新手调试体验很好。

做什么项目:选赛道

学前端不能光学不做,得找个具体项目来实践。

我从自己的需求出发:工作中经常要跟 JSON 打交道,格式化、校验、转 CSV 之类的,每次都要找在线工具。

市面上的 JSON 工具站很多,但要么有广告太烦,要么功能单一,要么不支持中文。做工具站有一个规律:功能不需要多强,但要全、快、无广告。

于是决定做一个 在线 JSON 工具箱

  • 纯前端,不依赖服务器
  • 支持格式化、压缩、校验、转 CSV、转 YAML
  • 支持 Java POJO 和 TypeScript 代码生成
  • 多语言(中文、英文、西班牙语、阿拉伯语)
  • PWA 支持,可以当 App 安装

踩坑记录

1. 路由配置

React Router 的学习曲线比想象中陡。特别是嵌套路由和动态路由的组合。翻了好几次文档才搞明白 createBrowserRouter<Outlet> 的配合。

2. SEO 问题

做完了才发现,React SPA 做 SEO 天生吃亏。爬虫看不到动态内容。

解决方案是:

  • 每个工具页面写独立的内容(title + description + 结构化数据)
  • react-helmet-async 管理 SEO 标签
  • 首页加了 FAQ JSON-LD
  • 内容尽量在页面加载时就渲染,而不是靠 JS 请求

虽然比不了 SSR,但对工具站来说是够用的。上线一个月 Google 已经索引了十几个页面。

3. 代码分割

一开始整个网站打包下来 736KB,首屏加载太慢了。

后来用 React.lazy() 做代码分割,每个工具页面独立加载,主包降到了 379KB。配合 PWA 缓存,后续访问几乎瞬间加载。

上线后的数据

  • 开发时间: 约 3 周(晚上和周末)
  • 工具数量: 20+ 个 JSON 相关工具
  • 部署平台: Vercel(免费版)
  • 第一天访客: 0(毫无悬念)
  • 第一个月: 开始有自然搜索流量,每天几十个 UV
  • 收入: 还没挂广告,等流量稳定再开

给其他后端程序员的话

如果你也只会后端、想做网站,我的建议是:

  1. 别想太多,直接做。 React 学习曲线是陡,但做个简单的工具站不需要理解全部原理
  2. 选一个你熟悉的领域做工具。 你懂这个领域,就知道怎么做得好用
  3. 内容 > 技术。 工具站最终靠的是 SEO 和内容,技术只要够用就行
  4. 先上线,再优化。 不要在完美上死磕,先上线看看反馈

我做的 JSON 工具箱:https://jsonprocess.app

20+ 个 JSON 在线工具,纯前端,支持多语言。欢迎使用和提建议。