Flutter入门:从零开始构建跨平台应用

浏览器兼容师
2025-12-27 10:20
阅读 1587

去年十月,成都刚入秋,空气里还带着点湿漉漉的凉意。那天晚上十一点,我坐在出租屋的小书桌前,台灯昏黄,桌上堆着三本书、一杯已经凉透的咖啡,还有我那台服役五年的联想笔记本——风扇嗡嗡作响,仿佛在替我叹气。

我盯着屏幕上一行又一行报错的Dart代码,手指在键盘上悬了好久,最后重重敲下回车。结果,终端又蹦出一串红色错误:“NoSuchMethodError: The getter 'text' was called on null”。我瘫在椅子上,心里默默骂了一句:“这破玩意儿,连个按钮都点不动?”

那一刻,我真的有点想放弃。


我是老张,今年30岁,坐标成都。半年前,我还是个干了八年建材销售的“老油条”,每天跑工地、陪客户喝酒、算提成。工资说不上高,但还算稳定——月薪15k左右,够我和老婆在城南租个两居室(月租3500),偶尔还能下馆子。

可疫情三年,行业越来越卷,项目越来越少。去年年初,公司裁员名单上赫然有我的名字。那天回家,我老婆没说话,只是默默煮了碗面,放了两个蛋。她说:“要不……你试试转行?你不是一直说喜欢搞技术吗?”

其实我大学学的是机械工程,但工作后一直对编程有点执念。闲暇时会看B站教程、刷LeetCode,但始终没敢迈出那一步。失业后,我咬咬牙,用积蓄报了个线上培训班,主攻移动端开发。一开始学Java Android,写了一堆Activity,结果发现现在大厂都在推跨平台方案。朋友一句:“Flutter现在香得很,一个App通吃iOS和Android,小公司最爱。”让我彻底转向了这个“新玩具”。


刚开始学Flutter,真的像在黑暗里摸电线。Dart语法怪怪的,什么WidgetStatefulWidgetBuildContext,听得我头大。我买了三本书:《Flutter实战》《Flutter进阶》《Dart语言程序设计》。最厚那本《Flutter实战》几乎被我翻烂了,书页边角都卷了,书脊也裂开了。每晚哄完孩子睡觉(是的,我有个两岁半的女儿),我就坐到书桌前,对着书一行行敲代码。

记得第一次成功运行“Hello World”时,我激动得差点叫出声——结果女儿被吵醒了,哭得我手忙脚乱。老婆睡眼惺忪地从卧室探头:“又搞你的代码?别太拼了。”我点点头,心里却暗下决心:这次必须成。

但现实很骨感。我投了二十多份简历,石沉大海。HR看到我30岁、非科班、无实际项目经验,基本秒拒。有一次视频面试,对方直接问:“你有上线App吗?”我老实回答:“没有,只有几个练手demo。”对方沉默两秒,说:“我们更倾向有生产经验的候选人。”

那天晚上,我坐在阳台上抽了根烟,看着楼下24小时便利店的灯光,心里特别不是滋味。房租快到期了,老婆最近在接手工活补贴家用,而我还在“从零开始”。


转折发生在一个周五晚上。我在GitHub上看到一个开源项目:一个简单的天气App,用Flutter写的,界面清爽,逻辑清晰。我心想:“要不我也做一个能真正用的App?”

于是我花了两周时间,做了一个“成都生活助手”——整合了本地地铁线路、公交查询、菜价信息,甚至加了个熊猫基地的开放时间提醒(笑)。虽然功能简单,但这是我第一个能装在手机上、自己天天用的App。

过程中踩了无数坑。比如状态管理,一开始用setState,结果页面一复杂就卡成PPT;后来改用Provider,总算流畅了。再比如网络请求,第一次调高德地图API,因为没配HTTPS,安卓模拟器死活打不开,折腾到凌晨三点才搞定。

但每解决一个问题,那种“我居然做到了”的成就感,比当年签下一个大单还爽。

我把这个项目上传到GitHub,写了详细的README,还录了个演示视频。然后重新修改简历——不再写“学习过Flutter”,而是写:“独立开发并上线一款本地生活类跨平台应用,日活用户50+(主要是我老婆、我妈和几个朋友)”。

神奇的事情发生了。投出去的简历开始有回音了。一家做SaaS的小公司约我面试,他们正好需要一个人快速开发内部工具。面试官看了我的项目,问:“你是怎么处理数据缓存的?”我如实回答用了shared_preferences,还说了遇到的问题和优化思路。他点点头:“虽然经验不多,但动手能力不错。”

一周后,我拿到了offer:月薪22k,13薪,远程办公三天。虽然比不上一线大厂,但在成都,这已经足够让我们松一口气。签约那天,我请老婆吃了顿火锅——还是她挑的便宜店,但她说:“这是今年最开心的一顿饭。”


回头看这段路,我想对和我一样的转行者说几句掏心窝的话:

第一,别怕“从零开始”。
30岁转行确实难,但技术这东西,真不看年龄,只看你能做出什么。我见过28岁才学编程的朋友,一年后进了字节。关键是你愿不愿意沉下心,把每一个小功能做到能跑、能用、能展示。

第二,项目比证书重要一百倍。
培训班发的结业证书HR根本不在乎。但一个你亲手做的、哪怕只有三个页面的App,只要逻辑清晰、代码规范,就能成为你简历上的亮点。我现在的简历里,“成都生活助手”占了整整一页,比“精通Java/Flutter/Dart”这种空话管用多了。

第三,善用低成本优势。
成都有个好处:生活成本低。我房租3500,吃饭一个月2000搞定,压力比北上广小太多。这意味着我可以花3-6个月专注学习,不用急着找份“先糊口”的工作。如果你也在二线城市,千万别低估这个优势。

第四,书籍是沉默的老师。
网上教程碎片化严重,系统性差。那本《Flutter实战》救了我无数次。遇到问题,先翻书,再查Stack Overflow。书里的思路比零散博客更扎实。建议新手至少精读一本权威书籍,建立知识框架。


现在,我每天的生活是这样的:早上送女儿去幼儿园,回来写代码;下午开个短会,晚上陪家人。周末偶尔接点外包小活,赚点奶粉钱。虽然离“大神”还差十万八千里,但至少,我不再是那个在建材市场陪笑的销售员了。

上周五晚上,我又坐到书桌前,这次不是调试报错,而是在给新项目加动画效果。女儿跑过来趴在我腿上:“爸爸,你做的小熊App什么时候给我玩呀?”我摸摸她的头:“快了,等爸爸把这只小熊猫跳起来。”

窗外,成都的夜雨淅淅沥沥。电脑屏幕映着微光,Flutter的Logo静静躺在IDE角落。我知道,这条路还很长,但至少,我已经站在起点了。


最后一点真心话:

转行不是换个工种,是换一种活法。它意味着你要接受短期收入下降、社交圈断裂、自我怀疑反复来袭。但如果你心里真的有一团火,那就别让它熄灭。哪怕每天只前进一厘米,也比原地焦虑强。

Flutter也好,React Native也罢,工具永远在变。但解决问题的能力、持续学习的习惯、把想法变成现实的勇气——这些才是程序员真正的“简历”。

共勉。

评论 0

最热最新
暂无评论
浏览器兼容师Lv.1
0
影响力
0
文章
0
粉丝