FastAPI入门:一个30岁老广程序员的后端自救指南
去年十月,我坐在海珠区昌岗路那间月租3500的老房子里,窗外是湿漉漉的回南天,屋里是刚被裁员的我。桌上摆着一碗凉了的牛杂,手机里躺着一条HR发来的消息:“公司业务调整,很遗憾……” 那时候我才意识到,做了八年的传统行业供应链管理,真的要和我说再见了。
老婆在厨房洗碗,水龙头哗啦啦地响。她探出头来问我:“阿强,接下来怎么办?” 我没敢看她眼睛,只低头盯着键盘——那是我在前公司用剩下的,键帽都磨秃了。“我想试试转行做程序员。”我说这话时,声音小得像蚊子叫。
“你都30了,还来得及吗?”她问。
“不知道,但总得试试。”
从Java培训班开始的“血泪史”
说实话,一开始我对“后端”这个词都没概念。只知道程序员分前端后端,前端写网页,后端写服务器。我去报了个线下Java培训班,学费18800块,咬牙刷了信用卡。每天坐地铁从昌岗到天河,来回三小时,晚上十点才到家。学Spring Boot、MyBatis、Maven那一套,脑子像灌了水泥。
老师讲得飞快:“这个Controller注入Service,Service调DAO,DAO走JDBC……”
我坐在后排,手忙脚乱记笔记,心里却越来越慌:这玩意儿也太重了吧?光一个Hello World项目就要配七八个XML文件,IDEA打开慢得像我家那台老电饭煲。
有次课后我忍不住问老师:“有没有轻一点的后端框架?我一个人做小项目,搞这么多配置真的顶不住。”
他笑了笑:“小伙子,企业级开发就是这样,讲究规范和稳定性。你想偷懒,以后进大厂可没人要你。”
我点点头,心里却嘀咕:我要是能进大厂,还用在这交18800吗?
那段时间真的很焦虑。老婆看我天天熬夜敲代码,黑眼圈比陈村粉还白,忍不住说:“要不……咱先找份销售干着?至少能交房租。”
我摇摇头:“再给我一个月,就一个月。”
转机:遇见FastAPI
转机出现在一个周末。我在B站刷教程,偶然看到一个UP主用十几行代码就搭起了一个能返回JSON的API接口。他用的不是Java,而是Python,框架叫FastAPI。
“这也能叫后端?”我半信半疑地点开文档。
结果一看就停不下来。
FastAPI真的太“轻”了!不需要配置文件,不用启动Tomcat,连数据库都可以先不管。只要装个包:
pip install fastapi uvicorn
然后写个main.py:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def hello():
return {"message": "老广程序员上线啦!"}
再运行:
uvicorn main:app --reload
浏览器一开 http://localhost:8000,立马看到那行字。我激动得差点把凉茶打翻——这不就是我想要的吗?简单、直接、即时反馈!
那一刻,我忽然明白:我不是讨厌后端,我只是讨厌被复杂的工具链绑架。
为什么FastAPI适合我这样的新人?
作为从传统行业杀进编程圈的“高龄”新人,我需要的是快速验证想法的能力,而不是一上来就被企业级架构压垮。FastAPI正好满足这一点。
首先,它基于Python,语法友好。我在培训班里被Java的泛型、异常处理、静态类型折磨得够呛,而Python写起来像说话。比如定义一个带参数的接口:
@app.get("/items/{item_id}")
def read_item(item_id: int, q: str = None):
return {"item_id": item_id, "q": q}
看!路径参数自动转成int,查询参数自动解析。不用写DTO,不用配注解,类型提示还能帮你防错。这不比Java里那一堆@RequestParam、@PathVariable清爽多了?
其次,FastAPI自带Swagger文档。启动服务后,访问 /docs,自动生成交互式API文档。客户说“你接口怎么用?”,我直接甩链接过去,他点两下就能试。这在Java里?要么手写Markdown,要么集成Springfox,折腾半天还跑不起来。
最重要的是——它让我找回了编程的乐趣。
以前用Java,光是等IDEA启动就要一分钟,改一行代码重新编译又是一分钟。而FastAPI的--reload模式,保存即生效。那种“所想即所得”的感觉,就像小时候在西关骑单车,蹬一下就往前冲,没有刹车,只有风。
吐槽:别被“主流”绑架
当然,我也知道很多人会说:“FastAPI只是玩具,企业都用Java/Go。”
这话没错。但我反问一句:新人的第一目标是进大厂,还是先做出能跑的东西?
我现在的公司(一家做社区团购的小创业公司)后端主力确实是Java,但老板看我用FastAPI三天就搭出了商品管理原型,直接拍板:“内部工具你就用Python写吧,省时间。”
上个月发工资,月薪从15k涨到22k。虽然比不上那些科班出身的大神,但对我这个转行一年的人来说,已经够给老婆买件新冬装了。
而且你知道吗?FastAPI底层用的是Starlette(异步)+ Pydantic(数据校验),性能其实不差。官方压测显示,它和Node.js、Go在某些场景下打平。至于“企业不用”?那是因为大厂有历史包袱,不代表技术不好。
就像我们老广喝早茶,有人爱虾饺,有人爱肠粉,何必非说肠粉才是正统?能吃饱、吃开心,就是好茶点。
给同样迷茫的你的建议
如果你也和我一样:
- 年纪不小,转行压力大
- 没有计算机基础,被术语吓退
- 想快速做出东西证明自己
那我真心推荐你试试FastAPI。它不是万能药,但绝对是一条低门槛进入后端世界的捷径。
具体怎么学?我的经验是:
- 先跑通一个最小例子(就像上面那个hello world)
- 加个数据库(用SQLAlchemy + SQLite,本地就能玩)
- 做个小项目(比如待办清单、天气查询)
- 部署上线(Vercel + Docker,现在连学生都能免费搞)
别一上来就啃《分布式系统原理》。先把轮子跑起来,再研究怎么造轮子。我见过太多新人卡在环境配置、依赖冲突里,三个月没写出一行业务逻辑,最后黯然退场。
记住:完成比完美重要一万倍。
写在最后:30岁,才刚刚开始
上周五晚上,我又去了上下九那家熟悉的牛杂店。老板娘认出我:“阿强,好久不见!听说你做程序员啦?”
我笑着点头,掏出手机给她看我做的小程序——一个帮街坊查附近老字号营业时间的API。她眯着眼看屏幕,嘟囔道:“睇唔明,但系好犀利喔!”
回家路上,珠江边的风吹得人清醒。我知道,我和那些22岁的应届生比,确实慢了很多。但我也有他们没有的东西:对生活的理解,对问题的耐心,还有——一颗死磕到底的心。
FastAPI不会让我一夜暴富,但它给了我一个支点。在这个支点上,我可以慢慢撬动整个后端世界。
所以,如果你也在人生的十字路口徘徊,别怕。选一个简单的工具,写一行代码,跑起来。世界不会因为你是新人而温柔,但你可以因为行动而强大。
共勉。
—— 一个还在昌岗路租房、每天靠牛杂续命的老广程序员
2024年4月于广州

评论 0