大家怎么选用前端框架

suchcl 2015-06-04 10:40:37
如题,大家怎么选用前端框架。
每当在新项目开始的时候,总会要面对一个问题,就是对前端框架的选用问题,是选用框架,还是不用,如果用了,大家都选用什么框架。再就是如果选用了框架,发现需要多引入很多额外的样式和脚本文件,会增加项目的质量,使项目变的笨重,同时还要多写很多的样式文件来来覆盖框架中给定的样式,或者要花费一些时间解决脚本的冲突或兼容性问题,不知道各位都是怎么处理这些问题。
...全文
852 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
柯少侠 2016-09-02
  • 打赏
  • 举报
回复
楼主问的问题其实可以分解成以下几个问题:
1、前端常用什么框架?
2、怎么解决引用框架的冗余问题?
3、怎么解决框架代码与自己写的代码的冲突问题?
======================================
针对第一个问题,
我想说必须严格区别前端的框架与类库这两个概念。你可以去查一下框架与类库的区别,但这里不做深入探讨。简单地说,类库相当于工具集(泥刀、铁铣),框架就是规定你app的结构(椽子、大梁)。典型的类库就是jquery,典型的框架就是angular。

那么现在的框架和库分别有哪些呢?库:jquery及其周边,zepto等。框架:angular 、react 、vue(虽然作者本人说它是一个类库,但现实中,我们几乎都是把它当作框架来用)。

那么到底该用哪个?
我们要从代码的自动化管理、模块化、和维护优化的成本、开发周期等角度来考虑。
a,如果你的项目几乎没有业务逻辑,建议你不要用什么框架和库。
b,如果你开发pc页面,可以采用angular.
c,如果你开发移动页面,不建议采用angular,因为太重,太多的脏检查,性能不好。当然2.x也许可以用。
d,如果你有可能把web项目转成原生 app,你可以用react,比较方便用react-native转。
e,无论哪种情况你都可以用vue,非常轻量级。入门也简单。

为什么这里首推vue?从模块化的角度考虑,它比angular和react更清爽,笔者的angular项目大到小组成员都不愿意看,主要原因是一个controller依赖太多,找文件这里找一个那里找一个。而vue没那么严重。都是数据驱动视图,但vue就没有那么多概念和规定。...

关于自动化,你只需要用好gulp或者webpack,git即可。
关于模块化,你需要了解AMD CMD commonJS几种标准,当然 ES6也有自己的imort 和export。
======================================
针对第二个问题,
框架的冗余,一般情况下,框架本身不会有太多冗余。你在模块化管理你的代码的时候,要注意去重,包括重复引用文件和重复copy代码,另外你要知道除了js,css也是可以用sass或者less这些预处理语法来达到模块化的目的。既然用到模块化,你应该好好学习webpack.其中的occurrenceOrder插件以及其它很多optmize插件对你代码的优化都很有用。
======================================
针对第三个问题
冲突从哪里来?如果你用别人的框架就得遵守别人约定的规则。比如说你用了react,你就得用好它的钩子函数。顺着别人定义好的东西去做。如果想扩展就深入研读框架的代码,否则就好好学习。

==========================================================
可能以上有些术语或者东西你并不熟悉,也许你并没有完全理解是什么意思。那你要做的就是把出现过的东西都用过,实践过,然后再回来看你的问题和你的答案。


qq_25968719 2016-09-02
  • 打赏
  • 举报
回复
现在有的框架还是很好用的,用框架加快项目进度,前端菜鸟:http://www.bird100.cn
业余草 2015-06-05
  • 打赏
  • 举报
回复
这个就不好说了。决定因素太多了。 比如说: 1、团队技能因素。 2、项目需求因素。 3、部署环境要求。 4、开发文档,开发社区等资料完整性。 5、项目开发周期等等
7号工匠 2015-06-04
  • 打赏
  • 举报
回复
这个根据个人喜好来选吧,用的顺手就行
tianma630 2015-06-04
  • 打赏
  • 举报
回复
用不好他 就还是别用他了
  • 打赏
  • 举报
回复
前端框架,基本上是用jquery mobile 或者bootstrap,或者不用框架,自己写呗,如果不嫌烦或者不嫌浪费时间的话
suchcl 2015-06-04
  • 打赏
  • 举报
回复
引用 4 楼 KK3K2005 的回复:
用jquery 操作dom和通讯 用requirejs 管理模块 选一套css样式作为风格 我觉得基本就够了 不然就选一个 完整的解决方案 上面全包了 但是用现有的完整框架 就会有你说的那些问题 大而全 呵呵
是啊,所以我一般都不推荐使用框架,也不太喜欢使用现成的框架。因为那样要写很多代码,到了最后也不一定省时间。
KK3K2005 2015-06-04
  • 打赏
  • 举报
回复
用jquery 操作dom和通讯 用requirejs 管理模块 选一套css样式作为风格 我觉得基本就够了 不然就选一个 完整的解决方案 上面全包了 但是用现有的完整框架 就会有你说的那些问题 大而全 呵呵

39,084

社区成员

发帖
与我相关
我的任务
社区描述
HTML5是构建Web内容的一种语言描述方式。HTML5是互联网的下一代标准,是构建以及呈现互联网内容的一种语言方式.被认为是互联网的核心技术之一。
社区管理员
  • HTML5社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧