javaScript框架(库),你知道哪些?

随着web应用开发的技术发展,javaScripts在Web开发中显得尤为重要。由于html5的异军突起,使前端技术更加火热,javascript应用越来越复杂,因此各种框架和库层出不穷。这里顺便说一下框架与库的区别。库提供了一系列方便调用的接口,包含一些能够完成特定或特定类型的明确任务的可重用的代码。框架与库最重要的区别在于其控制反转(Inversion of Control)的特点。Stack Overflow上一个经典回答:you call library,framework calls you。即是,库是被你调用的,而框架则是调用你的代码。
那么,我们来看看我们经常用到的框架(库)有哪些呢?
1.jquery库
这里写图片描述
jquery一般编程的人都会有涉及过,jQuery是继prototype后又一个javascript库,它是一个轻量级的库,无缝兼容html5及css3,还兼容几乎所有现有浏览器(2.0以后版本不支持IE6/7/8)。jQuery是免费、开源的,其使用MIT许可协议。其设计的核心理念是write less,do more。据统计,世界前10000个访问最多的网站中,有超过55%在使用jQuery。
2、AngularJs企业级框架
这里写图片描述
AngularJs是一款优秀的企业级框架,于2009年发布,后被google收购,现在google的多个产品中都有使用。其最为核心的特性为:MVC、模块化、自动化双向数据绑定、语义化标签及依赖注入等等。AngularJs是为了克服HTML在构建应用上的不足而设计的,其通过新的属性和表达式扩展了HTML。并不是所有的web应用都适合使用它,主要考虑那些使用CRUD的单一页面应用程序(Single Page Applications,SPAs)。学习AngularJs也非常简单,中文教程或英文教程都非常丰富,有兴趣的同学可以了解下。
3、React框架
这里写图片描述
React框架这几年也非常的热门,其本身是来自于Facebook的内部项目,后来觉得非常好用便开源了。其称为构建用户接口而提供的Javascript库。React主要用来构建UI,其专注于MVC的V部分。它抽象出了DOM,因此优化了渲染,并允许你使用Node.js来渲染React。与已知库或框架可以很好的配合,如AngularJs、Backone。
4、vue未来的主流
这里写图片描述
vue.js 是用来构建web应用接口的一个库,技术上,Vue.js 重点集中在MVVM模式的ViewModel层,它连接视图和数据绑定模型通过两种方式。实际的DOM操作和输出格式被抽象的方式到指令(Directives)和过滤器(Filters)。在哲学领域内,尽量让MVVM数据绑定API尽可能简单。模块化和可组合性也是重要的设计考虑。vue不是一个全面的框架,它被设计成简单的和灵活的。你可以用它快速原型,或混合和匹配与其他库定义前端堆栈。Vue.js的API是参考了AngularJS、KnockoutJS Ractive.js Rivets.js。尽管有相似之处,我相信Vue.js提供一个有价值能够让你在现在的一些现有框架中舍取其价值,即使你已经熟悉其中的一些术语,建议您通过以下概念的概述,因为你的这些术语的概念可能在Vue.js的下文中有所不同
5、RequireJs
这里写图片描述
RequireJs是一个javascript模块加载器,提高网页的加载速度和质量。大多数情况下我们都把JS写在一个代码文件,后来文件越来越大,就分割成几个小文件,随着JS文件越来越多,增加网页的Request次数,失去响应时间越长。其次,由于几个JS文件存在依赖关系,因此必须保证加载顺序正确,这样给编写代码及维护都带来一定程序的困难。RequireJs就是解决这些问题的,实现JS文件的异步加载,避免网页失去响应,实现模块化,按需加载,提高代码的可维护性。
6、Backone框架
这里写图片描述
Backone是一个帮助开发重量级Javascript应用的框架,但它本身简单的框架。其文件体积很小,压缩后只有5.3KB,提供了全功能的MVC框架及路由。Backone强制依赖于Underscore.js,非强制依赖于jQuery/Zepto。当你在开发时不需要像AngularJs或Ember这样的大型框架时,Backone也许是一种很好的选择。
7、D3.js
这里写图片描述
数据可视化和图表是Web应用中不可或缺的一部分。d3.js就是最流行的可视化库之一,它允许绑定任意数据到DOM,然后将数据驱动转换应用到Document中。它能够把数据和HTML、SVG、CSS结合起来,创造出可交互的数据图表,而不必受限于Flash或Silverlight。它是Github上最受欢迎的项目之一,并被数百个组织机构所使用。
除以上介绍的外,还有许多优秀的JS库或框架或工具,像构建3D特效的Three.js,测试工具PhantomJS、工程命令行构建工具Grunt等等,这里就不一一列出了。
当然,如果你知道有更好的更流行的框架或库,请告知,一同学习进步。

自己写的一个网页开发常用效果框架,可以自定义导出自己想要的部分。 1.通过帮助文档help.html查看所有效果与使用方法。 2.通过config.html配置符合你需要并导出js; 内容包含如下: A:效果类; 1.事件-同时兼容手机与pc的3种事件(start、move、end); 2.tab选项卡-各种切换6种; 3.电商产品主图-横向与纵向2种; 4.放大镜-电商主图放大镜、图鼠标悬停旁边出现放大版图效果各一个; 5.跑马灯-文字或图片不断档可支持鼠标悬停时停止; 6.仿alert弹窗-可以自定义样式,手机版pc版个一种; 7.列表下拉加载更多-伪数据加载与ajax异步加载个一种; 8.折叠菜单一个; 9.banner图效果-7种包含手机上支持手指滑动的; 10.时间轴-控制1种; 11.自定义滚动条-横向、纵向各一种; 12.临时禁用滚动条-禁用与启用方法各一个,也能禁用手机滚动条,同时解决px滚动条占用宽度问题。 13.图表等比例-使图片始终保持设定比例缩放等供3种不同形式; 14.回到顶部-点击回到浏览器顶部; 15.漂浮窗-小漂浮窗广告; 16.图集展示-偶尔能用到; 17.滚屏效果-手指上下滑动或鼠标滚轮滚动切换页面,可自己配一些动效!!!!!!; 18.常用表单验证; 19.左滑删除; 20.复选框全选与取消选中; 21.内容拖动!!!!!!; 22.dom输入; 23.单例定时器; 24.ios软键盘弹出fixed定位问题处理!!!!!!; B:架构类; 1.流程控制-主要解决多个ajax调用依赖问题; 2.面向对象的class方法-方便定义类与集成类; 3.require-实现模块化开发,简单实用; 提示:用!!!!!!标注结尾的在某些场景下可能出现bug;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值