兄弟们,是这样的,我原本是一个 CRUD 仔,最近做了个开源项目 PigeonPod 得到了不少朋友的喜欢。我就趁热打铁搞了个时髦的 Landing Page,结果在前端这块被结结实实地上了一课,想分享一下踩坑血泪史,希望能帮同样是后端背景的兄弟们省点时间。 故事是这样的: [ol]开局: 我用的是典型的“稳重派”,技术栈直接选了生态最强的 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 )八字不合。 [/ol] 前前后后快两天时间,代码没写几行,算是把前端这些框架的哲学和门派给彻底搞懂了。 最后悟出几个道理: 做“网页应用”和做“网站”是两码事,技术选型完全不同。Next.js 是 React 的 “全家桶”,但它更是 Vercel 的 “全家桶”,选它等于选平台。Astro 性能至上,但对某些 UI 库生态不友好。“无缝迁移”这四个字很诱惑,但是听听就好,都是营销口号,别当真。 把整个心路历程和技术上的思考都写成了文章,里面有更详细的踩坑细节和“暴论”,希望能帮大家看清前端这个“花花世界”。 博客原文链接在这儿: https://asimov.top/posts/react-vs-nextjs-vs-astro-for-backend-devs seo, astro
Ruby on Rails, 框架鼻祖绝非浪得虚名, CRUD, SSR, SEO 手拿把掐. 真心推荐给 CTO 及 全栈工程师. 一个公司用什么语言和框架是由 CTO 决定的, CTO 用什么跟他在学校学的东西相关, 学校及培训机构当然是 Java, JS, C#, 所以 Ruby on Rails 可能不那么流行. 但用起来真舒服, 语法是真简洁, 心智负担是真轻, 开发是真快速, 测试是真省心. 现在有了 AI, 我现在 99% 的代码都是 AI 在写, 我来看 git diff 及审核自动测试, 我觉得最聪明的是 Claude-4.5-sonnet. 99% 的公司网站的瓶颈绝对不会在语言及框架上, 如果有 CTO, 建议试试, 可以少招程序员, 效率杠杠地.