V2EX 10月28日 10:45
后端开发者前端踩坑记:从React到Next.js再到Astro
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

一位后端开发者在为开源项目PigeonPod创建Landing Page时,经历了前端技术选型的“血泪史”。最初采用React+Mantine UI,虽性能评分高,却面临SEO爬虫难题。转投Next.js,发现其与Vercel深度绑定,图片优化等核心功能受限。尝试Astro,又因Mantine等CSS-in-JS库不兼容而受阻。最终,作者总结出网页应用与网站的技术选型差异、Next.js与Vercel的强关联、Astro的性能优势与生态局限,以及“无缝迁移”的营销本质。文章详述了整个心路历程和技术思考,旨在为其他后端开发者提供参考。

🛠️ **技术选型差异:网页应用 vs. 网站**:作者强调,开发用于交互的“网页应用”(如PigeonPod的Web App)与构建信息展示为主的“网站”(Landing Page)在技术选型上存在本质区别。前者可能更侧重客户端交互和状态管理,而后者则更需考虑SEO、首屏加载速度和内容的可访问性,尤其是在搜索引擎爬取方面。

🚀 **Next.js与Vercel的强绑定**:Next.js虽然是React生态中的热门选择,但作者发现其许多核心功能,尤其是图片优化等,与Vercel平台深度绑定。对于希望在其他部署平台(如Cloudflare)上获得完整体验的开发者来说,这可能带来迁移和配置上的巨大挑战,甚至感觉被平台“PUA”。

⚡ **Astro的性能优势与生态局限**:Astro以其默认SSG和出色的性能表现吸引了开发者,并支持使用React等组件。然而,作者在实践中发现,Astro与Mantine等主流CSS-in-JS UI库存在不兼容问题,这使得在特定技术栈下使用Astro变得困难,需要开发者权衡性能与生态支持。

📢 **警惕“无缝迁移”的营销口号**:作者提醒,前端框架宣传中的“无缝迁移”往往只是营销策略,实际操作中可能充满陷阱和兼容性问题。开发者应基于项目需求和自身技术背景,审慎评估框架的实际能力和生态支持,而非轻信宣传。

兄弟们,是这样的,我原本是一个 CRUD 仔,最近做了个开源项目 PigeonPod 得到了不少朋友的喜欢。我就趁热打铁搞了个时髦的 Landing Page,结果在前端这块被结结实实地上了一课,想分享一下踩坑血泪史,希望能帮同样是后端背景的兄弟们省点时间。

故事是这样的:

    开局: 我用的是典型的“稳重派”,技术栈直接选了生态最强的 React + Mantine UI。心想这套搞熟了就能一招鲜吃遍天,PigeonPod 本体的 Web App 就是这套技术栈做的,用得很舒服。我就同样把代码改吧改吧直接做了 Landing Page ,很快做完上线,看着 Lighthouse 的 performance 92; Best Practices 100; SEO 85 的评分,感觉稳得很。转折: 一个月后,Google 上压根搜不到我的网站。这才被迫搞明白,我那套 pre-render 小伎俩在真爬虫面前就是个笑话,必须上真正的 SSG 。第一劫:Next.js 。 都说它是 React 的“亲哥”,无缝迁移。结果呢?花了好几个小时迁过去,准备部署到 Cloudflare 的时候才发现,这玩意儿跟 Vercel 是深度绑定的,图片优化之类的核心功能离了 Vercel 就废了。感觉自己被“PUA”了。试了 OpenNext 、静态导出,全都是坑,又浪费了大半天。第二劫:Astro 。 痛定思痛,决定换个思路。Astro 看起来简直是梦中情“框”:默认 SSG 、能用 React 组件、部署自由。结果呢?兴冲冲地把代码迁过去,一编译就报错。最后在官方文档里找到一句冰冷的 “Not a chance” —— Astro 和所有 CSS-in-JS 的 UI 库(比如我用的 Mantine )八字不合。

前前后后快两天时间,代码没写几行,算是把前端这些框架的哲学和门派给彻底搞懂了。

最后悟出几个道理:

把整个心路历程和技术上的思考都写成了文章,里面有更详细的踩坑细节和“暴论”,希望能帮大家看清前端这个“花花世界”。

博客原文链接在这儿: https://asimov.top/posts/react-vs-nextjs-vs-astro-for-backend-devs

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

前端开发 React Next.js Astro 技术选型 Landing Page SEO 开发者经验 Frontend Development Technical Selection Developer Experience
相关文章