SolidJS 的 SSR 框架 SolidStart 可以在公司项目使用吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
Akay47
V2EX    程序员

SolidJS 的 SSR 框架 SolidStart 可以在公司项目使用吗?

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

    在此之前都是用NextJSNuxtJS作为服务端渲染项目的前端开发框架

    NextJS概念较多,需要区分在什么场景下使用ssrssg以及csr

    NuxtJS则有点“重”,内置了很多的功能,以及需要遵守一些约定,前期需要花时间熟悉,但熟悉之后可以大大提高开发者的效率

    现在我想尝试一下SolidStart,但鉴于这个框架发布的时间不是很长,以及没有相关开发者的使用参考,不知道是否可以真正在项目中使用

    18 条回复    2025-09-10 11:42:28 +08:00
    subframe75361
        1
    subframe75361  
       168 天前 via Android
    据说正在重构底层。原本他们用 nitro 包了一个 vinxi ,tanstack start 也用的这个。现在 vite v6 的 environment api 解决了大部分 vinxi 解决的问题,于是开始去 vinxi 了。tanstack start 比较活跃,支持 react 和 solid ,已经完成了; solidstart 就比较慢了,作者本身还在搞 solid v2
    CHTuring
        2
    CHTuring  
       168 天前
    @subframe75361 #1 目前为止 TanStack Start 还没去掉 vinxi 吧?
    songray
        3
    songray  
       168 天前
    建议不要趟这个浑水,全是些不稳定的东西,独立开发者用用不一定会踩到 corner case ,上生产就不一样了。

    而且我对国内上 SSR 的收益是怀疑的,因为不管是 Next 还是 Nuxt ,性能都差的一笔... 同样的并发量需要的配置比后端服务还多。

    我建议 OP 可以把前端拆分一下,需要 SSR 的场景改为用 SSG ,编译出插槽模板,起一个简单的 node 服务,返回之前对插槽做字符串替换就行了。
    pakholeung372
        5
    pakholeung372  
       168 天前
    不适合上生产,没有大型的项目背书,我自己整过,各种问题不断。
    shunia
        6
    shunia  
       168 天前
    solid 全链条没有稳定值得上生产的产品,我对我这句话负责。
    jesse9527
        7
    jesse9527  
       168 天前
    @songray "起一个简单的 node 服务,返回之前对插槽做字符串替换就行了。" 这种在有用户认证的情况下不好做哇?比如千人千面的 UI 就还是得 SSR 或者客户端 ajax, 需要用到 cookie.
    gorvey
        8
    gorvey  
       168 天前
    @songray #3 不是,自己起个简单的 node 就能上生产环境了吗
    songray
        9
    songray  
       168 天前
    @jesse9527 恰恰相反啊,这样才能做认证。
    前端编译出模板,然后要么后端直接用模板引擎做替换,要么起一个 node 做 BFF 去替换,不管怎么样认证都是通过后端服务直接完成的。

    反而是 SSR 的话不好做,因为你得 All in SSR ,让 Next/Nuxt 接入后端的鉴权服务。或者把 SSR 当 BFF 做,但是这样会拉低整个服务的并发能力。

    还有千人千面的 UI 也不是通过 SSR 完成的... 我不知道国外是什么样,国内对前端来说,就只是 App/H5 的活动卡片不一样,点击之后跳另一个 H5 而已,至于展示什么活动卡片和 H5 ,也是后端根据大数据决定的。这方面你直接看抖音和拼多多就行了。
    songray
        10
    songray  
       168 天前
    @gorvey BFF 都多少年的东西了... 稳定性比 SSR 好太多了
    jesse9527
        11
    jesse9527  
       168 天前
    @songray 那感觉涉及到认证的还是麻烦,不管是 Next SSR 或者 Node 做 BFF 然后接入认证。
    一般来说纯后端他只管数据库的接口,模板渲染、BFF 这里的鉴权都需要前端自己搞。
    songray
        12
    songray  
       168 天前
    @jesse9527 所以我说国内根本不玩这套东西( SSR ),也就是独立开发者搞搞。
    国内互联网公司全是 App/小程序引擎/H5 连环套,中大厂可能接个 BFF 做特殊处理,但大多数就是客户端渲染 h5 。

    研究这玩意没啥意义,面试都不问的
    songray
        13
    songray  
       168 天前
    我再提一点,就是浏览器插件导致的水合问题,这玩意现在没有,未来也不可能有解决方案。
    jesse9527
        14
    jesse9527  
       168 天前
    @songray 确实,只有大点的公司才搞这些,小公司都是 csr
    june4
        15
    june4  
       168 天前
    我写了几年 solidjs webapp ,总体非常满意,不过对 ssr 看都不看一眼。除了以内容为中心的应用,一般的 app 我想不通上 ssr 的必要性在哪,复杂性上升性能下降。

    而且象楼上所说的,solid 基本功能很稳,但复杂的东西可能有坑。之前 Suspense 好几年都有问题我从来不用,虽然现在表面看似乎修好了。router 有个问题,我现在 2 年了都还没升最新版,因为一升就出问题但找不出问题所在,我想搞个最小化复现提 bug 都没搞出来。
    accelerator1
        16
    accelerator1  
       168 天前
    同意上面的说法,SSR 所带来的收益与付出成本不成正比。
    比如认证部分,你只能使用基于 cookie 的认证方案,才能保证 C/S 两端的状态一致。
    然后视图渲染部分,nodejs 下性能就是很差,没办法,各种缓存方案都是治标不治本,而且还要额外处理缓存问题。
    我也就新项目尝尝鲜,并发上不去导致客户吐槽多的话,马上切回 CSR 。
    suyuyu
        17
    suyuyu  
       167 天前
    建议不要没事找事
    Jesmora
        18
    Jesmora  
       84 天前
    solidjs 可以上生产,solidstart 不建议
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4005 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 55ms UTC 04:10 PVG 12:10 LAX 20:10 JFK 23:10
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86