React Native快速入门:构建你的第一个APP —— 一个35岁老码农的远程逆袭实录
去年十月的一个周五晚上,我正蹲在老家阳台上啃鸭脖,手机突然震动。是猎头打来的。
“哥,有个React Native的岗位,远程办公,月薪22k起,有兴趣聊聊吗?”
我差点把鸭脖骨头咽下去——要知道,当时我在县城一家小公司维护一堆没人敢碰的jQuery老项目,月薪才15k,还得天天应付产品经理那句“这个功能很简单吧?点一下就行”。
老婆从厨房探出头:“又是推销的?”
“不是,”我咽了口唾沫,“可能是……转机。”
一、中年码农的焦虑:技术栈老化,简历石沉大海
说真的,35岁还在一线写代码,在圈子里已经算“高龄战士”了。我和老婆三年前咬牙回了湖南老家——省下北京每月3500的房租不说,孩子上学也便宜多了。但代价是:机会变少,技术容易脱节。
那会儿我投了二十多份简历,回复率不到10%。有次面试官直接问:“你最近两年主要用什么框架?”
我说:“Vue 2 + Element UI,偶尔修修后台系统。”
对方沉默两秒,笑着说:“我们团队现在全栈RN(React Native)+ TypeScript,你……有相关经验吗?”
没有。但我不能说“没有”。我说:“了解过,原理差不多。”
结果可想而知。回家路上,我盯着地铁玻璃上自己眼角的细纹,心想:再不学点新东西,怕是要被优化到去开滴滴了。
二、破釜沉舟:从“Hello World”开始的72小时
那天晚上,我翻出尘封已久的MacBook(还是2018款,风扇一转就唱《孤勇者》),打开终端,敲下第一行命令:
npx react-native init MyFirstApp
说实话,以前我对React Native一直有点偏见——觉得“跨端=性能差=糊弄事”。但现实逼人低头:大厂远程岗、新兴创业公司、甚至传统企业数字化转型,都在招RN开发者。更关键的是,它能让我用熟悉的JavaScript/TypeScript写原生体验的APP,不用重新学Java或Swift。
我给自己定了个目标:72小时内,做出一个能跑在手机上的真实APP。不是Demo,而是能展示给面试官看的东西。
第一步:环境搭建(差点劝退)
iOS模拟器要装Xcode,10GB起步;Android要配SDK、AVD……我这台老Mac跑起来像拖拉机。折腾到凌晨三点,终于看到那个绿色的“BUILD SUCCESSFUL”。
内心OS:当年学PHP搭个LAMP环境都比这快……
第二步:理解核心概念
RN的核心其实就几个关键词:
- JSX:用JS写UI,跟React一样
- 组件化:Button、Text、View这些基础积木
- 状态管理:useState、useEffect搞定大部分逻辑
- 原生桥接:真要用摄像头、蓝牙,得调原生模块(先不管,后面再说)
我抄了个极简的Todo List,加了个本地存储(用AsyncStorage)。虽然丑得像90年代网页,但它能增、删、存、读!
const [todos, setTodos] = useState<string[]>([]);
const addTodo = (text: string) => {
const newTodos = [...todos, text];
setTodos(newTodos);
AsyncStorage.setItem('todos', JSON.stringify(newTodos));
};
第三步:打包真机测试(成就感爆棚)
用Expo Go扫码,APP直接跑在我iPhone上!那一刻,我激动得差点把手机扔出去——这是我五年来第一次亲手做出一个能在自己手机上运行的APP。
老婆路过看了一眼:“这不就是记事本吗?”
“这是我的希望!”我认真地说。
三、面试题挑战:从“背八股”到“秀作品”
有了这个小项目,我立马更新简历,重点突出:“独立开发React Native应用,支持iOS/Android双端”。
果然,HR回复速度肉眼可见地快了。
上周三,一家做健康管理的远程公司约我视频面试。技术面第一题就是经典:
“React Native和Flutter有什么区别?”
我差点脱口而出“RN用JS,Flutter用Dart”,但忍住了。我说:
“对我们业务来说,RN的优势在于团队已有React Web经验,可以复用状态管理逻辑和工具链。而且社区生态成熟,比如导航用React Navigation,状态用Zustand,调试有Flipper——这些都能快速落地。”
接着,我直接打开GitHub,展示了我的Todo App代码结构、如何处理异步存储、怎么用FlatList优化长列表。
面试官眼睛亮了:“你这个项目,能加个‘完成’状态和筛选功能吗?”
“当然!”我当场fork仓库,十分钟后推了个新分支。他笑了:“明天HR联系你谈薪资。”
四、为什么React Native值得你投入?
作为过来人,我真心觉得RN对想快速切入移动端的老前端特别友好:
- 学习曲线平缓:如果你会React,一周就能上手RN
- 热重载爽到飞起:改一行代码,手机秒刷新,不用反复编译
- 求职市场吃香:尤其远程岗位,RN开发者需求稳定
- 一次开发,双端覆盖:省下一半人力成本,老板最爱
当然,它也有坑:
- 性能不如纯原生(但90%场景够用)
- 某些复杂动画得靠原生模块
- 升级版本有时会breaking change(别问我怎么知道的)
但比起从零学Kotlin或Objective-C,RN简直是“中年转型”的绿色通道。
五、给同样焦虑的你:行动,是解药
我知道很多同行和我一样:上有老下有小,不敢裸辞,又怕技术落后。但我想说——别等“准备好”才开始,边做边学才是程序员的生存法则。
我的Todo App虽然简单,但它证明了两件事:
- 我能学新东西
- 我能交付可运行的产品
这两点,比背一百道“虚拟DOM原理”都管用。
现在,我坐在老家的书桌前,窗外是南方冬天难得的暖阳。新offer已经到手,月薪22k,全额远程。老婆笑着说:“早该学了,省下的房租够买两台新Mac了。”
结语:35岁不是终点,是技术人生的第二春
有人说程序员35岁就该转管理。但我觉得,只要还能写出干净的代码,还能为一个小功能兴奋半天,就永远是一线战士。
React Native或许不是终极答案,但它是我走出舒适区的第一步。而你的第一步,可能就是一个npx react-native init。
别怕慢,别怕丑。你的第一个APP,不需要完美,只需要存在。
毕竟,在这个变化比翻书还快的行业里,持续进化的能力,才是我们最硬的简历。
共勉。
P.S. 我的Todo App源码已开源在GitHub(搜“OldCoderTodoRN”),欢迎Star——万一哪天你面试遇到我,咱们就是“校友”了 😉

评论 0