如何选择适合你的JavaScript框架
大家在学习Javascript的时候选择适合自己的JS框架不仅能让写代码的效率大大增加,而且还可以让工作变得不在枯燥,感觉在写代码的时候一直有一个帮手在帮助你。那在如此多的框架中,如何选择适合自己的呢,一起来看下小编为你整理的内容。
Javascript框架(以下简称框架)也被称为Javascript库,是一组包含丰富功能和函数的JavaScript代码集,能够帮助开发者快速完成Web设计和开发工作。随着Web社区的越发活跃,新的框架也层出不穷,目前流行的有:Angular、React、Vue.js和Knockout等。
面对如此丰富多样的框架,很多Web开发团队都感到难以抉择,性能、速度、兼容性等等方面,我们到底应该怎么选?
其实,还是那个亘古不变的原则:适合自己的才是最好的!
下面,小编介绍一个工具和一本手册,只需1分钟,即可为你和你的团队选好最适合的框架。
工具介绍:
这个工具从生产效率、速度、生态系统和兼容性四个维度,对主流前端框架进行评估。你可根据项目情况,定义你最关心的维度,点击“获取评估结果”,获得推荐。
如下图所示,小编优先考虑生产效率,其次是生态系统和速度,最后是兼容性。
提交后,系统最推荐的,是效能最佳的Angular,并附上了推荐理由。
既简单又高效吧,一分钟找到最适合你的JavaScript框架!叫上你的小伙伴,一起来试试吧!
值得一提的是,这个测试工具是用Wijmo制作的。
手册介绍:
Wijmo 还推出了《如何为你的团队选择最适合的JavaScript框架》手册,不但介绍了JavaScript和JavaScript框架,还盘点和目前最为流行的四个JavaScript框架,并讲述了使用“SPEC”方法为自己的团队选择最适合的框架。点击页面下方的“获取免费电子书”,即可进行下载。
关于选择JS框架的一些体会和心得:
我经常看到很多JavaScript框架/库的使用者或者作者坚持某一条路,把其他路贬低得一文不值,但就目前情况来说,这些东西之间的关系存在几种:
1. 竞争与淘汰比如某些东西已经实际出局,某些东西由于标准演进导致场景失效而衰落,某些东西由于跟同类东西相比明显落于下风等等。
2. 升级新版本希望彻底取代老版本,进行彻底的重构,比如Angular。
3. 互补很多人没有意识到,我们吃菜并不是只吃一种的,每种菜都有它的价值,哪种框架/库比较好,要考虑到:它定位于什么领域,解决哪些问题,适合什么样的人等等,所以这些东西很大程度上是并存,共荣,互相学习,共同演进的。
最后黑一下,js框架基数大还有个原因,因为前端相对来说性格都比较活泼一点,人也有朝气好相处,比如同样水平的一个东西,前端这里有勇气拿出来显摆,大家都说哇你好厉害,谢谢大神,1024之类,但可能在Java那边,他都不好意思拿出来说,一放出来,大家都说,弱爆,负分滚粗,再学20年吧。
相关推荐
-
十大热门的JavaScript框架和库
JavaScript 框架和库可以说是开源项目中最庞大也是最累的类目了,目前在github 上这一类的项目是最多的,并且几乎每隔一段时间就会出现一个新的项目席卷网络社区,虽然这样推动了创新的发展,但不得不说苦了前端的开发者们.因此本文罗列出了一些优秀的 Javascript 框架和库的特及其在 github 上的 star 数,旨在为各位开发者提供一些参考. 1.ReactJS(Star: 59989,Fork: 10992) 主页:https://facebook.github.io/reac
-
javascript框架设计读书笔记之字符串的扩展和修复
1.repeat方法:将一个字符串重复自身n次.比如:repeat("chaojidan",2) -> chaojidanchaojidan 方法1: 复制代码 代码如下: function repeat(str,n){ return Array.prototype.join.call({length:n+1},str); //在类数组{length:n+1}上下文下执行join方法,并传入str.也就是用str来分隔类数组的选项,类数组是空,所以就有n个str分隔n+1个
-
JavaScript框架是什么?怎样才能叫做框架?
刚初学js时,总会听到关于框架的一些事情.等学完JQ后我才知道什么是框架.一下是转载的一篇文章,希望对还迷茫的童鞋们有点帮助. 什么是 JavaScript 框架? JavaScript 本身就是一种功能强大的语言,您不需要额外的框架就可创建富互联网应用程序(RIA).然而使用 JavaScript 并不是件容易的事,主要是由于支持多个 Web 浏览器产生的复杂性.与 HTML 和 CSS一样,不同的浏览器有不同的 JavaScript 实现.让 JavaScript 代码实现跨浏览器兼容简直是
-
JavaScript框架(iframe)操作总结
框架编程概述 一个 HTML页面可以有一个或多个子框架,这些子框架以<iframe>来标记,用来显示一个独立的HTML页面.这里所讲的框架编程包括框架的自我控制以及框架之间的互相访问,例如从一个框架中引用另一个框架中的JavaScript变量.调用其他框架内的函数.控制另一个框架中表单的行为等. 框架间的互相引用 一个页面中的所有框架以集合的形式作为window对象的属性提供,例如:window.frames就表示该页面内所有框架的集合,这和表单对象.链接对象.图片对象等是类似的,不同的是,这
-
16个最流行的JavaScript框架[推荐]
1. jQuery – Javascript Framework jQuery 是最流行的 JavaScript 框架,它简化了HTML 文档遍历.事件处理.动画和Ajax交互. 2. Dojo Javascript Framework Dojo强大的核心使Web开发更加敏捷,它拥有出色的UI工具库,号称 Unbeatable JavaScript Tools. 3. Sencha Ext JS4 Javascript Framework 官方介绍说是最先进的JavaScript框架,用于构建下
-
javascript框架设计读书笔记之模块加载系统
模块加载,其实就是把js分成很多个模块,便于开发和维护.因此加载很多js模块的时候,需要动态的加载,以便提高用户体验. 在介绍模块加载库之前,先介绍一个方法. 动态加载js方法: 复制代码 代码如下: function loadJs(url , callback){ var node = document.createElement("script"); node[window.addEventListener ? "onload":"onre
-
javascript框架设计之种子模块
种子模块也叫核心模块,是框架中最先执行的部分.即便像jQuery那样的单文件函数库,它的内部也分很多模块,必然有一些模块执行时在最前面立即执行,有一些模块只有用到才执行.有的模块可有可无,存在感比较弱,只有在特定的浏览器下才运行. 种子模块就是其中的先锋,它里边的方法不一定要求个个功能齐全,设计优良,但一定要极具扩展性,常用,稳定. 扩展性是指通过他们能给将其它模块包含进来:常用是指绝大多数的模块都能用到它们,防止做重复工作.稳定是指在版本迭代时不轻易被新方法替代. 参照许多框架和库的实现,我们
-
javascript框架设计之浏览器的嗅探和特征侦测
浏览器的嗅探现在已经不推荐了,但在某些场合还是需要的.比如一些统计脚本.在标准浏览器里,提供了document.implementation.hasfeature,可惜有bug,不准确,目前,w3c又推出了CSS.supports方法,显示出大家对这块的关注. 1.判定浏览器. 主流的浏览器有ie firefox opera chorme safari 早期这些框架都是通过navigator.userAgent进行判定,目前国外的浏览器几乎都是可以判定的. 关于浏览器的判断脚本,jQuery已经
-
深入解析JavaScript框架Backbone.js中的事件机制
事件模型及其原理 Backbone.Events就是事件实现的核心,它可以让对象拥有事件能力 var Events = Backbone.Events = { .. } 对象通过listenTo侦听其他对象,通过trigger触发事件.可以脱离Backbone的MVC,在自定义的对象上使用事件 var model = _.extend({},Backbone.Events); var view = _.extend({},Backbone.Events); view.listenTo(model
-
javascript框架设计读书笔记之种子模块
1.命名空间: js里面的命名空间就是使用对象的属性来扩展的.比如,用户定义一个A对象,A对象下面有B属性和C属性,同时B属性和C属性又是对象.因此A={B:{},C:{}},这时用户就可以在B对象和C对象中定义一样的方法,属性了.因此B和C就属于不同的命名空间.我们调用B,C对象里面的方法,就可以通过A.B.like(),A.C.like()调用了.当然A属于window对象中的属性. 但是有一种情况,比如:boke.jsp页面引入了jquery.js以及prototype.js(他们都会在w
-
2014 年最热门的21款JavaScript框架推荐
下面,我们将会介绍 2014 年最火的 21 款JavaScript 框架,专为前端开发者准备的哦:)众所周知, JavaScript 框架是 JavaScript编程语言最棒的特性之一. JavaScript 框架是预先编写好的 JavaScript 库,为基于 JavaScript 的应用提供更简单的开发方式.这些 JavaScript框架提供大量的函数,帮助你改善网站任务.现在网络上有着各种各样繁杂的JavaScript 框架,这里我们列举 2014年最火的 21 款JavaScript
-
javascript框架设计之类工厂
类与继承在javascript的出现,说明javascript已经达到大规模开发的门槛了,在之前是ECMAScript4,就试图引入类,模块等东西,但由于过分引入太多的特性,搞得javascript乌烟瘴气,导致被否决.不过只是把类延时到ES6.到目前为止,javascript还没有正真意义上的类.不过我们可以模拟类,曾近一段时间,类工厂是框架的标配,本章会介绍各种类实现,方便大家在自己的框架中或选择时自己喜欢的那一类风格. 1.javascript对类的支持 在其它语言中 ,类的实例都要通过构
-
brook javascript框架介绍
brook引用了UNIX下的pipe概念,轻松把所有的处理都串联起来以共同完成任务.前一个处理的输出作为后一个处理的输入来完成参数的传递.通过brook你可以以MVC的方式来写你的javascript程序. http://hirokidaichi.github.com/brook/ brook 我们下载brook框架使用namespace库用于模块的组织. 这里再次用例子说明一下namespace的使用方法: 复制代码 代码如下: // 定义一个sample命名空间 Namespace('sam
-
怎么选择Javascript框架(Javascript Framework)
Ajax的兴起,给 Javascript带来了新的生机,大量的javascript框架(Javascript Framework)层出不穷,一些框架来至于开发人员项目经验的总结和提炼,也有一些框架来至于商业公司,同时以开源和商业两种方式发布.借助这些框 架,可以大大加速Ajax项目的开发速度,但同时也面临不同的学习曲线,以及架构扩展性等等问题.如何选择Javascript框架,成为开发人员和架构 师头痛的一个问题.如果你正面临这样的问题,希望下面的几个建议对你在选择javascript框架上会有
-
详细介绍8款超实用JavaScript框架
1. Hammer.jsHammer.js是被广泛使用的轻量级JavaScript框架,它提供了常用触摸操作的规范,比如收缩.拖放.双击和删除等等.它支持大多数移动平台像iOS,Windows Mobile, Android 和 BlackBerry. 2. jQuery UIjQuery UI非常适合那些用jQuery JS 库开发App的用户.提到jQuery UI,就不得不提到跟它非常相似的Kendo UI.Kendo UI可帮助创建原生的移动和桌面应用,对性能和易用性方面都做了大量优化,
-
超赞的动手创建JavaScript框架的详细教程
觉得Mootools不可思议?想知道Dojo是如何实现的?对JQuery的技巧感到好奇?在这篇教程里,我们将探寻框架背后的秘密,然后试着自己动手建立一个你所喜爱的框架的简易版本. 我们几乎每天都在使用各种各样的JavaScript框架.当你刚入门的时候,方便的DOM(文档对象模型)操作让你觉得JQuery这样的东西非常棒.这是因为:首先,对于新手来说DOM太难理解了:当然,对于一个API来说难以理解可不是什么好事.其次,浏览器间的兼容性问题非常令人困扰. 我们将元素包装成对象是因为我们想要能够为
-
javascript框架设计之框架分类及主要功能
从内部架构和理念划分,目前JavaScript框架可以划分为5类. 第一种是以命名空间为导向的类库或框架,如果创建一个数组用new Array(),生成一个对象用new Object(),完全的java风格,因此,我们以某一对象为跟,不断为它添加对象和二级对象属性来组织代码,如金字塔般垒起来,早期代表YUI,EXT(so,不是有活力的公司都还用它们) 第二种是以类工厂为导向的框架.著名的有Prototype,还有mootools.Base2.Ten,它们基本上除了最基本的命名空间,其它模块都是一
-
javascript框架设计读书笔记之数组的扩展与修复
1.indexOf和lastIndexOf方法: 因为IE7在数组对象上使用indexOf会报错,所以需要重写一个兼容性的. 复制代码 代码如下: Array.prototype.lastIndexOf(item,index){ var n = this.length,i = (index==null||index>n-1)?n-1:index; if(i < 0) i = n+i; for(;i>=0;i--) if(this[i] === item) //全等判断,indexOf
随机推荐
- Flex 自定义DataGrid实现根据条目某一属性值改变背景颜色
- golang将多路复异步io转成阻塞io的方法详解
- 深入理解vue.js中$watch的oldvalue与newValue
- Windows XP系统最强的启动提速技巧
- 检测八位数字是否为有效日期的正则
- asp.net 特定目录form验证
- Python的高级Git库 Gittle
- php 购物车的例子
- C# WinForm窗口最小化到系统托盘
- innodb系统表空间维护方法
- Ubuntu Docker 安装教程
- php ajax异步读取rss文档数据
- JavaScript实现水平进度条拖拽效果
- 2008新年春节对联大全第1/7页
- jquery实现文本框数量加减功能的例子分享
- 代码分析jQuery四种静态方法使用
- C#反序列化到类的实现方法
- 大家注意vector, list, set, map成员函数erase
- Android忽略文件实例代码
- 小程序:授权、登录、session_key、unionId的详解