话说 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 方案的内存占用和路由转发性能是不是都略瓶颈。所以这个项目是被设计用来在啥场景替代啥落后生产力的

24099 次点击
所在节点    程序员
108 条回复
tianzx
2024-04-15 10:16:49 +08:00
@rookie2luochao #38 我没有想针对你,可能语气冲了些,先给你道个歉。大 V 他又不写代码,你可以看下 Saasfly ,生产用的少的原因是 next.js14 以及 trpc release 没多久,以及 next.js 喜欢 break changes ,还有就是 web 在国内基本属于废弃的状态。关于文件路由的点其实是想解决起名难的问题,国外现在主流倾向于这么做。SSR 对于 C 端的 SEO 非常重要,所以 React19 一直没有 release 也是这个原因,新的特性基本上就是给 next.js 在做。卡也确实存在的,基本需要顶配的电脑。针对你的几个问题,不知道我回复的能不能解决你的一些疑惑?
tianzx
2024-04-15 10:17:38 +08:00
@rookie2luochao #38 主要是我觉得关于技术这块还是需要严谨些。再次抱歉
rookie2luochao
2024-04-15 10:20:23 +08:00
@tianzx 好的,下次发言会在严谨一些
rookie2luochao
2024-04-15 10:23:08 +08:00
@tianzx 您解答的这些疑惑我是知道答案的,可能我的表达能力确实差了一些,还有你可能忽略了我说的背景:国内,其实现在 nodejs 全栈在国外很流行了,国内却。。。,在未来,中国的软件开发者肯定也都是往全栈发展,降本增效是主要原因,还有不说刚 release, 就算我觉得再过 3 年,可能国内还是很难找到企业大面积使用 nextjs 全栈,不知道您理解我表达的意思了吗
encro
2024-04-15 10:28:39 +08:00
没啥,核心思想就是数据绑定。。。
更利于前后端分离,火就是国外对界面和代码越简单越好,不和或内一样。
然后这东西出来早,占位早。
tianzx
2024-04-15 10:31:24 +08:00
@rookie2luochao #44 我能理解。国内现在大面积使用 jdk8 ,而且很有可能也不会升级。国内为什么不使用 Next.js 的核心原因我再来分享一下。1:边缘计算本身就是为了做 global 市场 2 、SEO 对于国内价值不大 3 、全栈在国内也是外包的代名词。跟时间没有关系,和国情有关。Next.js 的优点在国内就不具备大规模使用的条件。Next.js 天然方便做 SaaS 应用,国内也没有这个需求。希望我们的讨论能给别人带来一点帮助和启发。再次感谢您的回复
Torpedo
2024-04-15 10:31:28 +08:00
你要了解人家的商业模块。这个框架是 vercel 的,他的特点就是配合 vercel 的托管服务,可以快速实现一个网站。开发者只需要会 js 就可以了。同时 ssr 对于初创公司可以方便的获得谷歌的流量。
这个框架在硅谷很流行。因为吃了中小公司这一群体。
ssr 对于国内和一些大公司内部、app 项目是很好。但是假如只有几个人,那 nextjs 就提供了一套完整的解决方案,而且还 seo 友好。实际上网上 ssr 有大量的场景,spa 用的多只不过多用在 web 开发的增量上。

至于你说大规模项目,规模大了,就来新的人重构了。而大部分项目根本规模不可能大
djkloop
2024-04-15 10:38:43 +08:00
react 是库,nextjs 是框架。nextjs 提供了一整套方案,开箱即用。
simo
2024-04-15 10:40:27 +08:00
用到就看看,这么多年,学废的东西太多了,用不到就先不用管。
从把 ie6 常见 bug 作为前端面试基础的时候开始,yui ,extjs 起来,然后 jquery ,再然后一堆 mvvm 框架,包括最爱的 avalonjs ,兼容 ie6+,基本一个没落,甚至好多源码都分析过,结果呢,真正算作知识留在脑子的 10%都不到,ie6 死翘翘了,ietester 没用了。
后面伴随着项目前端越来越重,出现了很多工程化的工具,出一个学一个,也都学废了。
grunt ,gulp,webpack 我的天啊,新项目一个换一套方案,要是能有个活了 5 年的,维护都要绑死个人。后端做几个月,回来再看前端,熟悉的东西又变了,头发越来越少,没用的产出越来越多。
现在是,能解决问题就行,需要什么学什么。不深究的话,尽量别提前学,需要用的时候,不知道淘汰多少年了。
额,前段时间把 nextjs nuxtjs nextjs 大概看了下,一言难尽,能不能别互相蹭啊 :(
等 nextnextnext jsjsjsjs 再学了
shunia
2024-04-15 10:40:43 +08:00
解决了以前要搭一个 React 的全栈项目稍微有点费劲的问题。

比如说有一个叫 T3 还是什么的一个项目就是一套全栈的脚手架,拿了巨多星,主要就是因为一个明星开发者提供了一套开箱可用且全面的全栈模板,算是解决了前端生态稍微有点混乱选择太多配置比较割裂的问题,因为他是明星开发者所以被更多人看到,虽然他的选择有很大的倾向性,但是确实解决了问题。

Next.js 就是一套更加完善,整合的更成功的解决方案。虽然它并不是唯一的选择,但是它有一些先发优势,又得到了 vercel 的大力支持从而和 React 团队搭上了线,从而一跃变成了天选之子。另外它也确实做的很不错,在获得了 React 的原生支持之外,提供了一些未必是原创但是很优秀的解决方案,比如通常比较烦人的 SEO 、图片优化等,另外从开发者角度投入了非常大的精力做优化比如文件路由、文件目录层级优化等。

不过这玩意比 React 激进太多了,从我自己使用的过程和体验来说,感觉 vercel 还是把它当成一个孵化中的项目,并没有真正的稳定下来。
MENGKE
2024-04-15 10:43:55 +08:00
@musi 已读乱回?说的是服务的部署,和静态资源是一个概念吗
MrYELiex
2024-04-15 10:45:31 +08:00
目前国内外 80%以上的互联网创业团队 sass 公司 如果技术栈是 react 首选做企业网站(官网/营销) 首选都是 next

1. vercel 背书 本身就是优先为商业场景考虑/优化 背后有商业驱动也不需要担心维护积极性
2. SSR/SSG/RSC 本身适合场景都是企业官网/营销场景 一样是这个场景下的刚需
3. react 本身就是这个场景下的技术栈首选, SEO, og image 之类的也是营销官网的痛点
3. vercel 的一键部署 日志 可以降低小团队的启动门槛 减少在这些方面的投入; next 也提供了非常完善的 standalone 部署支持, 可以一键编译成自部署的输出, 可以直接用于编译到 docker

不要拿国内 react 生态的后台应用或者玩具静态页去考虑 next, next 更多考虑的还是商业需求. 如果你觉得不合理, 说明你不是目标客户 不需要硬套一定要用用完又来喷
musi
2024-04-15 10:46:03 +08:00
@MENGKE #51 ?已读乱回?免费可以部署的服务多了去了,你找一个仅支持部署 next.js 的不支持其他框架的服务出来?
MrYELiex
2024-04-15 10:46:45 +08:00
从 next 的功能趋势看 各方面他们考虑的其实都是商业场景的使用 sass/电商/企业官网(营销)
NoobPhper
2024-04-15 10:46:45 +08:00
SPA 会所
dyllen
2024-04-15 10:47:43 +08:00
基于文件夹的路由还挺好用,不用新学什么东西,不过最新版本好像改的更复杂了。。。
Rrrrrr
2024-04-15 10:49:23 +08:00
寻一个 nextjs 新手,一起学。每天督促你学习
luoway
2024-04-15 10:57:32 +08:00
有的人说 next.js 好用是因为 SSR 完整解决方案
有的人说 next.js 好用是因为 Vercel

没有人说 next.js 好用是因为其中一块功能比别的选择更好。
6+6+6=21 ,9+3+0=12 ,综合得分高,所以好用。
luoway
2024-04-15 10:58:11 +08:00
@luoway #58 6+6+6=18 ,写成 21 是想说 7+7+7😅
kiwi95
2024-04-15 11:11:03 +08:00
解决了前端太容易写也太容易乱的问题?

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

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

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

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

© 2021 V2EX