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

求助,用 vue 还是 react?

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

    我们有个小团队(主要都是计算机在读研究生)想做一个知识管理相关的网页,中间会用到很多图相关的操作(展示分析,以及后面的编辑等)。但是大家都比较缺乏前端的经验(有基本的代码能力)。 在图相关的操作里看上了 antv (特别是 G6 ,X6 )都比较符合我们需求,但是从 vue3 (本来计划 nuxt3 )来使用似乎比较麻烦?所以我们应该换 react 作为前端框架吗? 或者说有比较方便的其他图数据可视化的前端库吗?( echart ,d3 都不太符合需求,过于繁琐了) 求指导

    第 1 条附言  ·  347 天前
    感谢大家的回复~
    我们目前处于目标比较明确,但是整体都比较缺乏前端经验不会规划前端项目的尴尬阶段(但是 UX 和 UI 显然是很重要的一部分)。除前端以为,我们自己对后端,图数据库,数据挖掘,NLP 以及 AIGC 等都比较熟悉,不太怕踩坑(没有心智负担)
    早上又进一步尝试了下,现在在 NUXT3 里面测试 antvG6 已经 ok 了,昨晚卡在一个很傻的引用和 ssr 问题上(每个版本写法都不太一样,自己 debug 又菜),搞得自己有点怀疑人生。所以进一步更新一下问题背景

    目标需求:对节点图(图数据库里的)的展示和操作,稍后如果顺利的话可能会上编辑相关的功能。
    目前进展:目前主要看过 echart ,d3 ,antv ,graphvis ,datav ,highchart 这些,感觉可能做的对好的还是蚂蚁蚂蚁金服的 antv ,确实非常厉害,特别是其中的 G6&Graphin ,X6&XFlow 基本能覆盖我们的很大部分前端图可视化需求。本来想用 vue3 ( nuxt3 ),但是 antv 、antd 感觉都对 react 支持更好(比如说直接给了 Graphin 、XFlow 甚至可以直接用不必再次封装)

    主要疑问:
    1 ,感觉既然已经有了 G6&Graphin ,X6&XFlow 我们再在 Vue3 里面去封装 G6 、X6 是不是完全属于重复造轮子了(而且这个轮子还有点大,我们怕是造不出来),那么直接换 react 是不是更明智一些?( vue 和 react 都是入门,当然常规的那些本来也很好写)
    2 ,有和 antV 或者 antV G 系列类似的图形化库吗?(以往大厂的出品国内国外似乎都会有不同的)求推荐~会都去简单调查下
    3 ,是不是需要找个在大厂工作的学长请教一下会比较有帮助?总是有点安心不下(盲人走路感太重)
    76 条回复    2023-10-28 13:47:02 +08:00
    LLaMA
        1
    LLaMA  
       347 天前   ❤️ 18
    无脑 react ,vue 的坑是真的多
    maigebaoer
        2
    maigebaoer  
       347 天前 via Android
    如果是企业的话,团队熟悉哪个用哪个
    gilgameshcc
        3
    gilgameshcc  
    OP
       347 天前
    @maigebaoer 只能算是学校里面的同好团队啦
    rimworld
        4
    rimworld  
       347 天前
    你说 echarts 不适合的原因只是因为比较繁琐,而不是做不到吗?
    我没用过 antv ( g6 ,x6 ),我刚才去瞄了一眼,感觉跟 echarts 用法差不多啊。关于搭配 react 还是 vue ,他们文档就写着“ React 中使用 G6 如果你想在 React 中使用 G6 ,可以参考我们提供了的 React 中使用 G6 的 Demo 。更多关于 React 中如何使用 G6 ,请参考 React 中使用 G6 的文档。有任何问题都可以通过页面底部的钉钉交流群和我们沟通,也非常欢迎给我们提 issues 或 PR: https://github.com/antvis/g6/tree/master 。"
    应该官方就推荐结合 react 使用。但其实我看示例代码,vue 写起来也可以。 还是看你们团队的技术栈吧,说不定有人已经掌握了一个框架了?
    huijiewei
        5
    huijiewei  
       347 天前   ❤️ 2
    react 吧,理解以后行云流水
    gilgameshcc
        6
    gilgameshcc  
    OP
       347 天前
    @rimworld 感谢回复。大家平常都很少写前端(后端和算法还好),现在处于一个尴尬的初学状态( vue 和 react 都稍微会一点那种)。主要是我们需要的功能比较多(比如反馈,交互等) echart 主要提供了基本视图层,感觉想写过去就会很繁琐(相当于把 antv G6 之类的工作又做了一遍,而且显然我们没有人家的水平)
    rimworld
        7
    rimworld  
       347 天前
    @gilgameshcc 那就 react 吧,我看 g6 的官方示例代码,都是 react 。
    fd9xr
        8
    fd9xr  
       347 天前 via iPhone
    echart 文档很糟糕 能不用就还是算了 很多坑文档里没有
    StevenRCE0
        9
    StevenRCE0  
       347 天前 via Android
    推荐 r ,但其实这两个大差不差,还越来越相像了,转换起来没啥难度
    Aloento
        10
    Aloento  
       347 天前
    无脑 react ( react vue angular 我都会)
    IvanLi127
        11
    IvanLi127  
       347 天前 via Android
    这个需求推荐 react
    FightPig
        12
    FightPig  
       347 天前   ❤️ 2
    我 2023 选了 svelte
    LLaMA
        13
    LLaMA  
       347 天前   ❤️ 3
    @FightPig 你这话说出来一看就是根本没用过 svelte 的云用户,能不能不要为了用新技术而用新技术,这需求用 svelte 写麻烦得要死
    irytu
        14
    irytu  
       347 天前 via Android
    这么多人嫌弃 vue 吗,虽然我也不用😂
    no13bus
        15
    no13bus  
       347 天前
    react 搭配 nextjs
    dcsuibian
        16
    dcsuibian  
       347 天前
    建议去调研一下其它同学或其它实验室的现有项目,如果是工作我肯定推荐上 react ,但据我所知高校里用 vue 的非常多
    FightPig
        17
    FightPig  
       347 天前
    @benrezzagmehamed 我今年一直用的 svelte ,怎么在你这成云了?
    milukun
        18
    milukun  
       347 天前
    各位现在用 React 是跟什么搭配使用的?(有没有什么提高开发速度的
    emric
        19
    emric  
       347 天前
    我用 react ,我司用 react 。
    如果大部分人是前端新手,我推荐用 vue ,特别是之前用 vue 的情况。
    zxhy
        20
    zxhy  
       347 天前
    如果是 antv 系列的话,推荐 react 吧。不过我更感兴趣你们想做的东西,不知道到时候可否分享一个链接或者截图
    Mutoo
        21
    Mutoo  
       347 天前
    对比一下 state of js 2022 里面 react 的 vue 的曲线。你会有想法的。
    https://2022.stateofjs.com/en-US/libraries/
    putaozhenhaochi
        22
    putaozhenhaochi  
       347 天前 via Android
    后端当然用 angular 。
    kinghly
        23
    kinghly  
       347 天前 via Android
    问就是 react 。
    debuggerx
        24
    debuggerx  
       347 天前 via Android
    计算机在读研究生,那肯定是 react 啊,一来你们语言肯定是过关的,vue 的中文优势就基本无了,再来以后你们接触国外项目的机会比一般人多得多,vue 在国外还是差 react 一截的
    makelove
        25
    makelove  
       347 天前   ❤️ 1
    建议用 reactive 类框架,比如 vue/solidjs/svelte, react 这种有点落后原始,开发体验并不好
    我用的是 solidjs
    BugCry
        26
    BugCry  
       347 天前 via Android
    后端转前端当然 react
    只有抱着 html, css 思想放不下的,才会通过 Vue 转型
    neutrino
        27
    neutrino  
       347 天前 via Android
    @Mutoo 看上去应该学习 webpack
    wangxiaoaer
        28
    wangxiaoaer  
       347 天前 via iPhone
    要不考虑下用 ng ? 这么多年过去了我从 ng 黑变成了 ng 迷弟。react 那裹脚布一般的 redux 不知道还在吗?另外,vue 也挺好,很多 api 、设计站在开发的角度很自然,没有额外的负担。
    shui14
        29
    shui14  
       347 天前
    nextjs 吧,就当框架来用,老外的文档要好很多,讲的清楚化繁为简,比自己找博客嚼二手资料要轻快,主要是简中技术群体特别喜欢造概念

    既然你们侧重数据分析,为什么不考虑 uber 的技术栈,并非说 antv 不好,只是点一下 https://www.uber.com/blog/engineering/data/

    uber atg 在这方面当作参考借鉴都是非常优秀的
    特别是现在流行的车载 /gis/医学 /自动机器人 /空间数据分析等,它是渐进式的,和主流技术栈 webgl 共享上下文,因此和 cesium/mapbox/r3f 等等可以无缝整合。而且马上 webGPU 也要发正式版,桌面 numpy 等那些都很方便整合。

    https://avs.auto/#/
    https://kepler.gl/
    还有个哈佛医学院的项目你自己找一下,我忘记链接了
    ciming
        30
    ciming  
       347 天前
    https://medium.com/notonlycss/google-apple-and-other-users-of-vue-js-e4505359e5d5
    去搜了下,用 vue 的大公司也不少,另外维基百科也用 vue 重写了
    duke807
        31
    duke807  
       347 天前 via Android
    不用 vanilla-js.com 的话,过多几年大概率会后悔
    jiayouzl
        32
    jiayouzl  
       347 天前
    我反正就 vue3,其实我更喜欢 jQuery.
    gilgameshcc
        33
    gilgameshcc  
    OP
       347 天前
    @zxhy 哈哈,是个 AIGC 和知识管理方面的尝试。举个例子:根据你的目标工作为你构建工作流层面的导航,并且在过程之持续帮你按需加载知识(从公允加载到大脑)。感兴趣的话可以来给我们作指导~我们本身在 AIGC 和知识、行为领域还是不错的。
    gilgameshcc
        34
    gilgameshcc  
    OP
       347 天前
    @shui14 感谢建议~我们自身对于后端、图数据库、相关的 NLP 和 AIGC ( LLM )都是比较熟悉的,主要是没前端方面的经验(导致没有前端方面项目的规划能力,很纠结选型,怕给自己埋坑)。而且毕竟工程能力有限,所以就想在开始之前尽可能多的调研下相关的库或者组件,尽可能站在巨人的肩膀上。接下来会照着 github 里面 visualization 方面的仓库过一遍看看那些比较合适。
    NX2023
        35
    NX2023  
       347 天前
    @BugCry 同后端熟了之后想学前端(但是不考虑找工作只是自己写写),周围的人推荐 svelte ,怎么说?
    justin2018
        36
    justin2018  
       347 天前
    投 React

    Vue 总感觉好复杂 不知道为啥

    其实 只要项目交付了 可以挣钱 用哪个框架都可以 一般都用 React😁 偶尔 Vue
    qiumaoyuan
        37
    qiumaoyuan  
       347 天前
    我现在都在用,感觉差不多。
    MaoshuoChen
        38
    MaoshuoChen  
       347 天前
    hh 我是交互设计专业的研究生,也在做 NLP 知识管理和数据分析的毕业设计,antX6 的话官方的示例都是用 react 。我是因为之前学了一点基础前端,感觉 vue 顺手一点。如果是计算机专业的话推荐 react 。
    yolooo
        39
    yolooo  
       347 天前
    联系我吧,抽时间给你们说说
    gilgameshcc
        40
    gilgameshcc  
    OP
       347 天前
    @yolooo 感谢感谢!有联系方式吗?急求哈哈~
    gilgameshcc
        41
    gilgameshcc  
    OP
       347 天前
    @MaoshuoChen hi~我也是之前简单用过 vue ,挺喜欢,所以才纠结起来了
    likeme
        42
    likeme  
       347 天前
    看了此帖有点怀疑人生,vue 就那么差嘛。。写过一年的 vue 。。
    dreamerblue
        43
    dreamerblue  
       347 天前
    好几个说无脑选 react 的,这么不负责任的发言,是来提供帮助的还是坑别人的?建议 op 遇到这种楼层直接无视。
    yunyuyuan
        44
    yunyuyuan  
       347 天前   ❤️ 1
    既然缺乏经验,我建议 angular ,angular 有 ngx-echarts 可以用。
    很多人觉得用 react 代表灵活优雅,代表简洁即牛逼,但其中又有几个人能不把 react 项目写成屎山呢。
    h2ero
        45
    h2ero  
       347 天前
    react 用了不会后悔
    zhiyu1998
        46
    zhiyu1998  
       347 天前
    @yunyuyuan 我感觉你这个回复更逆天,你看看标题
    2218675712
        47
    2218675712  
       347 天前
    推荐 echarts ,文档很标准,遇到什么问题搜 以下教程也比较多
    antv 项目中也用过,一些定制功能实在是不好魔改
    Huelse
        48
    Huelse  
       347 天前   ❤️ 3
    你在 v2 问肯定大多推 react ,事实上 react 比 vue 的入门要求高很多,起码得有个懂的人带才不至于将 react 项目堆成屎山。如果前端框架不是你们注重的重点建议选个上手简单的开始,那些注重展示的内容更多是在 echarts, d3 等上花费时间,切记要有轻重分配,不能无脑上。
    JiaZombie
        49
    JiaZombie  
       347 天前   ❤️ 1
    别的不清楚,我只知道中午不知道吃啥的时候,随便点一个吃了也就不饿了,也不会后悔没点另一个.
    dreamerblue
        50
    dreamerblue  
       347 天前   ❤️ 2
    我对图表相关没有什么太多经验,可能无法从相关专业的角度给予建议,只能给一些通用的建议。

    对于入门前端,还没有深入了解的同学,我一概不推荐 react 。除非你的需求命中以下任意一个:
    1. 需要用的第三方库没有 vue 版本或原生 JS 版本,只提供 react 版本,而且没有其他同类替代方案
    2. FP 爱好者、FP 原教旨主义者、Dan 的 nc 粉
    3. 团队当前 react 技术栈已有较成熟的基建积累
    4. 需要借助 react 实现 KPI

    如果你没有命中以上,那自然是好事。大多数需求用任何框架都能做,主流的几大框架都能做的很好。但我会更推荐优先考虑 vue/ng ,你会获得几大额外优势:
    1. 基础生态更完备。不要高估社区生态的质量(典型反面教材:react-router ),官方全家桶如果能包揽,可以大幅减少被社区库坑的挫败感和频繁调研选型的困扰
    2. OOP 比 react 的 FP 更普适,更符合直觉,尤其在项目复杂度膨胀后 OO 的优势更明显

    如果要扯详细的对比那就太长了,而且对初学者并不友好。我推荐的标准就是,在功能都差不多的前提下,面向工业界的解决方案永远优先于偏学术和研究向的方案(点名 react ,不要对一些不为软件工业负责的哲学家们抱有幻想),工具是用来解决问题的。

    以上仅供参考,也是对一句话推荐风气的一点反击。你永远不知道那些人到底是资深专家,还是多年固化在某个技术栈慢慢形成偏见的老前端呢?
    yolooo
        51
    yolooo  
       347 天前
    @gilgameshcc #41 你留个 base64 vx 我,我加你
    yolooo
        52
    yolooo  
       347 天前
    @zhiyu1998 #46 什么年代了,还 augular 啊
    yunyuyuan
        53
    yunyuyuan  
       347 天前   ❤️ 1
    @zhiyu1998 #46 OP 对前端不熟悉,所以既不推荐 react 也不推荐 vue3 ,推荐 angular
    neutrino
        54
    neutrino  
       347 天前 via Android
    @yunyuyuan 要不试试 vue2 ,更高理解一些
    eroko
        55
    eroko  
       347 天前
    说实话我更喜欢 vue ,毕竟官方给出最佳实践了也不怕跑路
    BugCry
        56
    BugCry  
       347 天前 via Android
    @NX2023 周围有人带,优先选他们熟悉的,在 debug 方面能节省大量的时间,过渡阶段可以很顺滑
    等对前端生态了解更加全面以后,再选择重点发展方向也不迟
    gilgameshcc
        57
    gilgameshcc  
    OP
       347 天前
    @yolooo R0lMZ2FtZXNoY2M= ok
    chloerei
        58
    chloerei  
       346 天前
    从顶楼的内容还看不出用 vue 或 react 的必要。

    数据图库一般是比较独立的库,前端框架 vue 或者 react 不是必须。有的库为前端框架做了适配,这样只是在这些前端框架里使用这个图库比较方便,而不是必须。

    数据图库一般的工作方式是由页面或者 API 输出数据,用 JavaScript 调用初始化。这些工作一般的 Web 框架都能实现,你用你们熟悉的语言的 Web 框架就行了,先把最小可行性产品( MVP )做出来。

    至于编辑操作,还不清楚复杂到什么程度。如果只是简单的修改数据,更新页面,可能还用不到前端框架,普通的表单 Ajax 就满足了。当你页面逻辑复杂到不得不用前端框架的时候,那时候就懂得判断选哪个前端框架了。

    另外看楼主没提到,这里推荐一个数据图库 https://www.chartjs.org/ ,我觉得比较简洁美观,不知道是否满足楼主需求。
    ericgui
        59
    ericgui  
       346 天前
    vuejs 最大的问题是,我觉得尤雨溪个人的力量不足以能够和 react 团队相比

    他一个个人开发者就算再牛逼,精力也有限,react 团队的规模和投资有多少?

    当然,他也有团队,但我觉得无论是人数还是精力还是投资,都没法比,更别提创新能力和 reactjs 团队相比,还是差点意思,只能跟着 react 后面追 feature ,但估计是追不上了
    alex8
        60
    alex8  
       346 天前 via iPhone
    看应用场景 不写单页应用 仅在传统网页里面引用 vue 很有优势 react 下一个 babel.js 就 2m 官方都注明了请勿在产品环境中使用
    likunyan
        61
    likunyan  
       346 天前
    2017 用 React 到现在,很爽,Vue 只用过一次,觉得类 PHP 的写法比较适合我。HTML 、CSS 、Javascript 分割的不适合我。
    isSamle
        62
    isSamle  
       346 天前
    还不如找个专门写前端的一起合作
    humbass
        63
    humbass  
       346 天前
    快速做一个产品开箱即用,vue2 是最简单的,我公司一个学习 js 一周,上手 vue2 只需要 半天即可撸代码,最新的版本 vue 2.7 国内很多小团队在使用。

    vue3 显然借鉴了 react v6 的概念,对于新手来说,反而没那么容易上手了,这样对比来说 react 更简单、概念更少。
    luckyx
        64
    luckyx  
       346 天前
    vue 3 现在是真不差, 你想用的 React 写法 Vue 都能满足.
    对于新手来说, react 坑不比 vue 少, 一个 useEffect 都多少坑了
    makelove
        65
    makelove  
       346 天前
    @ericgui 这只是个前端框架,几万行代码的小东西,不是个 OS,完全在一个人的能力覆盖范围内,甚至小核心更有优势,更能保持概念一致性。这不是大团队能发挥优势的地方,另外 react 虽然是 fb 做的,核心框架人数估计也很少。
    knightdf
        66
    knightdf  
       346 天前
    React ,这个最舒服最好理解
    gilgameshcc
        67
    gilgameshcc  
    OP
       346 天前
    @dreamerblue 感谢回复,非常有帮助。我们现在的纠结本质上还是对前端了解太少并且产品本身的需求和设计都在动态迭代中。自身审美实际上是偏向于 vue3 的,而且在实际调研之后发现现在 react 和 vue3 写法已经不再是以前的天差地别了,并且我们需要的库基本都是原生 js 的(虽然 x6 的例子很多用了 react ,)。所以现在问题变成了弱前端能力下 vue 带来的早期便利 vs react ( graphin 和 xflow )带来的已经封装好的组件减少的成本,会详细计算下
    longjiahui
        68
    longjiahui  
       346 天前
    vue3 舒舒服服,方方便便。
    dawen
        69
    dawen  
       345 天前
    Vue 无论是 2 还是 3 都好用,React 不太熟悉
    nzbin
        70
    nzbin  
       345 天前
    @gilgameshcc

    > 我们自身对于后端、图数据库、相关的 NLP 和 AIGC ( LLM )都是比较熟悉的,主要是没前端方面的经验...

    既然对后端比较熟悉,为啥不试试 Angular 呢,工程化高,上手成本低
    abelmakihara
        71
    abelmakihara  
       345 天前
    vue3 无脑上手
    接手过不知道是不是培训班留下来的 vue2 和 react
    不熟悉的后果都是依托 尤其 react
    alleluya
        72
    alleluya  
       345 天前
    @dreamerblue 很同意你对 react 的看法 react 现在越来越给我一种你爱用不用的感觉 我记得看 dan 的文章 总是会提一句 react 是一个库 随便你怎么用, 我们不给出最佳方案 /实践(大致意思) 作为一个普通的搬砖开发 vue/ng 完整的一套解决方案比 react 要方便多了 起码不用上个项目还在 redux 下个项目就 mobx....
    dudubaba
        73
    dudubaba  
       345 天前
    多年 react 选手,react 会堆屎山,vue 不会。但是 react 用起来很灵活,vue 却有些笨重(非设计方面,就是用法上)
    SmiteChow
        74
    SmiteChow  
       345 天前
    需求错误,我通篇看下来,这不就是 jupyter notebook 的代码笔记吗?
    gilgameshcc
        75
    gilgameshcc  
    OP
       343 天前
    @SmiteChow 哈哈,不至于不至于,完全不一样的东西,抽象的说目标的一部分其实类似对人脑的包管理(知识版本管理,按需加载,等等)
    lix7
        76
    lix7  
       168 天前
    后端来问下,为啥大家都推荐 react ,能给一些具体例子吗?
    angular 1.0 、vue 、react 都接触过,感觉 angular 1.0 很重、react 很复杂、状态需要手动 set ; vue 比较轻,做需求也没啥问题。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2851 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 13:54 · PVG 21:54 · LAX 06:54 · JFK 09:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.