项目前端框架选择的疑惑

2015-12-23 12:26:18 +08:00
 ne6rd

3 个人的小团队,一个负责 java 后台,一个实习,我负责前台。
之前的一个后台管理类项目,用的是 angular ,开发起来挺顺畅。但是也有一点小问题:
1.IE8 里在部分交互场景响应比较卡。
2.单页面应用访问首页的时候要把所有资源都加载好。
这两点在面对几十个用户使用的后台管理项目中还算可以接受。

现在一个新的项目,内部 OA ,用户数大概 3000-5000 左右。要参考以前的系统来做。
以前是多页面,以 iframe 的形式镶嵌在另一个网站中。界面交互也有很多弹出窗口(涉及到在线 office 文件的浏览编辑),感觉并不太适合用 angular 。

这两天也在看 react ,但是好像常用的组件好像没有 angular 丰富(比如 angular-ui )提供的那些。
而且还涉及到前端的数据绑定问题,好像还要使用 redux 之类的框架。

因为对 react 了解不深,请问我这样的需求应该如何选择前端框架呢?有没有其他的方案?
要不要考虑 java 后台的模板技术?谢谢

10180 次点击
所在节点    前端开发
47 条回复
chemzqm
2015-12-23 15:52:20 +08:00
最好不用框架,维护起来比浏览器 bug 还要坑。。
learnshare
2015-12-23 15:57:04 +08:00
@taoche IE8 的卡可能并不是优化代码就能解决的,毕竟许多年前的前端没有那么复杂的代码,那个时候的浏览器没有支撑现代前端代码的性能
ne6rd
2015-12-23 16:00:29 +08:00
@taoche 谢谢指教。
1.如果一个团队对 react 和 angular 熟悉程度相近的情况下, react 开发效率没有 angular 高?

2.angular 优化我们确实做的很不够。主要是有这个担心:
ie8 在仅仅使用 jquery 做交互的时候还是可以达到丝般顺滑的。用了 angular 虽然开发方便了,但是使用体验却打了折扣,而且即使花了一些手段去优化了,也仅仅是打到一个可用的水平,感觉投入和回报也有点不成比例。所以在想 react 这种机制完全不同的,能不能从根本上解决 ie8 的问题。
taoche
2015-12-23 16:02:13 +08:00
@learnshare 想做到 十分流畅 我上面已经说了 非常困难(因为不敢保证所有人都做不到,所以保留的说非常困难)

但是想把非常卡顿 优化成 可以接受。。 还是可以的。
ezreal
2015-12-23 16:03:54 +08:00
其实我想说 @hanai 的 react IE 8 没有问题,组件的话 ant.design 不错

我们的系统好多都从 angular 都迁到 react 了, anyway 个人喜欢也比较重要
ne6rd
2015-12-23 16:04:14 +08:00
@learnshare
理解。那个年代的交互其实并不比现在简单,只是那时候更倾向用后台模板技术。
现在前台这部分拿出来到客户端运行了,对浏览器的要求就高了。
taoche
2015-12-23 16:06:10 +08:00
@ne6rd 熟悉 react 不难,难的是在它那套生态下都掌握的很好。
这么说吧,我们现在在用 react + nw.js 以及 react 周边的那些东西 开发一个 IM 系统。 我同事都说 如果用 Angular 开发的话 估计只要用到现在 1/2 甚至 1/3 的时间。(业务场景可能不能拿来类比,仅从参考。 可能也是我们比较水)
ne6rd
2015-12-23 16:09:14 +08:00
@taoche
嗯,明白您的意思。 主要这个 OA 项目,是对历史项目的重构+更新功能。
历史项目并不是我们开发的,前端是 jsp 页面混杂着 java 代码。虽然非常难维护,但是性能还是非常不错的(丝般顺滑)。
如果我们重构之后,使用体验反而变差了,就有点本末倒置了。
gouflv
2015-12-23 16:24:00 +08:00
如果 ng 不适合的话, react vue 这些类似方案也不太需要考虑了

只剩 Backbone + Marionette
baby4free
2015-12-23 16:24:26 +08:00
jQuery+template 吧。。。。
ne6rd
2015-12-23 16:24:56 +08:00
@taoche
其实考虑 react 也是有一点自己的私心。不满足于只会使用 angular 。
现在 react 这么火,也想实际尝试一下。如果真的应用到生产环境的话,学习到的东西肯定是很多的。(当然会有一定风险)
gouflv
2015-12-23 16:37:05 +08:00
@ne6rd 小团队不要轻易尝试 react, 另外 vue 在灵活度上肯定是好于 react 的
taoche
2015-12-23 16:54:45 +08:00
@ne6rd 你可以尝试 把你们业务的某一个模块 用 react 开发一下。 对比一下体验
hienchu
2015-12-23 17:08:45 +08:00
最近刚撸了一个 React 的小项目,前期熟悉需要一些时间,但是开发效率个人觉得比 Angular 要高。 React 虽然没有 jQuery 那么快上手,但是性能上绝对是秒杀的。还有就是, React 的模块化对于后期的改动真的是很方便。
jun0205
2015-12-23 18:45:19 +08:00
前段时间一直在尝试各种前端框架,有个必要条件是支持 IE8 ,不支持 IE8 的都略过。
主要尝试了 angular, avalonjs, react, mithril 这几个。
最终选择的是 angular 做后台管理系统, mithril 做前台用户系统。

angular 在 github 上面有一个第三方的对 IE 8 的支持,选用的是 1.4 和 ui-bootstrap 0.12.1 支持 IE8 的版本。 angular 的资源太多了,有什么问题都能快速的找到,还有良好的 UI 测试 protractor 。后台也不需要太高的性能要求。

avalonjs 这个我写 demo 的时候就遇到坑了。没有好的项目结构生成方案。还有现在是 1.4 和 1.5 两个版本存在,如果选 1.5 的话相关的 mmRoute 都没发很好的配合使用,官方也没文档。

react 和 mithril 模板 mithril 真心比 react 简单多了,官方的性能测试也比较好,也可以对 IE 8 支持,也是我们需要的,
react 过于庞大很多都不是我们需要的, mithril 简单,需要的基本功能都有了,只是第三方插件不多,还问题多,最近天天在加班改。


要是公司项目最好选资源多的,遇到问题可以马上解决。
hbkdsm
2015-12-23 19:24:59 +08:00
@taoche 然而从 Angular 1.3 开始就不支持 IE 8 了。。。
banricho
2015-12-23 20:26:21 +08:00
这种有 IE 的需求那就 Avalon.js 吧
之前这里有个项目也是这么做的…非 IE 需求的话就不用它了
taoche
2015-12-23 22:56:20 +08:00
@hbkdsm 是有一些兼容性的方案的。这个没啥问题
mgcnrx11
2015-12-23 23:22:20 +08:00
我倒觉得,从密钥控件上着手会更好,研究改造成支持 Chrome ,其实应该就是做一下桥接的就行了吧,我猜。因为目前的某局级项目,就正是通过此方法全面支持 Chrome ,抛弃 IE 了
narukow
2015-12-24 00:23:50 +08:00
这种后台 OA 类系统的开发,最重要还是在于有没靠谱的 UI 库吧。我为新项目找前端框架也把几个主流框架看了遍, avalon 有 oniUI (但看介绍感觉太月厨中二爆表放弃了=_=); vue 看起来很棒,但没 UI 库放弃了;最后选了 ant.design 来尝试,组件数量和成熟度都挺高了,更新也活跃,但目前好像还是小范围内试用,一想到前面好多坑没被人趟过就好忐忑。。。

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

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

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

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

© 2021 V2EX