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

SSR 使用场景疑惑,工具站是否需要 SSR,比如 Figma, SSR 优势是什么

  •  
  •   devzhaoyou · 214 天前 · 3921 次点击
    这是一个创建于 214 天前的主题,其中的信息可能已经有所发展或是发生改变。

    刚入门前端,对 SSR 还不太了解其使用场景,个人认为一些文字类,或者展示页面类,如博客,网站首页,落地页等使用 SSR 比较好,但一些如 figma 这种工具页面不需要用 SSR 了吧?、

    或者换个问法 nextjs 的使用场景是啥,比如纯 react + vite 写不行么?

    26 条回复    2024-04-22 15:31:51 +08:00
    codehz
        1
    codehz  
       214 天前
    next 搞这么复杂的一个原因就是
    现代网站很少是单纯工具页面或者完全可以服务端预先生成的
    即使是 figma 工具类的,起码你也可以先 ssr 生成一个框架,让 logo 或者 loading 一类的元素先一步显示出来(当然你也可以手动先搓一个 loading 的 html ,但这需要同时维护两个东西,就麻烦一些了
    完全可以服务端预先生成的页面就不用说了,但更常见的情况是,一部分可以预先生成,一部分不是,比如博客和评论区(当然你可以说评论区可以不用 js ,这个不讨论)这里假设是需要 js 的评论区。。。
    jorneyr
        2
    jorneyr  
       214 天前
    门户网站,新闻网站、CMS 用 SSR 比较多,预先生成大量的网页保存到文件,访问的时候直接通过 Nginx 就可以,不需要访问后台每次现生成。
    huijiewei
        3
    huijiewei  
       214 天前
    SSR 就是为了搜索引擎优化,只是都是一条龙解决方案了。同时还可以在服务端跑一些东西,比如查询数据库,访问其他 API 跳过跨域限制什么的,灵活性很高。
    devzhaoyou
        4
    devzhaoyou  
    OP
       213 天前
    主要最近使用 nextjs 发现有时候会有些错误,在 react 情况下没问题,在 nextjs 环境就会报错,解决起来比较麻烦,react 官网又推荐了 nextjs 所以问下
    IvanLi127
        5
    IvanLi127  
       213 天前
    SSR 能加快首屏渲染,所以成本允许的情况下,能上就上。
    binaryify
        6
    binaryify  
       213 天前
    工具类没必要
    wu67
        7
    wu67  
       213 天前 via Android
    个人看法,不需要被搜索引擎收录的情况,能 spa 就 spa

    ssr 首屏渲染是快,但是后续的平均每页面加载速度比不上 spa ,更别说如果你的网站用户是企业用户,他们工作电脑配置决定的响应速度会完全抹消 ssr 对比 spa 的首屏加载速度
    zhangshine
        8
    zhangshine  
       213 天前
    SSR 对 SEO 比较友好
    jsq2627
        9
    jsq2627  
       213 天前
    这就是 nextjs 广受诟病的地方:强推 SSR / RSC ,为了卖自家 Vercel 的商业服务。
    对于很多类型的项目,比如你提到的工具类网站,以及后台管理系统,SSR/RSC 属于最不重要的优化,但会因此让开发和部署变复杂很多(如果不使用 Vercel 的话)。
    RRRSSS
        10
    RRRSSS  
       213 天前
    nextjs 也可以使用 CSR 啊
    devzhaoyou
        11
    devzhaoyou  
    OP
       213 天前
    @RRRSSS 是可以用,加了 'use client' 有些代码也还是会报错,还需要适配,不能拿来直接用。。。
    ChefIsAwesome
        12
    ChefIsAwesome  
       213 天前
    看得到,摸不着,十年前业内就讨论过的问题。你是几百毫秒就能把按钮显示出来,但是 js 没加载运行之前,这个按钮点不了,用户更沮丧,用户体验更糟糕。
    好的用户体验不是快,是顺。这个行业里的人就是搞不明白这个道理。所以网页前端大多数都在做不需要用户体验的后台管理系统。
    lstz
        13
    lstz  
       213 天前 via Android
    可以参考 laftools.cn 我们选型用了 Next.js ,就是希望页面直出,给用户客户端少些 js 执行的负担


    但缺点也很明显,next.js 这个技术实现底层太过复杂,你很难完全弄懂,vercel 夜时不时有一些 bug

    假如你怕折腾,我建议 spa 就可以了,毕竟这年代机器配置都没那么差了
    RRRSSS
        14
    RRRSSS  
       213 天前
    @devzhaoyou 我还在用 page router ,感觉没有十分必要使用 app router ,等大家坑都踩差不多了,我再用。
    ljyst
        15
    ljyst  
       213 天前
    搜索引擎优化当年可了不得
    chengxiao
        16
    chengxiao  
       213 天前
    我实在不理解前端技术为什么会为了某个云厂商去学一个框架......
    另外 SSR 这东西都是后端 MVC 玩烂玩剩下的东西,前端这怎么又捡起来玩了,喝着叫了这么多年前端渲染,最后又回到 mvc+jquery 了
    dj721xHiAvbL11n0
        17
    dj721xHiAvbL11n0  
       213 天前
    @devzhaoyou #4
    1. 为什么官网推荐 NextJs ,因为 NextJS 用的 React ,而且 NextJs 知名度和流行度很高,后面还有个好爹
    2. 为什么 React 没问题,但是同样用 NextJs 有问题,那你一定还没有真正了解什么的服务端渲染,就是代码在服务器上跑,服务器上没有浏览器 Api 的,例如 Window 等,所以你用了肯定报错。那是不是就不能用,那肯定不是,你需要将这段代码申明在客户端渲染,或者申明这个页面在服务端渲染
    jianchang512
        18
    jianchang512  
       213 天前
    早古时代的 jsp 、php:就这?
    lisxour
        19
    lisxour  
       213 天前
    1. 个人项目,毫无必要
    2. 公司项目,上级没发话也别去搞

    总结:狗都不用
    devzhaoyou
        20
    devzhaoyou  
    OP
       213 天前
    之前折腾过 wordpress ,貌似 wp 就是 php + html + js 完成了 SSR ,nextjs 貌似就是做这个。
    目前看来先用最简单的方式把功能实现跑起来吧,如果有需要再迁移到 nextjs 上
    unco020511
        21
    unco020511  
       213 天前
    感觉回到了 jsp 远古时期哈哈
    unclevv
        22
    unclevv  
       213 天前
    @chengxiao 不然前端为什么被人鄙视呢,框架、架构来来回回变、一天一个样,不知道在干什么
    rookie2luochao
        23
    rookie2luochao  
       213 天前
    我觉得工具类需不需要 ssr, 取决于你出于什么目的,如果是盈利类,奔着高 pv 去的,ssr 还是需要?或者你实在是不想弄 ssr, 可以写个简单的 ssr 聚合页做导流?还有写 ssr 好像不只是 nextjs? astro, remix 也看看? nextjs 写起来电脑差点的是真卡,不能否定它很强大,毕竟 vercel 投了这么大精力,但是所有应用全 ssr 未必你就一定在前面?哈哈哈,反正我乱写的,nextjs 直接使用 react 生态还是有一些坑的,用个 antd 调试都有坑
    rookie2luochao
        24
    rookie2luochao  
       213 天前
    @devzhaoyou 如果你只要 workpress 这种文档栈功能,那完全 vitepress 这些就可以搞定了
    abelmakihara
        25
    abelmakihara  
       213 天前
    nextjs 还没生产用过
    nuxt 我是适配地头疼 有的组件版本高了还不能用
    不是一定要求 seo 就算了吧 别给自己找麻烦
    yidadaa
        26
    yidadaa  
       213 天前
    Landing Page 用 SSR 或者 SSG ,功能性页面用 SPA 。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3293 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 12:00 · PVG 20:00 · LAX 04:00 · JFK 07:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.