前端框架技术选型讨论

2022-10-26 15:39:12 +08:00
 variousdidt

vue 对比 react:

对比 vue2 和 vue3 ,vue3 的组合式 API 无疑是更好的选择,以下优势针对于 vue3 版本而言; react 也仅指使用 create react app 方式构建的项目

  1. 使用 vite 搭建 vue3 项目框架,自带路由管理,sass ,less 支持的很好,yarn 装一下包即可使用,无需多余配置; react 需要手动配置各种 loader
  2. 组合式 API ,逻辑抽离方便,不再受限于生命周期函数; react 也可以做到
  3. vite 使用Rollup打包,速度大幅优于 webpack ,开发体验更好; react 大多使用 webpack ,打包速度一般
  1. vue 不支持 IE11(reactive 使用的是 Proxy ,IE 全系不支持),react 进行相关配置后支持 IE9-IE11
  2. vue TS 支持不够好; react 天生支持
  3. vue2 升级 vue3 有代价,社区相关轮子未必及时适配; react 社区活跃度高,大版本升级更早,适配大概更全

总的来说,react 就是 f(state) = UI ,仅仅是一个 UI 框架,其他的交给开发者自己配置;而 vite 生成的 vue 项目是一个功能更全的脚手架,帮开发者做了很多其他事(比如路由)。

8989 次点击
所在节点    程序员
72 条回复
gdtdpt
2022-10-26 18:15:56 +08:00
ng 的香真是懂的都懂,可惜有点门槛变成小众了,单干我选 react ,团队还是 vue 吧,太自由的东西不能指望人人都懂编程规范,交流起来太累。
walpurgis
2022-10-26 18:18:57 +08:00
2 也可以用组合式 api 和 vite ,不能作为 3 的优势
Ritr
2022-10-26 18:35:51 +08:00
react + vite + ts
Ritr
2022-10-26 18:38:20 +08:00
@gdtdpt ng 确实很好
jones2000
2022-10-26 19:07:19 +08:00
选型前先给出项目预算,否则就是空谈,没有意义。5000 的单子 和 500W 的单子都做一个聊天工具,选型会一样吗
YuTengjing
2022-10-26 19:09:24 +08:00
1. 正经人谁用用 cra ,现在很多人都在用 vite + react 。cra 一直没迁移 vite 怀疑是提前收到消息 webpack 的作者在悄咪咪的搞 turbopack
2. 前端框架就和前端框架比较,cli 就和 cli 比较,cra 要比也是比 vue-cli
3. vue3 的 TS 支持很好
4. 使用 cra 默认已经配置好了很多东西,并不需要改动很多配置,难道 vite 一行配置都不需要了?比配置少,没有框架比得过 parcel
5. 使用路由不就是装一个包几行代码的事吗?
940701122
2022-10-26 19:19:49 +08:00
中后台项目有个关键的点是目前 react 没法完美实现 vue 的 keepAlive
vecZro
2022-10-26 19:26:38 +08:00
@variousdidt vue2.7 支持 组合式 api 啊
LiYechao
2022-10-26 19:31:09 +08:00
@variousdidt vite + react + ts 它不香吗?
signalas1
2022-10-26 23:44:26 +08:00
React React React
YuTengjing
2022-10-26 23:57:26 +08:00
@ccyu220 vue2 升级 vue3 升级代价是很高的,先不论:
1. 语言 js 到 ts
2. vue3 应该没 mixin 吧,vue2 逻辑复用可大量用,这块是重灾区
3. 一个成熟的大型 vue2 项目依赖十几个其它 vue2 库很合理吧,稍微大点公司都有自研的组件库
4. 代码风格官方推荐 composition api ,把旧的组合式 api 组件迁移到 compoaition api 这也是隐形成本,说是隐形是因为没必要立马去做,甚至可以选择不做
14
2022-10-27 00:03:55 +08:00
我最近的选择也是 Vite + React + TS + Vitest
dayeye2006199
2022-10-27 00:35:22 +08:00
选型 =

1. 你团队里大部分人会什么?
2. 我们以后招到的人会不会这个,或者很快学会用这个?
3. 我们能不能快速实现我们现在需要的东西?
4. 我们以后能不能快速实现我们可能需要的东西?

你看,这 4 个问题,哪个和技术有关呢?
MrHyde
2022-10-27 00:55:45 +08:00
你还是老老实实用 react 吧,简单的很
DOLLOR
2022-10-27 01:05:00 +08:00
实在不行就
TS + vanilla + web component
WasteNya
2022-10-27 02:10:02 +08:00
@940701122 有的,react activation ,还很灵活
Aloento
2022-10-27 03:52:25 +08:00
我还是觉得传统 HTML + CSS + ES5 适合你
yechentide
2022-10-27 06:01:46 +08:00
请问楼上大佬们说的 ng 是什么?
zhennann
2022-10-27 06:27:53 +08:00
要想多快好省,用一个 CabloyJS 全栈框架就够了,可以做到:
1 、只需一个项目,既可同时实现“后台管理系统”和“前台应用”;
2 、只需一个项目,既可同时跨端 pc 、mobile 。mobile 端是接近原生体验。
下面以“微信一起点菜”为例:
1 )前台点菜应用: https://test.cabloy.com/?appKey=diancai-h5%3AappDianCaiWechatH5&appIsolate=true
2 )后台商家管理系统: https://test.cabloy.com/
3 )以上两个链接可以分别用 pc 和 mobile 打开。全新交互体验,全新架构设计,试过便知。
SeanWeirdo
2022-10-27 06:57:09 +08:00
@yechentide angular

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/890059

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX