JavaScript框架相关知识

常见的JavaScript框架和库

  1. jQuery库
    jQuery是一个轻量级的库,无缝兼容HTML5和CSS3,还兼容几乎所有现有浏览器(2.0以后版本不支持IE6//7/8)。jQuery是免费且开源的,使用MIT许可协议。设计理念是“write less,do more.”据统计,全世界访问最多的10000个网站中,有超过55%在使用jQuery。jQuery使用户能更方便地处理HTML documents、events、实现动画效果,并且能更方便地为网站提供AJAX交互。它的一个很大的优势是文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。jQuery能够使用户的HTML页保持代码和HTML内容分离,不用在HTML里面插入许多JS来电泳命令,只需定义ID即可。

  2. Angular JS企业级框架
    发布于2009年,后被Google收购,在Google的多个产品中都有使用。
    核心特性:MVC、模块化、自动化双向数据绑定、语义化标签及依赖注入等。
    Angular JS是一组用来开发web页面的框架、模板及数据绑定和丰富UI组件,是为了克服HTML在构建应用上的不足而设计的,它通过新的属性和表达式扩展了HTML。它支持整个开发进程,提供web应用的架构,无需进行手工DOM操作。与jQuery配合良好,但是,并不是所有的web浏览器都适用于它,主要考虑那些使用CRUD的单一页面应用程序。

  3. React框架
    来自于Facebook的内部项目,因为好用,后来便开源了。是为构建用户接口而提供的JavaScript库。
    React是用来构建用户界面的JavaScript库,主要用来构建UI,专注于MVC的“V”部分。它抽象出了DOM,因此优化了渲染,并允许用户使用Node.js来渲染React。与已知的框架和库如Angular JS、Backone可以很好地配合。

  4. Vue.js
    它是构建web页面的JavaScript库,提供数据驱动的组件,还有简单灵活的API,使得MVVM更简单。技术上,Vue.js重点集中在MVVM模式的ViewModel层,通过两种方式连接视图和数据绑定模型。
    Vue不是一个全面的框架,它被设计成简单的和灵活的,用户可以使用它快速原型、混合和匹配,与其他库定义前端堆栈。

  5. Require JS
    是一个JavaScript模块加载器,提高网页的加载速度和质量,用来解决JS文件过多带来的失去响应时间长的问题及保证加载顺序正确,在一定程度上减缓代码的编写维护问题。Require JS实现文件的异步加载,避免网页失去响应,实现模块化、按需加载,提高代码的可维护性。

  6. Backone框架
    它是一个帮助开发重量级JavaScript应用的框架,但它本身是一个简单的框架。其文件的体积很小,压缩后只有5.3kb,提供了全功能的MVC框架和路由。Backone强制依赖于Underscore.js,非强制依赖于jQuery/Zepto。

  7. D3.js
    它是最流行的可视化库之一,允许绑定任意数据到DOM,然后将数据驱动转换应用到Document中。它能够把数据和HTML、SVG、CSS结合起来,创造出可交互的数据图表,而不必受限于Flash或Silverlight。

如何选择JavaScript框架

选择合适的框架可以大大提高项目的开发速度,但同时也面临不同的学习曲线以及架构扩展性等问题。因此选择合适的框架十分重要。以下几个建议在选择JavaScript框架上回有所帮助——

  1. 了解自己的项目需求
    确定自己的项目到底是什么,具体需求是什么。是普通类型的网站还是在线的web应用程序?是否需要处理大量的键盘和鼠标事件?是否需要为用户提供大量Ajax特性?或者仅需实现一个简单的异步页面刷新和一些简单的DOM操作?如果是后者,可以选择相对简单的JavaScript框架,封装基本的xmlhttprequest操作和DOM操作就可以。
  2. 浏览器的支持情况
    不同框架兼容的浏览器有所不同,一些高级的JS框架对低版本的浏览器不支持,有些框架只支持IE和Firefox。因此在框架的选择上还要考虑到系统的目标用户,如果目标用户都使用IE6.0以上的浏览器在框架的选择上有很大余地。

  3. 是否有核心开发团队
    很多框架是在个人的业余时间开发的,随时有可能停止更新,但是如果后面有一个核心开发团队,则在一定程度上可以保准代码的更新,对bug和一些问题也能及时响应,同时在代码质量上也有保证。

  4. 框架的成熟度
    刚发布的框架使用者往往不多,如果贸然采用,在使用过程中遇到问题,要找个解决问题的人或者上网查找资料都比较难。

  5. 框架的发布更新频率
    框架的更新频率很高说明新的功能在不断加入或者bug被fix的速度很快;反之,一个框架半年都不出一个版本,基本可以说明这个框架已不被开发者重视,很难得到新的发展。

  6. 文档的友好性
    一个框架尤其是相对比较复杂的框架,如果没有充分和友好的文档,学习曲线会比较好,使用者在使用过程中往往需要通过阅读代码和其他外部文章来学习怎么使用和解决一些问题。

  7. 是否有个活跃的社区
    一些成功的框架背后往往有个活跃的社区在支撑,大家在里面交流使用经验,互相帮助解决使用过程中遇到的问题。任何问题只要在社区中寻求帮助,往往很快就能在别人的帮助下得到解决。这样的框架,及时刚开始不成熟,也会很快发展起来。

  8. 框架的扩展性
    在实际的项目过程中,往往一个固定的框架是很难满足用户的所有需求的,这就需要用户做一些定制和扩展的工作,如果一个框架没有很好的扩展性,在后期为了实现某种特殊需求,可能需要用户不得不采用另一种框架,使项目成本大大增加。

  9. 性能和网络环境
    不同的系统在性能和功能的侧重上回有所不同,很多JS的框架在性能上不能让人满意往往是因为封装了太多功能使JS文件非常大,在互联网环境下,下载加速文件会花去不少时间;还有就是为了保证如框架的扩展性,往往会做多层封装和抽象,在某种程度上也是以牺牲部分性能为代价的。所以这样的框架可能更适合一些intranet内部的项目,而不是基于互联网的项目。

如何自学

学习包括JS在内的编程都不能只看书,看书的效率非常低,学习JS一段时间后会了解它的基本语法,这时候应该多做练习,动手敲代码,对照源代码自己实现,遇到不懂的地方查找资料或询问了解相关知识。
先学习特效,再学习面向对象,用面向对象的方式实现一些控件,之后将所学的东西融会贯通,在不断积累中提高技能,增加经验。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值