听过身边很多优秀、聪明前端同学说想学习 Java 开发,但苦于上手困难,甚至会觉得语言是天堑转而放弃。沟通下来颇为遗憾,自己去找了一下市面上汗牛充栋的 Java 教程,发现两个问题
- 要么从编程小白知识开讲,效率颇低
- 要么是某个领域技术的深入讲解
本书假定读者有两年左右前端开发经验,想了解上手 Java Web 开发的最小知识,领域知识在后续实践中深入学习,希望用 24 小时走进 Java Web 世界
主要内容
Java 经过多年发展,其知识领域相当广泛,本书只是用前端开发的视角介绍上手 Java Web 必备的知识,不涉及深入的探索,主要侧重在两方面
- 前端必须了解的 Java 语言特性,主要针对前端开发者日常不会涉及的部分
- 看懂 Java Web 项目结构,开始 CRUD 业务开发
前端为什么需要学习 Java
不用渲染任何专业焦虑,在 2025 年可能没有前端会觉得后端知识不重要,问题在于是不是应该学 Java,毕竟 Node.js 也是个不错的选择
自己曾经也是 Node.js 的忠实拥趸,还写了个 Node.js 入门的系列教程,但最近两年的经历让我想法多少发生了一些变化
- 前端维护的效率工具、系统,使用 Node.js 是一个不错的选择
- 线上业务 Node.js 为了对齐 Java 能力做了太多工作,也有很多难题还没解决或者解决成本很高
- 如果真的是为了高效、稳定支撑业务,不如学下 Java,反正聪明如你看了本书后会觉得不是很难
笔者所在的技术团队并不是按照前端、后端、客户端职能划分团队,而是按照业务域垂直划分,一个团队内有负责某个业务的前后端。个人有幸做了三年前、后端都有团队的 Leader,对全栈有了一些新的理解
- 不是所有前端都需要全栈,在性能、动画、D2C、工程效能等专业领域,专业前端仍旧有很多发展机会
- 业务建模由后端同学完成,业务“话语权”后端同学天然有优势,比如营销活动中的价格计算,再复杂的业务逻辑多前端而言就是个字符串的显示。对于专业前端而言真正的机会在用户体验
- 在前后端都有的团队内才能深切感受到,前端同学用 Node.js 做全栈对后端同学来说有多么不可接受
- 首先这是一种“自私”的行为,因为如果真的想为业务分忧,应该在现有的后端框架基础上帮忙分担开发任务,而不是另起炉灶
- 其次因为引入新的后端语言,主要集中在 BFF,底层服务需要和 Java/Go 等做互操作,后端同学反而多了中间件 & 服务多协议兼容的成本,成了 Node.js 的受害人
- 再次大部分前端同城学对于高并发、分布式不熟悉,甚至缺少基本的线上服务器运维工作经验,稳定性问题频繁,在定位阶段后端同学也要被波及
因此笔者对全栈有了不一样的观点:全栈对前端而言是不错的发展机会,但应该 follow 公司目前的后端技术栈,强行使用 Node.js 缺少后端同学的配合,容易进入自嗨、画地为牢的境地
面向读者
- 两年以上前端开发经验
- 了解面向对象编程基本概念
- 了解 HTTP 协议和 Web 请求响应交互流程
- 了解数据库基础操作
AI 时代这个教程还有意义吗
尽管 AI 在代码生成方面取得了显著进展,掌握 Java 语法和框架的使用依然至关重要。对于熟悉的领域,Cursor 的资深用户肯定体会到它能够提升 50% 甚至 100% 的工作效率。然而,在不熟悉的领域,由于缺乏相关“常识”,Cursor 的提效能力会受到限制。本教程旨在帮助读者快速掌握 Java Web 领域的基础知识,助力大家实现全栈开发。