请教一下各位前端大佬关于框架选择的问题(项目转型需要,不引战)。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
aoaione
V2EX    问与答

请教一下各位前端大佬关于框架选择的问题(项目转型需要,不引战)。

  •  
  •   aoaione 2018-03-15 11:23:22 +08:00 3639 次点击
    这是一个创建于 2835 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我司是做企业服务的软件,类似于 saas 产品,以前是用的 extjs,由于不好招人加上效率问题所以想换一个前端框架重构项目,而我司的业务主要集中在表单交互上,这里有一个不同在于,我们的表单是配置出来的,类似于 Visual Studio 在做 windofrom 的时候一种模式,表单是用组件拖出来的,我们只 coding 组件,以及提供组件的关联代码,用户配置完的表单最终会存成一份 json,能提交也能回显查看。 希望做过类似应用的前端老司机们给点建议,我描述不准确的地方让你们不明白的可以 @我,谢谢大家了。

    51 条回复    2018-03-16 22:34:13 +08:00
    min
        1
    min  
       2018-03-15 11:38:23 +08:00
    angular
    ChefIsAwesome
        2
    ChefIsAwesome  
       2018-03-15 12:01:00 +08:00


    这种东西都是自己写的。是拖拽还是点击无所谓,随便什么 mv* 的框架都能帮你。无非是确定好数据的结构,编辑的时候就是编辑那个数据。保存的时候就是把那个数据存到服务器。
    ferrum
        3
    ferrum  
       2018-03-15 12:03:03 +08:00 via iPhone
    TL;DR

    React.
    awasubaru
        4
    awasubaru  
       2018-03-15 12:03:23 +08:00 via Android
    楼上推荐的 angular 就挺适合这类企业服务软件类型,直接上最新的版本,像 java,。net 等后端上手也会很习惯。
    lamada
        5
    lamada  
       2018-03-15 12:25:36 +08:00
    angular 好是好,但是我也比较推荐 React,很多需要快速迭代的东西有一个好的生态会方便很多
    fe619742721
        6
    fe619742721  
       2018-03-15 12:32:19 +08:00 via iPhone
    好招人的话还是 React 或者 Vue 吧,angular 感觉用的人不是很多。你这个需求这三个框架都能满足,好好设计一下结构就 OK 了
    jy02534655
        7
    jy02534655  
       2018-03-15 13:56:53 +08:00
    呃,用 ext js 的我只好默默路过了
    aoaione
        8
    aoaione  
    OP
       2018-03-15 17:35:03 +08:00
    @min angular 没怎么考虑 虽然他比较强 但是团队希望是 vue 和 react 里面选一个
    aoaione
        9
    aoaione  
    OP
       2018-03-15 17:36:59 +08:00
    @chenxiaohuan 以前版本用过 angular 做过,没做出来,
    aoaione
        10
    aoaione  
    OP
       2018-03-15 17:39:21 +08:00
    @ChefIsAwesome 老哥这是在自定义表单吗
    aoaione
        11
    aoaione  
    OP
       2018-03-15 17:42:01 +08:00
    @lamada react+antd 吗 目前暂定的方案是这个 但是不知道组件好扩展不
    aoaione
        12
    aoaione  
    OP
       2018-03-15 17:44:36 +08:00
    @fe619742721 从业务层面好像 react 好点 但是个人层面 vue 上手快 这几天看了下 react 语法 混着写感觉不太灵活的样子
    aoaione
        13
    aoaione  
    OP
       2018-03-15 17:45:22 +08:00   1
    @jy02534655 老哥同道中人啊
    chairuosen
        14
    a href="/member/chairuosen" class="dark">chairuosen  
       2018-03-15 17:45:31 +08:00
    React 更零碎更灵活,Vue 更快速更简单
    chairuosen
        15
    chairuosen  
       2018-03-15 17:46:25 +08:00
    @aoaione react jsx 比 vue 模板灵活,也比 vue 的 jsx 灵活
    aoaione
        16
    aoaione  
    OP
       2018-03-15 17:53:08 +08:00
    @chairuosen 好管理吗 一个表单会用到很多组件 数据量很大 状态管理什么的
    luoway
        17
    luoway  
       2018-03-15 17:54:11 +08:00
    又到了 Vue vs. React 的时候
    chairuosen
        18
    chairuosen  
       2018-03-15 17:57:15 +08:00
    @aoaione 数据量很大是什么概念?要是几千个组件 React 可能有性能问题,我们之前测试过所有组件 virtualDOM 要全跑一遍很慢,除非用 PureComponent,Vue 在这方面有优势因为知道哪个数据变了只刷变的组件。
    learnshare
        19
    learnshare  
       2018-03-15 18:00:38 +08:00
    Angular/React/Vue 都能实现,考虑到是自定义的表单,第三方组件库估计不会很合适,需要自己写组件
    laclys
        20
    laclys  
       2018-03-15 18:07:09 +08:00
    Angular+1
    aoaione
        21
    aoaione  
    OP
       2018-03-15 18:13:59 +08:00
    @luoway 两个框架都很优秀 我只是想问下谁更适合我司业务哈
    aoaione
        22
    aoaione  
    OP
       2018-03-15 18:15:03 +08:00
    @learnshare 自己开发组件的话 那就是挑容易上手 开发效率快的了?
    jy02534655
        23
    jy02534655  
       2018-03-15 18:15:41 +08:00
    @aoaione Ext 这一块确实不太好招人,不过用起来还是可以的。你们公司在哪呀
    aoaione
        24
    aoaione  
    OP
       2018-03-15 18:16:16 +08:00
    @chairuosen vue 的双向绑定的好处吗
    aoaione
        25
    aoaione  
    OP
       2018-03-15 18:16:38 +08:00
    @jy02534655 深圳福田哦
    feverzsj
        26
    feverzsj  
       2018-03-15 18:18:29 +08:00
    你们的开发如果是 widget centric 的话,webix 之类的更简单
    jy02534655
        27
    jy02534655  
       2018-03-15 18:19:59 +08:00
    @aoaione 有没有熟悉的 Ext 开发呀,介绍一个,我们公司缺一个
    chairuosen
        28
    chairuosen  
       2018-03-15 18:21:42 +08:00
    @aoaione 不推荐双向绑定,双向绑定只用在最基础的表单组件上。工程复杂了,多步操作里哪一步数据被改了都不知道。
    aoaione
        29
    aoaione  
    OP
       2018-03-15 18:28:07 +08:00
    @chairuosen 明白了
    aoaione
        30
    aoaione  
    OP
       2018-03-15 18:29:44 +08:00
    @jy02534655 我都是半路出家的哦 现在的 ext 除了老程序员会的 没新人入手学了啊 工资开高点 招人进来转 ext
    aoaione
        31
    aoaione  
    OP
       2018-03-15 18:31:22 +08:00
    @feverzsj 看了一下 ext 的替代品 简单一些 但是也不好招人啊 毕竟不是大热门框架
    learnshare
        32
    learnshare  
       2018-03-15 18:39:50 +08:00
    @aoaione 开三倍工资,也不一定有人愿意学 Ext 吧,太老太吃亏
    开发效率上 Angular 可能慢一些,另外两个都还可以
    aoaione
        33
    aoaione  
    OP
       2018-03-15 18:46:14 +08:00
    @learnshare 也是 ext 都是老项目维护 这次要不是转型 我都准备溜了
    kimown
        34
    kimown  
       2018-03-15 19:27:47 +08:00 via Android
    我也是 extjs 用户,后来转成 react,因为对 extjs 理解还不错,第一次接触 react 就明白了 react 是什么,学习速度非常快,几乎没有学习成本,过渡期磨合还是有的,我强烈建议 react+antd,其他技术选型根本没法解决后期扩展以及复杂度问题。不过我还是要说,antd 很多方面都比不上 extjs2.x 的版本,其他框架更不用说了,连 antd 都不如,如果还要继续 ext 系列,extjs 官方出了 react 版本的 extjs,叫 extreact,收费,https://www.sencha.com/products/extreact
    beginor
        35
    beginor  
       2018-03-16 08:11:41 +08:00 via Android
    angular,或者 react, 毕竟各路控件大厂 (dx, c1) 都支持,省心。
    jy02534655
        36
    jy02534655  
       2018-03-16 09:30:15 +08:00
    @aoaione 我觉得 ext 6 +还是可以的,没人学这个玩意确实恼火。
    我这边都准备找个 js 还可以的,然后自己培训了,我自己有写 ext 6 入门教程,正好拿来做培训资料
    aoaione
        37
    aoaione  
    OP
       2018-03-16 11:25:23 +08:00
    @jy02534655 我们招人也是 招 js 还可以的 然后开发小组件 慢慢融入项目 但是这个周期较长
    aoaione
        38
    aoaione  
    OP
       2018-03-16 11:26:11 +08:00
    @jy02534655 你们做什么项目的尼
    aoaione
        39
    aoaione  
    OP
       2018-03-16 11:31:54 +08:00
    @kimown 学习 react 是没啥,但是我们公司业务用 react+antd 实现起来难度未知,extreact 不敢入啊,出问题了百度很难找到解决方案,我开发 ext 的时候就遇到不少问题,经常就跳进源代码报错了,只能查官方文档,google 解决方案也不是很方便,
    jy02534655
        40
    jy02534655  
       2018-03-16 11:46:39 +08:00
    @aoaione 我们公司做智能门禁,进来做前端别的不说,工作压力至少不大
    jy02534655
        41
    jy02534655  
       2018-03-16 11:49:18 +08:00
    换框架得考虑兼容问题,现在的新框架兼容性都不太好特别是针对 ie,react 我觉得还是别考虑了,这玩意做管理系统我觉得会吐血吧,写法结构让人觉得别扭,ext bug 确实多,很多时候我都是直接重写源码解决 bug
    inyfee
        42
    inyfee  
       2018-03-16 12:39:45 +08:00 via iPhone
    React antd
    aoaione
        43
    aoaione  
    OP
       2018-03-16 13:51:16 +08:00
    @jy02534655 我们一边维护老项目兼新功能开发 现在还准备重构 事多的一批 加班
    jy02534655
        44
    jy02534655  
       2018-03-16 13:56:38 +08:00
    @aoaione 呃,来我们这吧,上班轻松
    aoaione
        45
    aoaione  
    OP
       2018-03-16 14:08:09 +08:00
    @jy02534655 49 年入国名党的感觉 - -!哈哈哈
    jy02534655
        46
    jy02534655  
       2018-03-16 14:27:24 +08:00
    @aoaione 是,我们公司前端确实活不多,其他的做 java 的 php 的比我们累多了,就是钱相对的也少些
    aoaione
        47
    aoaione  
    OP
       2018-03-16 15:04:16 +08:00
    @jy02534655 我就是做了一年 Java 底子薄感觉不好找工作就转前端了
    CocaColf
        48
    CocaColf  
       2018-03-16 16:14:40 +08:00 via iPhone
    卧槽…感觉描述就是我司啊,sangfor ?
    aoaione
        49
    aoaione  
    OP
       2018-03-16 16:35:34 +08:00
    @CocaColf 兄弟认错了 sangfor 也用 ext 的?
    jy02534655
        50
    jy02534655  
       2018-03-16 21:13:58 +08:00
    @aoaione 后端转前端的话上手 ext 应该很容易,我以前也是做后端的,不过是.net
    CocaColf
        51
    CocaColf  
       2018-03-16 22:34:13 +08:00 via iPhone
    @aoaione 也是一个年代久远的老项目了,所以是 ext
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5211 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 07:05 PVG 15:05 LAX 23:05 JFK 02:05
    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