使用 AI 编码后,你会怎样选框架?
随着 AI 辅助编程工具的普及,前端开发者在框架选择上获得了前所未有的灵活性,但同时也面临着新的考量维度。
以下是三个常用方法的详细分析:
一、选自己熟悉的:效率与局限的平衡
选择熟悉的框架永远是开发者的第一本能反应。
这种选择的优势是显而易见的:
开发效率最大化: 你不需要查阅文档就能快速搭建项目结构,比如一个熟悉 Vite 的前端开发者可以几分钟内配置好 Vue/React 的基础框架;
npm create vite@latest my-vue3-app --template vue
cd my-vue3-app
npm install
问题排查高效: 当遇到诡异 bug 时,你能凭经验快速定位问题所在,比如 Vue 的响应式数据丢失问题,老手一看就知道要检查 computed 属性的实现, vue3 还可能是 reactive 的使用不当;
let data = reactive({ name: "", age: "" });
let res = await getUserApi();
data = res.data; // 错误:直接赋值会丢失响应式
data.userData = res.data; // 正确:保持响应式
代码质量可控: 代码评审时你能敏锐发现潜在问题,比如 React 的 useEffect 依赖数组缺失这类常见错误。
useEffect(() => {
console.log(coumt)
}, []); // 在代码复杂的情况下,很可能会遗漏依赖项 count
但企图用单一框架解决全平台问题,肯定会遇到性能问题。比如用 Electron + HTML 的方式开发桌面应用,虽然简单,但内存消耗问题始终难以避免。
另外如果你一直停留在自己熟悉的技术栈,不早点利用 AI 学习新技术,你积累技术能力的速度就不如别人,在竞争中会渐渐处于劣势。
二、选社区支持最好的:站在巨人肩膀上
如果你想往前踏一步,那可以开始考虑社区生态比较好的框架,像前端三大框架都可以学一点,你以前用 Vue,那可以试试 React、Angular,或者借机巩固 Typescript。
这样做的好处是,你解决问题的效率并不比你熟悉的框架低。
像 React 的 Stack Overflow 问题数量,GitHub issue 解决的数量都是远高于 Vue 的。你只需要使用好 AI 翻译,就能快速在网上找到解决方案。
而学习资源也相当丰富。
同样以 React 为例,官方文档就支持 7 种语言;在B站的教学视频 1000+;npm 插件也足以让你,在不需要再造轮子的情况下,就能完成大多数企业级项目。
基于前两点,也导致了 AI 编码的优势,AI 面对更多的资料也更聪明。
React + Typescript 开发时,你能较明显的体验出来,给出的方案更合理,代码可用性更高,而且能自动修正 Typescript,代码健壮性强。
不过需要注意的是,不能单单以社区维度来做最后的技术选型。
在新兴领域,可能社区较小但潜力更大,比如 Rust + Wasm,如果需要做更底层、更极致的需求,可能需要考虑使用;而某些企业级框架虽然学习曲线陡峭,但类型系统更完善,比如 AugularJS,也可以在熟悉面向对象的团队中使用。
三、选原生的:性能与维护的取舍
在移动端开发时,以前往往只有 React Native 一种选择。但是如果是 AI 编码,更推荐大家尝试一下选择原生的语言进行开发。
因为原生开发有着不可替代的优势:
原生的性能优化空间大:
- 复杂场景下,即使是使用 Flutter + 原生,也可以获得 60fps 动画,而 React Native 可能只能到 45fps。
- 原生应用启动时间平均比跨平台方案快 300ms
新技术适配更好:
- 第一时间支持 iOS 新特性(如 Live Activities)
- 直接调用平台专属 API(Android 的 WorkManager)
如果你已经是前端老鸟,即使是做跨平台的需求,也可以用这个方案。
你如果熟悉 iOS 的声明式 UI,可以使用 Flutter + 原生的方式;而你熟悉 Android,可以使用 kotlin multiplatform 将大部分代码共享。
甚至,不使用这些框架,建一个 Monorepo 项目,像这些框架一样搭建目录,只不过你的 iOS 文件夹和 Android 文件夹是 AI 生成的。
根目录
- 公共配置
- iOS
- Android
用 AndroidStuido 和 XCode 新建项目子文件夹之后,就可以用 AI 进行编码了。
在 AI 生成 Swift 代码后,要求其"转换为等效的 Kotlin 实现,考虑 Android 平台特性"。为什么要有后半句话,因为每个语言的数据结构不一样,根据平台特性来重新考虑代码还是很有必要的。
如果还是不放心,你还可以在开发前,让 AI 再根据当前语言特性输出一份详细设计,再动手修改。
个人实践分享
在 AI 编码的实践中,前面的 3 种方法我都试过了。
个人经验,在 React 和 iOS、Android 都是半桶水的情况下,React Native 实现多端开发要解决的问题,其实并不比 同时使用 iOS、Android 少。
React Native 开发过程是很顺畅的,但是进入编译阶段就不是如此了。预览没问题,不代表上真机没问题。你以为能顺利编译,还是会出现不少 bug。而且 Expo 线上编译可控性比较低,更好的选择还是在本地编译。
如果你以前没有用过 iOS 和 Android,同样也是困难重重。
而用原生开发,前期同时调试两份代码的确比较麻烦,但是能即时看到效果,后续打包出错的概率要低的多。
所以两种方法各有优劣,但是都是可以考虑的。
总结
总之,AI 时代的前端开发者对框架的选择范围确实变得更宽广了。现在借助AI辅助工具,开发者可以快速掌握多个框架的核心特性,甚至能同时维护 Vue、iOS、Androoid 三种不同技术栈的项目。
毕竟框架只是工具,真正的价值在于如何用最低成本高效解决业务问题。
AI 带来的最大解放,是让我们可以像游戏角色更换装备一样灵活调整技术栈。
假设现在,你的项目需要重构,面对能自动处理 80% 工作的 AI 助手,你会不会大胆尝试你不熟悉的 Angular ,甚至新兴的 Svelte 5?
欢迎在评论区留下你的想法,我们一起探讨。