选什么前端框架?

前端框架的作用是什么?什么时候需要用到前端框架?
单页web应用是什么?它又会给传统网站带来哪些好处?
What's the difference between a web site and a web application?

感觉上是那些“单页面应用” 用的前端框架多一点。
现在的项目 并没有太多的用户交互操作 大多就是增删查改等操作 表格数据显示居多。表格的数据显示我用的是Bootstrap Table。
按自己以前的经验(只有一年多点的弱菜) 可能就会用jquery ajax请求数据,然后在success把数据渲染填充到页面,做一些form表单提交也是通过ajax进行交互。

现在在小公司负责这个项目(前端差不多也就我一个吧(能写js的),...) 问我要用什么前端框架。自己对这些框架也不熟悉,了解的JavaScript框架大概就jquery(这个熟悉点) backbone 还有Angularjs(这个刚刚开始了解学习)。

请教下 这种情况下,项目选什么前端框架好呢,这个项目后端是.net mvc模式,还是按自己以前的做法不选什么前端框架做?
希望 指导一二,谢谢。

阅读 12.3k
17 个回答

Vue.js Angularjs jQuery zepto

  1. 有浏览器限制么?没有 Vue.jsAngularjs

  2. 是否是手机端? 是 Vue.js zepto

  3. 是否在乎学习成本?在乎 Vue.js

哈哈,你已经看出来了,我是推销Vue.js的。Angular1 现在已经过气了,我们团队没有选择的愿意是因为学习成本高。已经出2了,对升级2持观望态度。

说说我们团队的技术选型吧,先说pc站 http://www.uhouzz.com/ 选择Angularjs 是因为要兼容IE8。而且队里面有Angularjs 实践2年的大牛。他带队自然选择了Angularjs

在说说手机站选择了vue (http://www.uhouzz.com/ 手机访问) vue实践下来,轻量,简单友好的api,有完善的中文文档。当时我带队几乎一周写点东西,4个队员全上手。

结合你的工作环境,如果没有浏览器限制建议你试试 Vue.js。 没有入侵性,你可以把它当个框架或者库用。

@紫鹃 的答案也不错,pc jQuery 手机站 zepto 。但是个人觉得,zepto可以慢慢舍弃了,自己写吧。能用到的地方 1DOM选择操作 2 ajax。 原生没那么麻烦。


回答被踩了一下,怒更新
前两天读《未来Web应用的前端技术选型畅想》非常有参考意义。

首先声明,我是domcom的作者。因此,对于以下论断,还需要你来做客观的判断。
https://github.com/taijiweb/domcom

易入门:只有一个概念需要开脑洞,就是用函数来作为属性的值的永久声明。
超简洁:如果你喜欢Coffee-script,立即就可以得到如同jade一样优雅的dom模板。如果你已经用ES6,那么代码也会很简练。如果你还是在坚守ES5,代码会要长一些,但是也比ReactJS+JSX要简明得多。
易组织:只需使用普通的函数或者面向对象方法就能灵活方便地组合和扩展部件,组织应用。
强兼容:兼容包括IE6,7,8在内的浏览器。
无污染:绝不因框架自身原因向Dom中增加任何内容。
高性能:更好的自动更新检测,只更新无效部件,只刷新实际有变化的Dom节点和Dom特性,理论上比virtual dom方案更强。
无依赖:无需不可变数据结构,无需浏览器或语言补丁,无需搭配其它程序库,无需补充解决方案。
很全面:很强大的路由功能,很方便的promise支持。


对于以上观点,从技术出发的批驳,我非常欢迎。如果是出于习惯或者成见发表无意义的评论,恕我无视。

我知道有不少人选择框架可能先看是否出身名门,是否已经非常流行,是否有大的社区。这当然很有道理。然而,js的很多库和框架都是个人作品,包括jQuery,node.js, express, koa, jade, coffee-script, coffee-script, backbone, underscrore等等。不管它们现在如何辉煌,都有问世、发展的过程。前人的作品总是会给后来的作品带来启示,后来的作品总要针对前人的作品做些改进。我个人的标准总是依据同类工具的技术特性进行对比选择。好不好用,总要自己了解、对比、试验、使用之后才下结论。

看你做什么项目吧!通用就jQuery了!移动端:zepto吧!哈哈

如果是以前 我选了angular 现在 直接找个jq路由模块 加个模板引擎自己搭个简单的框架直接做得了

avalon大法好~

angularjs或reactjs,vue也不错,感觉思想都差不多,不过前期学习曲线都比较高,如果有angular类似的基础会上手快一些。建议用reactjs或者vue。

如果没有类似基础,还是用jq什么的比较稳妥,这个基本上大家都没啥问题。

用过很多框架,算有点发言权,给你的建议是:企业级项目,后台管理项目用大框架,推荐ExtJS,有些没深入用过的人会无脑喷他笨重,但他绝对是企业级项目最好的解决方案,你想得到的组件他都有,抛弃HTML也实现了纯JS控制前端的大一统,在渲染,解析,释放内存上做的都很周到,组件API也详尽。JS实现VIEW层也使得双向绑定变成了天然的事情。另外所有组件由sencha公司统一维护,甩开DOJO,DIJIT这种杂牌军不知道几条马路。

小项目建议用个轻量级的MVVM,推荐VUEJS,这东西我第一次看文档觉就觉得是我一直理想中的轻量级框架。比起reactjs我更喜欢在DOM上加指令的形式,对前端开发也更友好。

再小点得项目嘛就jquery随便写写了。

翻了几楼竟然发现好多推荐自己框架的
这件事情要慎重,选用什么框架你都得能hold住框架的代码

jQuery + handlebars - -简单暴力

看团队平均技术水平!!!
jquery+requierd 是最稳的 什么ng react 的 没大牛还是不要随便搞!
移动端的话 坑很多 少用框架

就Angularjs了。

如果你维护旧的项目,就按之前使用的框架走。

如果是写新的,熟悉什么就用什么,不要老追新的框架。你熟悉jq,就不要花时间去学angular,你熟悉angular,就不要花时间去学react。jq的dom操作很灵活,ajax和绑回调也很方便 完全够用。

我看我们那些学angular的同学 ,用起来还没我这个熟悉jq的后端快呢。而且喜感的是它们的代码基本不比我短。

新手上路,请多包涵

bingoJS 底子要比 Angularjs好

react + redux +webpack 你值得拥有 。。用gzip 压缩后算上你的业务逻辑和css一共才100k。什么图标合并啊,,按需加载啊,md5加密啊统统搞定,支持ie8 移动pc两相宜。。性能嗷嗷的。。。代码及其容易维护。。还支持服务器端渲染。搞定seo。。
缺点嘛。。。

jquery足够管用,别想太复杂,自己吓自己

推荐问题
宣传栏