V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hylqs
V2EX  ›  程序员

Next.js 在国外还能火多久

  •  
  •   hylqs · 83 天前 · 7679 次点击
    这是一个创建于 83 天前的主题,其中的信息可能已经有所发展或是发生改变。
    楼主后端加半个前端,现在不知道是该继续深入 Java 还是学 Next.js ,后者在国外挺火,学会以后找 remote work 会不会更容易。

    或者有没有 v 友分析下 Next.js 这一套的未来。
    59 条回复    2024-09-03 15:57:03 +08:00
    ibegyourpardon
        1
    ibegyourpardon  
       83 天前   ❤️ 5
    你就当成是下一个 Spring Boot+ Vue in china 的地位就可以了。

    说人话就是纵使它有千般不好万般不是,你还是只管冲就对了。

    对了,我卖 Next.js 的课的。XD

    以及,大小写正确好评。
    ZZ74
        2
    ZZ74  
       83 天前
    就是个 api+jsp 的混合体。反正好用就会有人用 直到新的更好用的出来
    woodytang
        3
    woodytang  
       83 天前   ❤️ 2
    前端那帮人不知道在搞点什么
    服务端渲染最搞笑了,又走回 php 几十年前的老路,我还不如去用 laravel 全家桶
    wxw752
        4
    wxw752  
       83 天前
    我们需要爬虫收录,技术选型的时候让我们用 Next.js ,被我和一同事当场制止

    现在 PHP 单独搞了一套专供爬虫的页面,爬虫请求到网关那层,发现是爬虫直接跳 PHP 。
    falcon05
        5
    falcon05  
       83 天前 via iPhone
    挺好的,我喜欢。
    lstz
        6
    lstz  
       83 天前   ❤️ 1
    看到不少"Next.js sucks"的文章在外网,可以 check 下这个 issue 的最后几条回复 https://github.com/vercel/next.js/discussions/39242#discussioncomment-10432676
    ShuWei
        7
    ShuWei  
       83 天前
    @wxw752 SSR ?
    ShuWei
        8
    ShuWei  
       83 天前
    用过一段时间,目前基本弃用了,用的过程中最大的感受就是莫名其妙的问题还不少,而且是偶尔就蹦出来新的,这一点挺符合一般前端框架的尿性的,跟 js 本身如出一辙。不过,用来做东西本身其实还不错,已经能应付绝大部分场景,配合服务端渲染,能做的事情还是很多的,要不是好几次蹦出来的奇怪问题让我恼火了,估计会一直用
    flmn
        9
    flmn  
       83 天前
    我对 Next.js 的评价是:这是要接过 PHP 的衣钵的。
    dayeye2006199
        10
    dayeye2006199  
       83 天前
    这玩意儿会 react 还需要专门学吗?
    07aPzknB16ui9Cp3
        11
    07aPzknB16ui9Cp3  
       83 天前
    要看你自身的项目需求和个人倾向

    Next 这种东西的源头来自前端社区,如果你的项目很复杂并且工具链比较现代,后端比较薄只有 CURL ,或者你的团队还有单独的人力维护一个中间层,并且你还遇到了静态化的需求,这种东西就完美契合你

    而且这种东西并不能取代传统意义的后端服务,特别是对于互联网里面常见的分布式系统,这种东西的技术特征很难满足设计需求,或者说没什么优势;又或者你本身是一个后端从业者,对这种技术的出发点比较困惑,结果就是你可能会认为这玩意是个奇怪的 php 模板,那么就不要碰,因为你不理解它的应用场景

    如果你要做一些 Singleton web service with modern frontend toolchain ,除了这东西你还可以看看 remix 和 Blazor ,在服务器逻辑方面更直接一点

    至于工作方面,个人想来想去觉得和 Java 一点关系都没有
    jlak
        12
    jlak  
       83 天前 via iPhone
    作为 React 首推的框架已经是前端中 T0 的地位
    目前看来周边生态都在往 Next.js 靠拢
    除非作死不然不太容易会凉
    TabGre
        13
    TabGre  
       83 天前 via iPhone
    Next 或许会死,但是 React 不会
    BeijingBaby
        14
    BeijingBaby  
       83 天前
    前端以前是切图的,写不了后端,也没啥技术含量,薪水一直上不去。

    后来又了各种框架,现在还能写后端了,后端再也不是 php,java,python...专属的了。

    前端的地位、薪水终于上来了,很不容易。。。
    xuanbg
        15
    xuanbg  
       83 天前
    你管他会不会火,不火难道就不能用了?还有,这玩意还需要花功夫学吗?不是看一眼就会用了吗?没什么代价的事,有什么好纠结的?

    换我的话,这些工具到用的时候直接上手用就是了,学是不可能学的,这辈子都不可能。
    GeekGao
        16
    GeekGao  
       83 天前
    Next.js 并不是前端必备技能,反而它是基于的 React ,后者才是。
    ellermister
        17
    ellermister  
       83 天前
    @woodytang
    @wxw752

    next.js 没用过,但是我最近用 nuxt 写代码
    ssr 最终部署出来效果挺好的,浏览器端速度很快,由于框架是自己解决服务器与客户端渲染一致问题,就很依赖框架自带的组件和能力,如果有什么不支持的动态 js 或者插入一些传统 js 就会很麻烦。

    另外在开发阶段,速度极其慢,我不是很懂,看起来他要把所有元素抛到前端动态渲染动态引入,刷新页面后,看起来页面加载好了,实际还有很多请求没有加载完,你点一下他就跳转了(衰退到传统网页),又得重新加载....


    整个速度贼慢,还很耗费机器性能。
    echo0x000001
        18
    echo0x000001  
       83 天前
    @dayeye2006199 需要,很多新概念
    DoveAz
        19
    DoveAz  
       83 天前 via Android   ❤️ 1
    @ellermister 这个很可能是 vite 的问题,而不是 nuxt 的
    gogogo1203
        20
    gogogo1203  
       83 天前
    定位是国外的话, 我只能说别无他路。 我也不喜欢 Nextjs, 各种'use client',各种 opt out ssr. 但是这个就是国外的主流。开源的项目基本都是用的 Nextjs.
    luckycat
        21
    luckycat  
       83 天前
    NextJS 现在火是因为之前有多年的积累,然而现在技术路线往后端靠拢是一个不知天高地厚的做法,后端几十年来成熟的技术体系 NextJS 绝对是无法撼动丝毫的。

    只要再出现一个专注前端,摒弃 Server Component 的 JS 框架,NextJS 被淘汰指日可待。Server Component 是个怪胎,并不是趋势。
    ellermister
        22
    ellermister  
       83 天前
    @DoveAz 但是我单纯 vue3 基于 vite 很快的的哟。。我觉得就是 nuxt 那一套慢以及 nextui 更慢。最新版
    agdhole
        23
    agdhole  
       83 天前
    很蠢的路线,试图抢占后端市场,做成银弹,实际上啥都做不成
    qweruiop
        24
    qweruiop  
       83 天前
    感觉做成银弹了,但实际上还差的远啊。。。
    terranboy
        25
    terranboy  
       83 天前
    很多人理解错了 NEXT.JS 其实定位为胶水层,简单的后端 本身能实现,复杂的后端用 API 和 GRPC 这些连接, 重要的核心还是在专注前端的 SSR (既能利用 REACT 来写用户体验强的 UI , 又能服务端渲染), 但是很多人 NEXT.JS 用的不对 ,基本全是 use client ,等于用的是 REACT
    foolishcrab
        26
    foolishcrab  
       83 天前   ❤️ 1
    js react tsx 所有这些能流行起来最大的优点就是灵活性,react 2024 年还整天挂在嘴上 just javascript 。
    你再看看 Next 它灵活吗,连文件夹组织都想管。主打 DX 却又有无数 break change 和几千个未解决 issue 。

    这东西你能接受全部按照它推荐的范式去写,那确实很快,但是问题来了,那为什么不写 vue ?
    但凡你的需求它满足不了你想 workaround 或者改造的时候,赶紧逃离
    wangshuo6
        27
    wangshuo6  
       83 天前
    快速开发新产品还是好用的,并不一定用到 nextjs 的后段功能,最多整整服务端渲染
    youyang
        28
    youyang  
       83 天前
    缺人可以叫我
    huangzhiyia
        29
    huangzhiyia  
       83 天前 via iPhone
    nextjs 中的 action 特性非常舒服

    后端不用再封装 api 层
    前段不用再自己调用 fetch 请求

    开发体验已经强的离谱 现在那个非 react 的框架/语言能做到?
    sweat89
        30
    sweat89  
       83 天前
    jsp:这个我熟
    mx1700
        31
    mx1700  
       83 天前 via Android
    @zmaplex 十几年前的 asp.net 可以一战😏
    terranboy
        32
    terranboy  
       83 天前   ❤️ 3
    把一个 强交互性的 UI 静态部分通过服务端渲染出来再跟前端 JS 水合 这是 php jsp 后端渲染能做到的?
    june4
        33
    june4  
       83 天前
    @zmaplex 别的框架可能也在跟进,比如类似这种 https://docs.solidjs.com/solid-router/concepts/actions
    huangzhiyia
        34
    huangzhiyia  
       83 天前
    @june4 简单看了下也蛮不错似乎比 react 香 前端框架迭代太快了实在肝不动了

    准备就抱着 React + Tailwind CSS 养老 😂
    TheWalkingDead
        35
    TheWalkingDead  
       83 天前
    真的很讨厌前端...
    zed1018
        36
    zed1018  
       83 天前   ❤️ 1
    无论怎么吹 nextjs 的 SSR 能力,但凡在国内用 ant.d 基本没法告别 "use client",如果不是全局的话各种甚至 hydration error
    satoru
        37
    satoru  
       83 天前
    你要学什么取决于你要做什么,而不是拿两个东西问“哪个更有前途”
    如果你不是要学来做什么,那大概率你学完也是忘了,找工作也不会有什么优势
    asuraa
        38
    asuraa  
       83 天前
    我最近特别喜欢 Blazor 这玩意一把梭 太爽了
    xiaohanyu
        39
    xiaohanyu  
       82 天前
    Next.js 还是做了非常做的事情的,比如 prefetch ,图片的优化等等,很多效果靠传统的后端语言 + 传统的 jQuery/DOM 蛮难实现的。

    Vercel 本身的一个 commerce 的 demo: https://demo.vercel.store/,你可以试试这个站的不同页面切换的效果,想想如果用传统的 jQuery/DOM 该如何做。
    logic2
        40
    logic2  
       82 天前
    @dayeye2006199 需要的,page 路由,SSR ,还有接口调用 鉴权,都是绑定在 Next.js 一块的,全栈说实话不是这样全栈的,js 很多场景 并不一定合适
    wzdsfl
        41
    wzdsfl  
       82 天前   ❤️ 4
    @woodytang 一知半解就来嘲讽的人最可笑,如果真的是重回老路为什么这么多人用,能不能先调研再评价
    wangxiaoer
        42
    wangxiaoer  
       82 天前
    @woodytang #3 现在真是魔怔了,有些纯 CMS 展示型的页面也用纯前端渲染,为了爬虫,再搞个服务端渲染。

    潜意识里面好像后端有了 js 的框架,前端就可以上手干了。 这个理念多少和 中文编程 能够降低 编程门槛 差不多。总感觉不太对劲。
    songray
        43
    songray  
       82 天前   ❤️ 2
    Next.js 能火主要是因为 Vercel 、Netlify 、Cloudflare 三位赛博菩萨的免费算力。
    Vercel 作为这个模式的领头羊,在前两年融到了不少钱( 1.5 亿刀)。但他这个模式非常烧钱,而且根本没有盈利的迹象。
    现在真正在用 Next.js 的都是小型应用+初创业务,Vercel 如何才能从这些人身上赚钱?
    所以我不看好 Next.js ,因为我不看好 Vercel 。技术这东西完全是市场决定的。
    shiweifu
        44
    shiweifu  
       82 天前
    用 next.js 做了几个小项目,都是到处 "use client"
    打算试试 SSR 时,发现前后端都得整,也用不上,放弃了,回归 vite react 模板
    zbowen66
        45
    zbowen66  
       82 天前
    @woodytang #3 有 React 加成; Next.js 现在可以服务端+客户端并行渲染。
    yanyao233
        46
    yanyao233  
       82 天前 via Android
    nextjs 有一个好,开箱即用,做了很多优化,所以门槛并不是很高,读读文档,着重了解下那些文件约定和一些优化组件就能上手了。难的地方(或者说有门槛)还是在于 React ,框架这种东西,不整的简单易用点谁还去用?

    至于老哥们说的全是"use client"确实没咋遇到,我的思路一般是整个页面框架用 server component ,内部一些交互抽离出来封装成 client component ,大部分都还能复用
    zbowen66
        47
    zbowen66  
       82 天前
    @shiweifu #44 第一点有同感,大部分数据(状态)需要在浏览器变化的,它自带的数据流虽然也可以做到,但我总觉得不趁手。还有 API 的类型定义、路由守卫的封装等很不方便,当然现在有 server actions 缓解很多,有知道怎么封装的踢我下。
    stranbird
        48
    stranbird  
       82 天前
    @zbowen66 类型定义用`next-safe-action`
    s2555
        49
    s2555  
       82 天前
    从后端做起的全栈真的是台痛苦啦
    ZGame
        50
    ZGame  
       82 天前
    @logic2 这就是后端的知识体系吧...
    jguo
        51
    jguo  
       82 天前
    能火很久,因为是 vercel 做的,现在又跟 react 搭上了
    liudewa
        52
    liudewa  
       82 天前
    @jguo #51 不是本来就基于 react 吗 怎么 '又' 难道你说的是 nest?
    liudewa
        53
    liudewa  
       82 天前
    看了评论, 'vite' 才是 受益者啊
    liudewa
        54
    liudewa  
       82 天前
    我也准备学 nextjs 现在前端工作五年 只会 vue2,3 但远程招聘都是 react 话说,不学习 reat 能直接学习 nextjs 吗
    jguo
        55
    jguo  
       82 天前
    @liudewa 早期只是众多 react 框架中的一个,后面已经可以影响 react 的发展路线了。
    CodeCodeStudy
        56
    CodeCodeStudy  
       82 天前
    @ibegyourpardon #1 既然你提到了大小写,那应该打正确的 China ,而不是 china
    xiaotianis
        57
    xiaotianis  
       82 天前
    @zed1018 组件库的 use client 问题可以用这个库解决`use-client`,而且现在很多 UI 新版本都兼容了 use client
    hylqs
        58
    hylqs  
    OP
       81 天前
    @liudewa #54 可以,我 Vue 和 React 都是一知半解,照样直接开学 Next.js
    shiweifu
        59
    shiweifu  
       81 天前
    @liudewa

    next.js 上手很容易,对着文档整就行了,路由是文件形式的,比 React Router 好用多了,默认是服务端渲染,如果想要做 SPA ,需要在文件顶端 "use client"。如果不介意这一点,可以直接当作“更好用”的 React 。

    只是背着一堆用不到的配置和“优化”负重前行,总是感觉怪怪的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2703 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 09:58 · PVG 17:58 · LAX 01:58 · JFK 04:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.