话说 Next.js 为什么火,到底解决了什么问题?

2024-04-15 02:50:22 +08:00
 LeeReamond

不是第一次在 v 站看到 next.js 的帖子了,属于是一回生二回熟,到第三回第四回的时候确实有点感觉是不是有什么我不知道的技术潮流了

于是去查了一下,说实话并未感觉到有什么有 next 要素的地方,感觉还是技术大牛自带流量的引导作用更强一些,功能性上就是集成了 SSR 的 react ,附带一些 node 的功能。。。当然因为我本身不是搞前端的,我感觉如何不重要。不过感觉上比起目前通行的工具,似乎并没有什么实质生产力提升。虽然有一个好用的 SSR 很好啦,但是问题是 SPA 这么多年不也用过来了,倒也没感觉没有 SSR 就罪恶到要枪毙。。。

另外本身架构设计上,我只是简单找了个介绍视频看了下。看的时候几个怀疑,一个是基于文件系统目录结构构建的路由被认为是设计优势,不过按照广泛编程语言的广泛实践,纵观主流语言的包管理系统,maven 、pip 、npm 、cargo 等等,似乎基于文件目录的设计在 2024 年已经被广泛地认为是逊于不依赖的设计,我不是很理解新项目搞这么一出的优势在哪里。另外一个就是,如果未来 web 生态真的(重新)拥抱静态生成的话,对大规模项目来说 next.js 方案的内存占用和路由转发性能是不是都略瓶颈。所以这个项目是被设计用来在啥场景替代啥落后生产力的

24071 次点击
所在节点    程序员
108 条回复
dcoder
2024-04-15 03:52:30 +08:00
HTML files + JQuery -> SPA -> Angular/React/Vue
-> 哎呀没有 SSR 来做好 delivery HTML files (e.g. for SEO)
-> 新造"前端框架"来解决传统 file delivery 问题
-> Next.js (真的能解决吗? 不该自己控制 HTML files 生成和发布到 CDN 吗...?)

作为后端, 你可以遇见, 这类"新的前端知识"会一直增长下去的...
如果不是"面向前端主流编程", 比如要找前端工作的,
建议保持在类 HTML files + JQuery 的设计上, 相对稳定. 可以用 alpinejs.dev + HTML files
BeiChuanAlex
2024-04-15 03:59:46 +08:00
对我来说,最喜欢的应该是免费部署吧,写完了可以免费用。
BeijingBaby
2024-04-15 06:48:44 +08:00
可能你没有真正用过…

主要不就是开箱即用,用起来不折腾,让你专注写业务吗。
laogui
2024-04-15 06:59:10 +08:00
五年前就开始用了,现在这货也备受指责,越来越重,上手门槛越来越高,而且改来改去,几个月前发现改成 app router 很多写法又变了,就算熟悉 react 用这个也要学不少它独有的写法。所以很多人叛逃到了 remix ,astro 这些框架上。
FollowHYH
2024-04-15 06:59:17 +08:00
基于文件目录其实没什么问题,和后端包管理器不一样,前端一个路径对应一个页面对用户友好。
OhMyZzh
2024-04-15 07:05:51 +08:00
next.js 的价值在于快递启动
光集成 react+typescript+hotreload+bundle 优化+css module+router+ssr+deploy 就够喝好几壶了
使用 next.js 相当于雇了一个专业团队帮你搞定了这些事情,直接上手堆业务就行
当然我也不是很喜欢 next.js 这种强绑定基建的框架,vercel 的恰饭逻辑是把你困在他们打造的场景里持续消费,所以我不建议一条道走到黑,快速实现原形后就应该想办法拆除框架
FollowHYH
2024-04-15 07:17:00 +08:00
我觉得楼主可以试试 SvelteKit 。会原生 JavaScript 就会 Svelte ,几乎没有上手成本,不用操心状态管理。不过它由于起步较晚( 2019 年),现在生态还比较匮乏。
jguo
2024-04-15 08:18:14 +08:00
跟 springboot 火的原因一样,提供了一整套效果还行的解决方案。
ericgui
2024-04-15 08:24:53 +08:00
@laogui 我也好几年尝试了,感觉确实很多坑

今年又捡回来了, 感觉还行,这几年进步很多
musi
2024-04-15 08:38:20 +08:00
@BeiChuanAlex #2 已读乱回?有哪些 pages 不让部署静态资源?
ada87
2024-04-15 08:43:55 +08:00
很多好处只有自己用了才能感受,看一万篇帖子也 GET 不到。
zed1018
2024-04-15 08:53:44 +08:00
好不好用我不好说,我只写了一个 oauth2 的 provider 。但是这个东西升级过快,没有 LTS 版本,组件包含的东西又多,反正生产系统里我是建议是谨慎考虑的。别因为有 breaking changes 卡住安全更新。这点跟楼上提到的 spring-boot 不一样,spring-boot 的 API 已经很稳定了。
Adelell
2024-04-15 08:54:20 +08:00
前端这样的旅程,要考多少泪水来完整,新造的轮子。
Adelell
2024-04-15 08:58:02 +08:00
曾经我茫然前行,前端的路上。优雅刺痛著灵魂,找不到应该的方向。 前端这样的旅程,要用多少泪水来完整。是否我能期待遥远天际,一起编程,新造的轮子😃🎸🎵🎵
dfkjgklfdjg
2024-04-15 08:59:02 +08:00
因为现在很多前端都是写管理后台的拼图仔(页面仔)?都是已经在搭好基建的框架上面堆业务代码。
所以感觉不到有区别,就会感觉到“为了一个不太重要的 SEO”折腾了那么多东西。

所以如果只看流行,忽略了就业环境和工作环境,确实会很迷惑。
lanlanye
2024-04-15 09:22:20 +08:00
从后端角度看 SSR 确实很微妙……感觉就像在看人把一个早就存在的东西换了个角度重新发明出来。
ygweric
2024-04-15 09:27:06 +08:00
1. 后台系统用 react 的脚手架,例如 antd pro 。
网站(门户、官网、工具站、博客、FAQ 、论坛)用 nextjs ,可以无缝实现 SEO 的强支持,完美解决了 SPA 在 SEO 的方面弱项(面试必问的问题)

2. 用 Next.js 写页面,可以平替 PHP ,React 的语言结构真没的说,jsx 用起来哔 Vue 灵活太多了
hadeshe
2024-04-15 09:27:59 +08:00
next 的优势不仅仅在于框架自身,还在于和 vercel 搭配,上手试试就知道了
yKXSkKoR8I1RcxaS
2024-04-15 09:30:31 +08:00
前端就喜欢瞎几把改瞎几把造轮子,用多了 Vue 、React 之类的框架,最终还是回归了 Laravel(ThinkPHP)+代码模板一把梭,稳定性、SEO 、响应速度都提成了不止一点点。
flmn
2024-04-15 09:30:45 +08:00
Next.js 的价值在于可以在 Edge 进行计算,怎样自己私有化部署就不现实了,就要用现成的云平台,如 Vercel ,这样想快乐地使用开源软件的全部能力就很难了。

React 的开发团队直接在文档里推这种方式,不能说没有一点利益关系。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1032461

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX