maymay5
V2EX  ›  .NET

我想重构我这个项目的前端,有什么好的建议?

  •  
  •   maymay5 · Jun 6, 2024 · 7425 views
    This topic created in 881 days ago, the information mentioned may be changed or developed.

    项目地址: https://github.com/MayDay-wpf/AIBotPublic

    当前用的技术栈

    • .net6
    • sqlserver
    • bootstrap4

    整理了我的代码后发现,我虽然用了 MVC 但是 view 这一层我完全没有使用 razor ,而是用 jquery 纯手搓 dom 字符串,这也许对于重构前端会有一定帮助

    但是现在有点选择困难,前端框架太多了,我既想轻量,又想组件丰富,还想拓展能力强,各位大佬们有什么建议?

    56 replies  •  2024-10-02 20:26:42 +08:00
    HaroldFinchNYC
    HaroldFinchNYC
    Jun 6, 2024❤️3
    1
    作为一个资深前端,我的意见如下:

    1. 又不是不能用,个人认为完全没必要重新搞
    2. 如果你实在想自己折腾,建议 react
    wujianhua22
    wujianhua22
    Jun 6, 2024❤️1
    2
    我们一般重构是有以下几方面的考虑:
    1 、性能问题,积重难返无法提高。
    2 、产品交互逻辑或者功能模块需要重换风格。
    3 、老板要改。
    yiranyibaozha
    yiranyibaozha
    Jun 6, 2024❤️3
    3
    作为一个资深前端,我的意见如下:

    1. 又不是不能用,个人认为完全没必要重新搞
    2. 如果你实在想自己折腾,建议 vue
    xuanbg
    xuanbg
    Jun 6, 2024
    4
    我们重构一般就是我实在做不下去/看不下去了……
    yunlongV
    yunlongV
    Jun 6, 2024❤️1
    5
    作为一个资深前端,我的意见如下:

    1. 又不是不能用,个人认为完全没必要重新搞
    2. 如果你实在想自己折腾,建议 vue 或者 react
    lancelock
    lancelock
    Jun 6, 2024
    6
    前端框架虽多,但不一定适配你这种项目结构
    carity
    carity
    Jun 6, 2024❤️3
    7
    作为一个资深.NET ,我的意见如下:

    1. 又不是不能用,个人认为完全没必要重新搞
    2. 如果你实在想自己折腾,建议 Angular 或者 React ,以.NET 后端角度出发 Angular 更容易上手
    taozhiw
    taozhiw
    Jun 6, 2024
    8
    如果不想重构整个项目,只是想引入一个库,用比 jQuery 更优雅的方式来继续糊代码,可以使用下面的库:

    https://github.com/preactjs/preact
    https://github.com/vuejs/petite-vue

    侵入性很小,想改哪里就改哪里
    jenhe
    jenhe
    Jun 6, 2024❤️1
    9
    作为一个菜鸡前端,我的意见如下:

    1. 又不是不能用,个人认为完全没必要重新搞
    2. 如果你实在想自己折腾,建议 angular
    zzzlight
    zzzlight
    Jun 6, 2024
    10
    作为一个兼职前端,我的意见如下:

    1. 又不是不能用
    shakaraka
    shakaraka
    Jun 6, 2024
    11
    作为一个 7 年全栈,我的意见如下:

    1. 又不是不能用,个人认为完全没必要重新搞
    2. 如果你实在想自己折腾,建议 angular v18+
    jwj
    jwj
    Jun 6, 2024
    12
    建议不要重构
    luzemin
    luzemin
    Jun 6, 2024❤️1
    13
    作为一个坐在前端对面的后端,我的意见如下:

    1. 又不是不能用,个人认为完全没必要重新搞
    2. 如果你实在想自己折腾,建议再读一遍 1
    maymay5
    maymay5
    OP
    Jun 6, 2024
    14
    @HaroldFinchNYC
    @wujianhua22
    @yiranyibaozha
    @xuanbg
    @yunlongV
    @lancelock
    @carity
    @taozhiw
    @jenhe
    @zzzlight
    @wunonglin
    @jwj
    为什么大家都不建议重构?其实我想重构的原因也比较简单,因为用 jquery 糊出来的实在太不优雅,总给我一种很 low 的感觉,而且现在用 jquery 一直没找到一个很好的 [菜单无刷切换] 解决方案...
    nzbin
    nzbin
    Jun 6, 2024
    15
    重构吧,.NET + Angular 绝配
    hanaTsuk1
    hanaTsuk1
    Jun 6, 2024❤️1
    16
    重构只是满足你自己的需求,实际上用户并不会感知到
    把重构的时间花在写更多功能、更好的交互上,等到这个项目有足够的价值和庞大到难以维护再来考虑重构
    spacebound
    spacebound
    Jun 6, 2024
    17
    作为一个资深后端,我的意见如下:

    1. 又不是不能用,个人认为完全没必要重新搞
    2. 如果你实在想自己折腾,换个页面和交互方式,看起来“高大上””现代“一点,那就用 vue 或 react
    66beta
    66beta
    Jun 6, 2024
    18
    作为一个资深前端,我的意见如下:

    1. 又不是不能用,个人认为完全没必要重新搞
    2. 如果你实在想自己折腾,建议 nextjs + MUI
    hakr
    hakr
    Jun 6, 2024
    19
    作为一个资深后端,我的意见如下:

    1. 又不是不能用,个人认为完全没必要重新搞
    2. 如果你闲的没事想折腾,建议 nuxt.js
    lvajax
    lvajax
    Jun 6, 2024
    20
    guguji5
    guguji5
    Jun 6, 2024
    21
    作为一个资深前端,我的意见如下:

    1. 又不是不能用,个人认为完全没必要重新搞
    2. 如果你非得给自己添堵,建议 react
    zzzlight
    zzzlight
    Jun 6, 2024
    22
    @maymay5 因为你会发现技术是为了产品服务,我这用户用的多的东西都是屎山,用户感知不到你代码咋样,但是你产品功能咋样,好不好用,用户很明显感觉得到。不要小看技术,但更不要高看技术,技术是用了生产东西的,重要的是东西
    zzzlight
    zzzlight
    Jun 6, 2024❤️1
    23
    一个玩意里面用了老中青三代的写法,我只能说感恩向下兼容,这种玩意因为用户够多,我们想直接砍了这东西都不允许,大家都知道他是屎山,但是屎山有人用就是好代码。不然优美的代码就自己一个人看,都没人用,那完全没有意义。
    jwj
    jwj
    Jun 6, 2024
    24
    重构好了,没人夸你。重构出问题了,出 BUG 了,那就,嘿嘿
    AV1
    AV1
    Jun 6, 2024
    25
    @maymay5
    https://cn.vuejs.org/guide/quick-start.html#using-vue-from-cdn
    直接用 script 方式用 vue 吧。
    像 jquery 一样轻量,一个 js 文件就能做东西,又不用折腾什么 npm build 构建工具。
    byqtxdy07
    byqtxdy07
    Jun 6, 2024
    26
    作为一个菜鸟 Java ,我的意见如下:

    1. 又不是不能用,个人认为完全没必要重新搞
    Eissen
    Eissen
    Jun 6, 2024
    27
    作为一个 6 年全栈,我的意见如下:

    1. 又不是不能用,个人认为完全没必要重新搞
    2. 如果你实在想自己折腾,建议 nest 或者 nuxt
    ixwen
    ixwen
    Jun 6, 2024
    28
    未登录时首页一闪而过的功能页
    flytsuki
    flytsuki
    Jun 6, 2024
    29
    作为一个 7 年 dotnet 全栈,我的意见如下:

    1. 又不是不能用,个人认为完全没必要重新搞
    2. 如果你实在想自己折腾,建议直接引入 vue.js
    qfdk
    qfdk
    PRO
    Jun 6, 2024 via Android
    30
    @ixwen #28 后端验证登录了再放行..... 目测这个是前端访问/users 看看有没有登录,这里加个全页面 loading 呗
    sunmker
    sunmker
    Jun 6, 2024
    31
    NET 和 Angular 这么配的吗?有什么说法吗?
    hahawode
    hahawode
    Jun 6, 2024
    32
    @sunmker #31 同问 朋友欧洲项目组也是这个技术栈
    version
    version
    Jun 6, 2024
    33
    完全没必要..现在 jquery 的页面都比大部分 vue react 的还流畅..我现在打开很多别人炫酷的博客.我的小主机 6600h 风扇就会狂转.看一会就赶紧关.说白了.还不如极简 html 风格.
    suyuyu
    suyuyu
    Jun 6, 2024
    34
    作为一个菜鸡前端,我的意见如下:

    1. 又不是不能用,个人认为完全没必要重新搞
    2. 如果你实在想自己折腾,建议 solidjs
    maymay5
    maymay5
    OP
    Jun 6, 2024
    35
    @qfdk 其实不是,是踩到了一个异常处理,因为我页面加载时会进行模型列表加载,模型列表获取是需要鉴权的,所以没登录会被拦截,就会走 error ,因为这个 error 的出现只有可能是没登录,所以重定向回登录了,模型列表需要鉴权是因为模型列表有自定义排序,这是跟着用户设置走的
    YVAN7123
    YVAN7123
    Jun 6, 2024
    36
    作为一个资深前端,我的意见如下:

    1. 又不是不能用,个人认为完全没必要重新搞
    2. 如果你实在想自己折腾,建议 ts +vue
    qfdk
    qfdk
    PRO
    Jun 6, 2024
    37
    @maymay5 #35 因为都是业务逻辑页面是要验证(我上面提到/user 也是类似这个意思要验证下权限 是不是 role:admin 这样),没验证过去 401 了才会重定向... 这里只是按道理. 不过有人看到了,你这个可以考虑 F12 把网络那里打上 slow 3G 测测咯.
    shakaraka
    shakaraka
    Jun 6, 2024❤️4
    38
    @hahawode #32
    @sunmker #31

    因为和 react 、vue 相比,Angular 是一个完整的工程化的 Web 框架,官方提供了一系列的解决方案可直接开箱使用,并且是强 OOP 形式,与 NET 、Java Spring 的开发逻辑、思维类似。
    shakaraka
    shakaraka
    Jun 6, 2024
    39
    虽然 angular 目前也在转型函数化,但也不妨碍他是一个完整工程化的 Web 框架
    zclzone
    zclzone
    Jun 6, 2024
    40
    作为一个资深开源项目作者,我的意见如下:

    1. 建议你不要听别人的建议
    2. 也建议你不要听我的建议
    Yjhenan
    Yjhenan
    Jun 6, 2024
    41
    作为一个 Web 前端,我的意见如下:

    1. 又不是不能用,个人认为完全没必要重新搞
    2. 如果你实在想自己折腾,建议 WebComponent
    dartabe
    dartabe
    Jun 6, 2024❤️1
    42
    @sunmker 我个人感觉就是两者都用了不少依赖注入 其实 React 一样的
    还有可能是 Angular 比 React 要多些部件 什么状态管理库都是包含在内的 所以银行什么的用的比较多 比较稳一些
    dartabe
    dartabe
    Jun 6, 2024
    43
    *其实 .Net + React 一样好用
    abc1310054026
    abc1310054026
    Jun 6, 2024
    44
    简单搂了一眼目录结构,Angular 的面向对象写法应该更适合你。vue/react 现在都是在推 hooks 写法。
    aliyun2017
    aliyun2017
    Jun 6, 2024
    45
    作为 ai:

    我建议让你的 ai 自己学会重构自己的页面,自己都不能调教自己 弹劾帮助帮别人
    ddplayer
    ddplayer
    Jun 6, 2024
    46
    又不是不能用……

    如果你非要搞
    后台管理系统可以用 ant design pro
    如果替代 jquery:htmx
    liuliancao
    liuliancao
    Jun 6, 2024
    47
    重新新建一个项目 然后参考别的框架改改 感觉不错
    Jack66
    Jack66
    Jun 7, 2024
    48
    重构本身会带很多工作,没有公司需求的情况,最好不要
    coollest
    coollest
    Jun 7, 2024
    49
    作为一个菜鸡前端:
    coollest
    coollest
    Jun 7, 2024
    50
    @coollest 我觉得上边说的对
    myderr
    myderr
    Jun 7, 2024
    51
    如果你想学技术,可以尝试 blazor ,可以使用这个组件 https://www.blazor.zone/
    maymay5
    maymay5
    OP
    Jun 7, 2024
    52
    @myderr 这个不错
    gankT
    gankT
    Jun 7, 2024
    53
    作为一个资深代码猿,我的意见如下:

    1. 又不是不能用,能用就行
    epiloguess
    epiloguess
    Jun 7, 2024
    54
    可以用微前端来渐进式重构
    bunny189
    bunny189
    Sep 16, 2024 via iPhone
    55
    作为一个资深菜鸡,我的意见如下:
    1.多摸鱼,活得久
    forgottencoast
    forgottencoast
    Oct 2, 2024
    56
    @maymay5 14#
    试试 htmx ?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2872 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 113ms · UTC 10:52 · PVG 18:52 · LAX 02:52 · JFK 05:52
    ♥ Do have faith in what you're doing.