V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
foolishcrab
V2EX  ›  程序员

React 新文档骂战引发的的思考

  •  5
     
  •   foolishcrab · 2023-03-18 20:54:15 +08:00 via iPhone · 23800 次点击
    这是一个创建于 645 天前的主题,其中的信息可能已经有所发展或是发生改变。
    昨天 react.dev 正式上线了,最大的变化是 CRA 从 react 文档中消失了,react 官方对"开始一个新的 react 项目"的首选建议居然是 nextjs remixjs 。这个事情引发了 Dan 和 yyx 以及很多开源社区活跃份子的友好“讨论”。

    个人有几点想法想和大家讨论下,

    1. React 曾经对自己的定位是 ui library ,现在官网 quick start 推荐居然选择这么重量级的框架你觉得合理吗?

    2. React 或者说现在的前端体系现在对于前端纯新手的入门难度是不是到了地狱级?

    3. SSR 的使用场景真的有那么大吗?你的公司或者个人业务中 SSR 给你带来了什么?

    4. React 这种由大公司把控的开源项目,它们带来的技术风向值得投入多少注意力?
    第 1 条附言  ·  2023-03-19 13:03:30 +08:00
    不要在意这个标题,这个标题最开始其实是因为发现尤雨溪在 twi 上怼天怼地(包括不限于 turborepo 的 benchmark ,signal, rspack 的文档风格等等,大部分我都是认可他的理念的),由此觉得维护一个开源社区要做的远不止写代码,还要积极扩张自己的社区影响力等等,是非常不容易的一件事情。

    骂战本意是戏称,没有不尊重任何人的意思。相反尤这一点我觉得是亚洲程序员非常缺少的珍贵才能。
    我觉得开源社区多撕逼其实挺好的,尤喷 turborepo 那一波我就觉得非常好,vercel 在开源社区搞这种虚头巴脑的 benchmark 宣传很不合适。
    128 条回复    2023-04-21 14:10:22 +08:00
    1  2  
    TWorldIsNButThis
        1
    TWorldIsNButThis  
       2023-03-18 21:13:59 +08:00   ❤️ 1
    react 现在定位是底层库
    Curtion
        2
    Curtion  
       2023-03-18 21:21:20 +08:00   ❤️ 62
    CRA 是 Create React App ; Dan 是 React 核心成员; yyx 是尤雨溪,Vue.js 作者。
    makelove
        3
    makelove  
       2023-03-18 21:21:27 +08:00   ❤️ 2
    反正我是完全不关心 SSR 也没用过,除非做低动态文字内容为主类似博客之类的 app 我才去试试
    而且现在个人项目我都不用 react 转 solidjs 了,signal 比 react hooks 优势太大,react 也搞得越来越臃肿复杂
    huijiewei
        4
    huijiewei  
       2023-03-18 21:27:09 +08:00
    要不别推荐,要不支持社区搞一个比 vite 更好的

    现在嘛。。。
    zidian
        5
    zidian  
       2023-03-18 21:34:05 +08:00 via iPhone   ❤️ 8
    人家是讨论,怎么到你这就变成骂战了
    debuggerx
        6
    debuggerx  
       2023-03-18 21:52:57 +08:00 via Android   ❤️ 8
    个人体验 next.js 可比 cra 傻瓜多了……并不觉得"重"。
    而且 next.js 不止 ssr ,也可以 csr ,还可以 ssg ,灵活选自己需要的不就好了。
    ChefIsAwesome
        7
    ChefIsAwesome  
       2023-03-18 22:01:41 +08:00   ❤️ 17
    看看招聘的 jd ,web 前端负责提高用户体验,真是个笑话。在乎用户体验的项目根本不会找 web 前端做。
    大部分从业者的工作是做 pc 端的管理后台,要什么体验。
    用户觉得 iPhone 比安卓好,因为 iPhone 动画比安卓多,操作跟手,不掉帧。用户觉得安卓怎么也比网页好,因为网页压根没有手势和动画。
    iPhone 都出到 14 代了,这个月的 chrome 111 才加上 View Transition API ,可以实现原生 app 那种页面间的切换。
    看看过去这几年 web 前端的技术发展,看看这个领域最聪明的人都在研究什么东西。更快的打包?换着花样搞 mvc 框架?返璞归真的后端渲染模板?
    enchilada2020
        8
    enchilada2020  
       2023-03-18 22:16:00 +08:00 via Android
    CRA 之后的方向 Dan 还给过解释…没想到真就直接推 Next 了 ?
    rocmax
        9
    rocmax  
       2023-03-18 22:25:49 +08:00   ❤️ 3
    CRA 这个脚手架在当前已经有一些落后与时代,问题比较多。很早之前就有人提议要改了,比如这个 https://github.com/reactjs/reactjs.org/pull/5487
    1. Nextjs 除了默认加入了基于路径的路由以外相对于 React 基本没有其他变化,最大的差异应该是区分服务器和客户端渲染的部分,最近的版本更新(包括 React 的更新)也在尽量的把这两方面统一起来,实现同构渲染。Nextjs 不能说是一个纯后端渲染框架,而且易用性上来说至少不比 React 差。
    2. 前端越来越复杂是事实,不管你用 R V 还是 A 都一样,好的地方是可以直接学新东西,现在招前端不会要求一定会 jquery 吧。
    3. Nextjs 可以实现首屏 SSR ,其余 CSR ,取长补短。
    4. 见仁见智,个人项目还有突然没了或者加料的风险呢。

    个人已经把 T3 stack 作为首选框架,Nextjs 这种前后一体的框架与 tRPC 相性很好。之前写 GraphQL 的时候就觉得写一堆 SDL 很烦,tRPC 解决了最大的一个痛点。如果前后分离的话即使用 tRPC 类型定义也得 copy 一份,Nextjs 完全没有这个问题,非常清爽。
    foolishcrab
        10
    foolishcrab  
    OP
       2023-03-18 22:26:07 +08:00 via iPhone
    @ChefIsAwesome
    这也是我的想法,所以才有了这个帖子。
    目前 js 社区的方向真是越来越看不懂了,有点为了卷而卷的感觉。
    DGideas
        11
    DGideas  
       2023-03-18 22:33:59 +08:00   ❤️ 1
    1. 对于 React 官方文档推荐 Next.js 或 Remix ,而不是 CRA ,这其实是一个很正常的决定。虽然 CRA 依然是一个流行的脚手架工具,但是 Next.js 和 Remix 更加适合构建复杂的应用程序,并提供了更多的功能和优化。同时,React 本身只是一个 UI 库,对于如何组织项目没有明确的建议,所以推荐使用更全面的框架也是可以理解的。

    2. 确实,前端技术现在已经变得非常复杂,对于纯新手来说入门确实有一定的难度。但是,这并不意味着前端技术是不可学习的。相反,通过专注于基础知识、实践和深入学习,任何人都可以成为一名合格的前端开发人员。此外,社区中有很多很好的教程和资源,可以帮助新手们更轻松地入门。

    3. SSR 有很多使用场景,比如搜索引擎优化、加速首次渲染、更好的可访问性等。虽然 SSR 可能不适用于每个项目,但对于某些项目来说,它是必不可少的。对于我个人的业务,SSR 在某些场景下确实带来了很多好处,比如提高页面渲染速度、提高 SEO 、提高可访问性等等。

    4. 大公司把控的开源项目带来的技术风向确实值得关注,因为这些项目通常具有大量的资源、资金和专业知识,并且可以通过广泛的社区支持来维护和发展。但是,这并不意味着我们应该一味追随这些项目。相反,我们应该在深入了解和评估技术的基础上,谨慎地选择适合自己业务的技术,并在实践中不断优化和改进。
    foolishcrab
        12
    foolishcrab  
    OP
       2023-03-18 22:40:52 +08:00
    @rocmax
    1. 其实我对 next 是有好感的,但是我觉得它出现在 react 的文档中这么重要的位置不合适。我认为 react 的文档应该为初学者减少噪音,next 再好用也不可避免地给初学者引入很多其他概念。
    这一点其实有非常多人同感的,很多别的语言的大佬上手 react 第一反应都是如此。

    2.其实我说的初学的难度并不是起一个 demo 跑起来多困难,这一点反而是 js 社区做得最好的。
    我说的是 js 初学者现在学习一个框架,想到 know-how 的程度真的是非常困难,中间太多层东西是历史因素,而且非常晦涩。这一点在其他历史长远的语言里也没有这么严重。

    3. 你说的这个场景我是知道的,我待过的公司也都是这么用的,但是在 h5 流量不到 app 、小程序 1/20 的情况下去卷纯 web 的那点 tti fcp 我个人是看不到价值



    刚结束一个 gql 的项目,去学习下 trpc ,感谢
    foolishcrab
        13
    foolishcrab  
    OP
       2023-03-18 22:42:13 +08:00   ❤️ 2
    @DGideas
    一眼 PT 鉴定为 G 3.5
    DGideas
        14
    DGideas  
       2023-03-18 22:45:04 +08:00
    @foolishcrab 哈哈哈,今天借着这个事情,我在三个文章回复底下尝试用 G 来做回复,还真的是语气不一样啊
    ChefIsAwesome
        15
    ChefIsAwesome  
       2023-03-18 22:52:15 +08:00
    @foolishcrab 我觉得就是破罐子破摔了,提高不了用户体验,那就折腾开发体验。
    而且我觉得将来 web 前端技术要发展,其它大厂不行,还是得靠谷歌。只有谷歌以 web 产品为主,产品的需求才能推动技术的进步。谷歌做 chrome ,也是为了拥有 web 技术的话语权。

    闲鱼 app ,吹起背后的技术,天花乱坠,实际体验狗屁不是。现在很多网页产品也都是走这路线。
    aureole999
        16
    aureole999  
       2023-03-18 22:53:07 +08:00 via iPhone
    现在我做的公司项目用的就是 nextjs 。ssr 是必须的,那就是收入,没的跑。像之前公司做的证券交易前端,就完全不需要 ssr
    placeholder
        17
    placeholder  
       2023-03-18 22:59:39 +08:00   ❤️ 1
    那还不如入坑 angular→.→
    wu67
        18
    wu67  
       2023-03-18 23:01:27 +08:00
    next 解决了几个痛点.
    1. ssr 场景. 有些网站是需要给爬虫和搜索引擎爬的
    2. cra 的配置痛点, 配过的就知道, 一言难尽, 不是说不能用, 是不好用, 当然用来入门跑个 hello world, 那 cra 确实是个不二之选
    3. 集成了一个路由. 而不是需要自己配 react-route, 讲真这工具的文档我是有点看不下去, 纯吐槽, 没有喷开源的意思 /dog.
    alne
        19
    alne  
       2023-03-18 23:07:14 +08:00 via Android
    @zidian #5 楼主下一贴,怎么看待 React 新文档人身攻击引发的思考
    Torpedo
        20
    Torpedo  
       2023-03-18 23:21:33 +08:00
    这背后是公司的利益。
    next 是 vercel 这个公司的两大开源项目之一。react 社区的核心成员 Sebastian 也加入了 vercel 。所以 vercel 对 react 的影响力很大。所以新的文档里自然 推自家的 next 了

    从现实一点点角度讲,react 作为一个 ui 库,想保持自己独领风骚的势头是很难的,那么往大而全的框架方向发展也是可以理解的
    只不过就看社区跟不跟了。我猜大概率跟的不会有多少
    AyaseEri
        21
    AyaseEri  
       2023-03-18 23:41:31 +08:00   ❤️ 1
    事实上合理,next.js 做了很多的约定,React 官方背书有助于形成一套社区统一的实践。
    不然你会见到公司里的大佬在争吵页面到底放在 pages 下还是 components 下甚至是 routes 下。
    gogozs
        22
    gogozs  
       2023-03-18 23:47:06 +08:00
    有争议还是好的,就怕没争议,没人用的技术。比如客户端
    huihuiHK
        23
    huihuiHK  
       2023-03-18 23:49:06 +08:00
    @Curtion 感谢,不然我还真不懂这些是什么
    kop1989smurf
        24
    kop1989smurf  
       2023-03-19 00:14:04 +08:00
    web 领域比其他领域的发展路线更杂 /更凌乱的本质原因是 JavaScript ,或者说 web 标准是一个公共产物。
    你可以想到的其他语言、生态,大概率是一个主体推出的“产品”。比如 SUN 的 Java/J2EE ,微软的 C#/.net 。

    web 这种公共产物的优势在于自由、开放、天马行空。
    反面就是混乱、纠葛、群魔乱舞。

    这是 Web 标准诞生以来的必然,要怪就怪网景公司挂的太快。
    Sun 最起码是 Java 生态已经稳定之后才挂的,而且有甲骨文接盘。
    kop1989smurf
        25
    kop1989smurf  
       2023-03-19 00:15:41 +08:00   ❤️ 2
    btw:Brendan Eich 设计 JavaScript 的时候,压根不知道 JS 在未来会承担如此大任,他的任务只是设计一个浏览器与网页沟通的脚本语言而已。
    Mark24
        26
    Mark24  
       2023-03-19 00:22:57 +08:00   ❤️ 6
    JavaScript 的 SPA 框架用客户端执行 JS 概念把 Web 开发者骗上船。

    以前的 Web 框架纷纷退化成了 API 。SPA+API 摸着石头过河,卷了好几年,卷出 React 、Vue ,催生了前端、后端,细分岗位。

    JavaScript 暗度陈仓,暗暗发展 Node.js ,逐渐染指服务器。
    突然有一天,React 开始告诉大家,要回到 10 年前,后端渲染,开始推广 Next.js 、Remix.js

    其他语言纷纷骂骂咧咧
    angrylid
        27
    angrylid  
       2023-03-19 02:29:43 +08:00 via Android
    不要从纯技术角度,而是考虑政治和商业的因素,很多事情就想明白了。

    不如我反问一个问题,把前端搞的非常简单,让初学者很容易就能够上手,对现有的从业人员有什么好处吗?
    enchilada2020
        28
    enchilada2020  
       2023-03-19 02:39:36 +08:00 via Android
    @kop1989smurf
    > web 领域比其他领域的发展路线更杂 /更凌乱的本质原因是 JavaScript ,或者说 web 标准是一个公共产物。

    同意后半句 但不同意前半句 不能把所有都怪到 JS 头上 另外俩也是同样的割裂混乱
    alexbigbigworld
        29
    alexbigbigworld  
       2023-03-19 02:49:52 +08:00 via iPhone
    相比 Angular 在减轻,配置都快删没了
    h2ero
        30
    h2ero  
       2023-03-19 06:37:04 +08:00 via iPhone
    用了大半年 nextjs 蛮好用的 至少每个项目都会一点 ssg 对搜索引擎友好
    Chad0000
        31
    Chad0000  
       2023-03-19 06:40:40 +08:00 via iPhone   ❤️ 2
    作为一个写 Angular 的后端,我都不知道你们在说什么。
    gcollar
        32
    gcollar  
       2023-03-19 06:42:52 +08:00
    JS 发展到现在,不禁感叹 PHP/ASP/JSP 们是不是又快要焕发青春了?
    zed1018
        33
    zed1018  
       2023-03-19 07:50:13 +08:00
    @livid 现在可以用 gpt 回复了?
    agdhole
        34
    agdhole  
       2023-03-19 09:18:17 +08:00
    居然没有 vite
    Justin13
        35
    Justin13  
       2023-03-19 09:28:33 +08:00 via Android   ❤️ 2
    cra 就是垃圾,纯纯的狗屁。好死!
    917405917
        36
    917405917  
       2023-03-19 09:34:16 +08:00
    nextjs 对前端同学触摸后端同学饭碗也是有好处的哦
    Livid
        37
    Livid  
    MOD
       2023-03-19 09:41:34 +08:00
    @zed1018 如果你要举报,请告诉我具体的楼层。我没有时间看完每天所有的新回复。
    zed1018
        38
    zed1018  
       2023-03-19 09:46:52 +08:00
    @Livid 不好意思, #10
    meteor957
        39
    meteor957  
       2023-03-19 09:48:03 +08:00 via Android
    @gogozs 如果是 Android 或者 ios 相关,这帖子回复顶多十条🤣
    Livid
        40
    Livid  
    MOD
       2023-03-19 09:51:33 +08:00
    @zed1018 谢谢。那个账号已经被彻底 ban 。

    Livid
        41
    Livid  
    MOD
       2023-03-19 09:53:06 +08:00   ❤️ 9
    @DGideas 我们之前已经在多个地方向社区沟通过,不要把 AI 生成的内容发送到回复里。

    你的账号已经被彻底 ban 。
    mdn
        42
    mdn  
       2023-03-19 10:19:15 +08:00
    meta 公司业务出现危机,裁了这么多人,维护肯定大不如前了

    vercel/react yes
    abcbuzhiming
        43
    abcbuzhiming  
       2023-03-19 10:28:50 +08:00
    当年 React 刚开始推 hook 的时候就有人提过,hook 这东西过于烧脑,不是对开发者友好的技术。当时没几个人信,都是使劲吹 hook 的。其实那时就能看出端倪,React 的技术路线开始偏向 [大牛们觉得好的东西] ,而不是 [平庸开发者] 觉得好的东西。所以现在它推荐你上更复杂的库,也没啥好奇怪的。因为复杂有逼格,这是普遍规律
    privater
        44
    privater  
       2023-03-19 10:41:13 +08:00   ❤️ 6
    看了下 react.dev 网站,不过已经忘记之前的 beta 版推荐的起始工具是啥了。

    个人一点看法:

    CRA 确实太过时了,但是确实又有人真的在用,尤其是 Junior 刚刚学完课程那种,我甚至见过公司项目有 CRA 创建的连 eject 都没做,可以说是基本没有任何优化了。如果从这个角度来说,NextJs 虽然看着很重型,但是 NextJs 很多优化是 default 就启用的,例如拆散打包,图片优化,SSR oob 体验这比 CRA 那种看似为了照顾新人就隐藏大多核心内容,最终导致其实很多人不敢去探究底层和优化完全是两条相反的路径。

    而且就像前面几楼说的 Nextjs 如果你不去管 Api route ,SSR 这些后端东西,只用 Page 下面的东西,它依然不过就是个 React + React Router 的东西,重吗?并不重。

    CRA 另一个关键的问题是它的设计其实并不代表 React 的真正最优结构,尤其是初始空白 Html 文档的纯 Clien render 。Dan Abramov 自己几次三番都站出来说他建议新人不要用这个 CRA ,他的原话就是 "Every truly efficient React setup was custom, different, and unachievable with Create React App." Link: https://github.com/reactjs/react.dev/pull/5487#issuecomment-1409720741

    最后再说回来 NextJs ,它是 Framework ,不是 UI library ,而一个 Framework 必然需要支持大量的应用场景,这就包括很多功能其实大部分人和公司确实用不上。但是如果它恰好符合某些公司的需求,那就是他们用这个 framework 的根本原因。

    最后再说 SSR ,与其说 SSR 是为了解决性能问题( cache )不如说是为了搜索和分享 optimization ,因为如果是传统 client render 我们的 html 就是个空架子,而我们的内容全靠 js 执行后填充才有,而如果是搜索爬虫,他们是不会去执行 js ,所以导致你的 page rank 就很低,类似的,如果你用 fb ,tw ,微信分享也是,纯 client render 就没有那个预览图。因为这些分享的时候也是抓个网页回来截图,发现对面只是个空 html 文件,自然就什么都没有。
    pursuer
        45
    pursuer  
       2023-03-19 10:52:21 +08:00
    一直用 preact 当组件框架,感觉还好,hooks 感觉会花太多精力在程序结构上,也没怎么用过,后面 react 会怎么搞我大概也不在意了。。
    leonlu
        46
    leonlu  
       2023-03-19 11:03:31 +08:00 via iPhone   ❤️ 2
    @foolishcrab 关于 3 。楼主可以考察一下全球的大厂是否都接入了 webview/reactnative 一类的动态化能力。包体积大小是如何影响 app 分发成功率的。为什么在 gp/ap 严格审核的状态下依旧要上这项技术。然后也许发现 10%只是某个局部业务的现实,更广阔的世界也许远高于这个。所以 h5 占比真的没那么不堪,是业务发展节奏、研发成本和用户体验的平衡妥协折中。
    boqiqita
        47
    boqiqita  
       2023-03-19 11:12:48 +08:00
    前端娱乐圈嘛,除了不折腾前端效果的一些破事都想参合。
    patrickyoung
        48
    patrickyoung  
       2023-03-19 11:19:01 +08:00 via iPhone
    @DGideas #14 实际为 #11 @Livid
    terranboy
        49
    terranboy  
       2023-03-19 11:19:13 +08:00
    CRA 这一套下来 路由 + REDUX 之类的状态管理 就够学一阵子的了 , NEXT.JS 大大简化了 这方面的问题
    morri
        50
    morri  
       2023-03-19 11:20:56 +08:00
    nextjs 就挺好,功能齐全、前后通吃、客服端渲染、服务端渲染都有。
    patrickyoung
        51
    patrickyoung  
       2023-03-19 11:25:14 +08:00 via iPhone
    作为多年后端来说,前端因为谷歌砍刀部导致的业务持续性问题,Angular 我是不敢用的。就经验积累来说,需要到足够大的用户规模才能发现设计理念和架构的问题,这点上来说 Vue 是比不上 React 的 FB 这个好爹的。但是看了官方文档之后,我其实觉得现在前端除了多了工程化的组建复用之外,小型项目真不如几年前的老架构出活快,整一堆概念把人搞得云里雾里的,而不是减轻开发者的负担。所以我很不理解现在的前端…

    PS.很多年前 Sublime 手写过不少 jQuery based 的网站,直接纯客户端渲染的
    dw2693734d
        52
    dw2693734d  
       2023-03-19 11:31:23 +08:00
    nextjs 香的一匹
    zhennann
        53
    zhennann  
       2023-03-19 11:36:02 +08:00
    react.dev 官方文档明确说明:
    Next.js is a full-stack React framework.
    Remix is a full-stack React framework with nested routing.
    这说明前端框架都在尝试与后端结合,从而探索新的增长空间。但是,Next.js/Remix 目前的全栈概念更倾向于 BFF 的范畴,做博客、内容站等场景效果比较好,但是做业务系统会很不趁手。真正的面向业务层面的后端是需要准备一套基建的,比如,CRUD 、数据权限、消息推送、工作流引擎,数据字典,消息队列,通用认证体系,等等。如果不朝着这些基建生态努力,免不了陷入“高不成低不就”的境地。可以参考开源全栈框架 CabloyJS ,一直在朝这套基建努力迭代,https://cabloy.com/
    Roojay
        54
    Roojay  
       2023-03-19 11:50:47 +08:00 via Android
    facebookw/react -> vercel/react
    foolishcrab
        55
    foolishcrab  
    OP
       2023-03-19 13:06:46 +08:00
    @patrickyoung
    我也是狂热追了一波新框架之后,回到一些老旧的技术栈上发现稳定性、实用性等等没有任何逊色,觉得有一点迷茫。

    都说螺旋上升,js 开源社区近几年感觉只有旋转少有上升。
    uni
        56
    uni  
       2023-03-19 15:38:09 +08:00
    如果我给新人推荐的话我也推荐直接上 next ,cra 根本就是个玩具绝大多数情况下根本无法直接使用啊,next 的“重量”对于前端所面临的业务要求来说并不算重啊,反而学习者直接看到真实的最佳实践这对学习才是最有利的
    july1995
        57
    july1995  
       2023-03-19 15:54:39 +08:00
    @AyaseEri 过于真实. 放在哪里,都说得过去.
    zhuweiyou
        58
    zhuweiyou  
       2023-03-19 15:59:38 +08:00
    cra 跑起来还得配置一堆 plugin 才能正常用,反观 next 跑起来就能开始写了,cra 才是重
    windyskr
        59
    windyskr  
       2023-03-19 16:01:28 +08:00   ❤️ 21
    @Livid 这个方法感觉准确性不高。
    yodhcn
        60
    yodhcn  
       2023-03-19 16:04:35 +08:00
    web 的发展现在是越来越全家桶化了,不论是前端( next.js )还是后端( Spring )
    andyJado
        61
    andyJado  
       2023-03-19 16:16:11 +08:00
    @windyskr 哈哈哈哈哈哈哈哈这也太逗了吧。
    ospider
        62
    ospider  
       2023-03-19 16:33:01 +08:00
    > 1. React 曾经对自己的定位是 ui library ,现在官网 quick start 推荐居然选择这么重量级的框架你觉得合理吗?

    没什么不合适的,光一个 UI 学了啥也干不了,恰恰相反,越是小白越需要框架,需要全家桶。

    > 2. React 或者说现在的前端体系现在对于前端纯新手的入门难度是不是到了地狱级?

    还好,我一个野生前端,自己摸索也就一个多月。

    > 3. SSR 的使用场景真的有那么大吗?你的公司或者个人业务中 SSR 给你带来了什么?

    肯定大啊,即使是对于内部的一些不需要考虑 SEO 的管理页面,纯前端打一个大 bundle 也挺蛋疼的,用上 SSR 基本需要改动的配置非常少。

    4. React 这种由大公司把控的开源项目,它们带来的技术风向值得投入多少注意力?

    个人感觉 fb 的开源项目一般用起来都特别“舒服”,像是 pytorch vs tf, react vs angular, thrift vs grpc ,我都更倾向于用 fb 的。
    seki
        63
    seki  
       2023-03-19 16:49:27 +08:00
    CRA 用起来感觉比 next.js 更重。next.js 又不是只有 SSR 。一个问题是 CRA 已经没有在活跃维护了,继续推荐 CRA 也不是负责任的行为。我个人虽然觉得 vite 很不错,但是事实上 React 支持并不是 vite 开发的优先考虑,这和 next.js 是没法比的

    React.js 由大公司把控实际上是有好处的,但凡有什么升级或者变化,都是在 fb 里面成千上万个 React 组件上实践过的,落地的时候会非常稳。负面的影响就是新特性来得真是慢
    liuxu
        64
    liuxu  
       2023-03-19 16:50:32 +08:00
    当我看完 typescript ,我发现 js 还是那个 js ,一个花样一千种玩法
    roundgis
        65
    roundgis  
       2023-03-19 17:04:27 +08:00 via Android
    @foolishcrab 老舊的技術棧是指哪一些?
    FightPig
        66
    FightPig  
       2023-03-19 17:15:41 +08:00
    有啥可争的,直接用 svelte
    sardina
        67
    sardina  
       2023-03-19 17:56:20 +08:00 via iPhone
    @windyskr 个人站是这样的
    horizon
        68
    horizon  
       2023-03-19 18:00:39 +08:00
    这是往全栈的方向走,别总盯着 SSR
    DICK23
        69
    DICK23  
       2023-03-19 18:05:09 +08:00
    CRA 好死,难用的一笔,随便涉及到一点自定义的东西都得 eject
    xinleibird
        70
    xinleibird  
       2023-03-19 18:27:42 +08:00
    1. CRA 确实又重又臭,确实对于初学者来说有个轻量的开箱即用的脚手架是最好的,现状就是没有,CRA 也肉眼可见的没救,那怎么办?上来就先手把手教 Webpack ? Next 重不重的不谈,就谈它是不是开箱即用吧……😂

    这一点没得洗,**确实需要个轻量的、公认的、可以覆盖基本的特性的能演示代码的脚手架**。

    2. 纯新手的难题不在于那点工具链,新手的难题在于 JavaScript 太稀碎了,碎到到处都是“特性”……能撑到 React 的一定没问题……不会有人上来就折腾 React 吧?

    3. SSR 是 Next 的特点,但是 SSR !== Next 。你关注的点是官方文档开始推荐 Next 做演示代码的“背景”,那 Next 没问题啊,能用就成呗。它重不重的还是不谈,就谈它能不能用吧……😂

    4. 不靠大公司,靠社区驱动?信不信如果它是靠社区驱动的,到今天官方教程还没写完呢……那也就没有什么 OP 的感慨了……这种基础设施或者半基础设施的东西,有大公司愿意抢食的最靠谱,有所谓的非盈利机构主导的凑合用,真是社区驱动得绕着走……
    chenglong233
        71
    chenglong233  
       2023-03-19 18:32:20 +08:00
    react 把自己定义为一个库,而非一个框架,所以他需要别的启动器,官方文档有写: https://react.dev/learn/start-a-new-react-project#can-i-use-react-without-a-framework
    wunonglin
        72
    wunonglin  
       2023-03-19 19:04:51 +08:00   ❤️ 1
    Angular 在未来等你们~
    ragnaroks
        73
    ragnaroks  
       2023-03-19 19:41:07 +08:00
    next 就是 js 的 springboot
    churchill
        74
    churchill  
       2023-03-19 20:17:07 +08:00
    人家不是提供 CodeSandbox 上的入门例子么,环境都不用装,还详细写了怎么导出到本地
    谈不上对新手不友好吧
    很多人都是带着情绪在输出
    shui14
        75
    shui14  
       2023-03-19 20:49:02 +08:00
    @ragnaroks 更像 ror ,但是 next 还是搭配 vercel 毕竟爽,国内目前又没有这样的供应商。那个 docker 部署里面的 OTel 监控有问题
    Whyoo
        76
    Whyoo  
       2023-03-19 20:57:36 +08:00   ❤️ 6
    哈哈哈 站长真她妈傻逼,用这样来 ban 人,垃圾
    shadowfish0
        77
    shadowfish0  
       2023-03-19 21:38:29 +08:00   ❤️ 2
    @Livid #76 这种得 ban 吧
    maomaomao001
        78
    maomaomao001  
       2023-03-19 21:40:24 +08:00   ❤️ 19
    @Livid 这个用户看起来是老用户,看起来是重度使用过 V2EX , 直接彻底 ban 会不会也太严重了 .
    理由:
    1. v2 网站没有一个整体的全站公告之类的系统, 导致, 如果错过了你置顶的 "不要把 AI 生成的内容发送到回复里" 那个主题的话 , 说不定这个用户是真的不知道 ?

    优化建议:
    新增功能
    特别是对于那些可能会导致封禁账号的规则(类似现在的这个),也许考虑在用户发送回复主题之前新增一个确认阅读了规则的功能 ?
    Whyoo
        79
    Whyoo  
       2023-03-19 22:05:39 +08:00   ❤️ 1
    @shadowfish0 为什么? 美国也不是一直被人骂吗? 人家还是总统。 你是不是在大陆脑子呆坏了?
    hisaya
        80
    hisaya  
       2023-03-19 22:38:54 +08:00   ❤️ 11
    @maomaomao001 #78 刑不可知,则威不可测,站长是懂行的.我说了,听没听到你的事了
    adoyle
        81
    adoyle  
       2023-03-19 23:04:56 +08:00   ❤️ 6
    以后不敢随便发言了,指不定哪天违反不知道在哪提过的规则而直接被永久 ban 。
    Whyoo
        82
    Whyoo  
       2023-03-19 23:09:32 +08:00
    @adoyle 我靠不要搞得和文字狱一样好不好,好歹站长也算是生在中国长在美国的高华人。你这样既怀疑社会主义又鄙视资本主义好吗?要说就大胆的说。站长的服务器在 DigitalOcean 的,不怕被查水表
    adoyle
        83
    adoyle  
       2023-03-19 23:14:32 +08:00
    @Whyoo 我怕被站长永久 ban
    hellodigua
        84
    hellodigua  
       2023-03-19 23:22:08 +08:00   ❤️ 4
    78 楼+1 ,这个用户是很老的用户,看历史回复也是很友善的,由于不熟悉规则被永久 ban 是否过于严厉了?

    因为确实如 78 楼的理由 1 所说,很多人可能还不知道这个规则,建议新增 ban 一个月这种轻微惩罚性质的规则
    devtiange
        85
    devtiange  
       2023-03-20 02:11:15 +08:00
    CRA 确实是垃圾.
    0x0x0x0
        86
    0x0x0x0  
       2023-03-20 02:34:55 +08:00
    next.js 的前景现在看是不错的,选择它挺对的,争议可以有但无所谓。
    Livid
        87
    Livid  
    MOD
       2023-03-20 04:31:23 +08:00
    @windyskr 你只是在抬杠。

    Livid
        88
    Livid  
    MOD
       2023-03-20 04:35:53 +08:00   ❤️ 8
    @hellodigua 从 ChatGPT 上线后不久,这条规则就开始执行。在过去几个月,已经 ban 掉几十个使用 AI 回复的账号。

    规则不会因为是否是老用户就变形。

    如果有人用 AI 来回复,我们就会把这样的行为当作是对网站的直接攻击来处理。
    laogui
        90
    laogui  
       2023-03-20 08:22:02 +08:00 via Android
    spa 现在是最重的,随着功能叠加首次打开加载的文件越来越大。国外流行 ssr 是因为 vercel 这种托管平台已经普及了。整体的开发,部署,流量成本比以前 spa 还低。
    dreamramon
        91
    dreamramon  
       2023-03-20 08:23:25 +08:00
    next.js 直接开干,好简单。react 上手对新手太不友好了。
    sechi
        92
    sechi  
       2023-03-20 08:52:45 +08:00
    说句题外话,react 文档里的沙箱环境没办法运行,有出现同样情况的大佬吗?
    galenjiang
        93
    galenjiang  
       2023-03-20 09:03:29 +08:00
    @ChefIsAwesome 我本来打定决心要迁移到原生了,看到了 view transition ,我又回去了😄
    Jtyczc
        94
    Jtyczc  
       2023-03-20 09:56:22 +08:00
    新手问一下 nextjs 和 antd 好像冲突吗?

    我怎么不能引入 antd es 文件夹下的东西
    9ki
        95
    9ki  
       2023-03-20 10:34:45 +08:00
    Facebook: 看我整个大的.

    《 Dan 透露: Facebook 欲将 React 项目交于 Vercel 》
    《 Facebook 将 React 项目交于 Vercel 将会带来什么影响 ?》
    《 Facebook 确认将 React 项目交于 Vercel 》
    《 Javascript 重回服务器端编程领域》

    --------------
    PS: 上面是玩梗
    yxcoder
        96
    yxcoder  
       2023-03-20 10:49:23 +08:00
    事物的发展是循环上升的,现在的服务端渲染和以前的服务端渲染能是一回事儿吗?
    过去使用前端渲染是因为服务端渲染需要拼模版,对开发人员极不友好,而且效率很低,可复用性很差,导致前端一直处于低效率的开发中。为了改变这种情况,前端发展出了前端渲染的框架,以及配套的服务端执行环境 nodejs 。又经过一段时间发展,前端发现这一套逻辑也可以适用于服务端渲染,并且在某些方面有更好的表现,于是发展出了 nextjs 等。换个角度,如果后台能早点发展出这套逻辑与框架,前端也没必要绕这么大一个圈子
    9ki
        97
    9ki  
       2023-03-20 10:54:57 +08:00
    @yxcoder #96 你是想说 '事物的发展是呈螺旋上升的' 吧
    Qiulin
        98
    Qiulin  
       2023-03-20 11:09:05 +08:00
    @yodhcn 同意,前端这个工种相较于后端发展时间毕竟短些,后端趟过的坑,前端肯定也会趟一遍,发展的大趋势肯定也差不多
    maomaomao001
        99
    maomaomao001  
       2023-03-20 11:13:18 +08:00   ❤️ 34
    @Livid 我这是第一次看到有人因为这个被 ban , 正如我说的那样, 你回复的那三个帖子早就沉到海底去了, 但是 GPT 现在这么火, 如果有人好久没登录 ( 1 ,2 个月 , 半年) , 然后再来用 v2 的话, 很容易导致自己用封啊 ,


    规则不会因为是否是老用户就变形...

    1. 这个人没有骂人 , 看起来也没有什么恶意的历史回复
    2. 我认为这个本身就是网站没做好一个类似全局的公告系统 , 你(你们 mod 团队)以为以前讨论过很多 (甚至三个主题) , 但是,不是天天来,或者各种原因错过的人来说, 这三个主题 = 不存在 (没看到, 或者当时不感兴趣之类的)

    更甚至,
    你可以现在看一下网站规则
    无论是
    https://www.v2ex.com/about

    https://imgur.com/zxjoW7P

    还是
    https://www.v2ex.com/help/assertive

    https://imgur.com/X0jwcKL

    都没有任何关于 chatgpt 的相关规则...


    最简单的
    你们搞一个在 回复框里的简单提醒都比那些强很多....
    https://imgur.com/undefined

    最后
    这网站本来就是几个管理员管理的, 如果这么几个人管理都能搞到这么僵化,
    不区分正常的老用户和新注册的 spam 之间的差异
    不区分骂人辱骂,和其他类型的问题 ,
    还抱着这样, 啊 ,你看我们多么公正, 不管老用户新用户, 都一样封的理念 , 我认为是不太对的 .
    如果有必要,你们可以做个投票之类的, 有多少用户支持这样用封一个相对正常的用户. (每减少一个正常用户,很可能会多出来 10 个不正常用户污染列表 ... )
    maomaomao001
        100
    maomaomao001  
       2023-03-20 11:15:20 +08:00   ❤️ 1
    @maomaomao001 最后一个图 [最简单的解决方案] https://imgur.com/tU2EOPl
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2623 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 15:26 · PVG 23:26 · LAX 07:26 · JFK 10:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.