您的位置:网站首页 > Java工具 > 正文

2017年前端框架、类库、工具大比拼

类别:Java工具 日期:2018-8-5 2:56:16 人气: 来源:

  相比于Java开发人员的数量,目前Java框架、类库和工具的数量似乎更多一些。截至2017年5月,GitHub上的快速搜索显示,有超过110万个Java项目。50万个可用的软件包,每月下载量近100亿次。

  本文将会讨论目前最为流行的客户端Java框架、类库和工具以及它们之间的基本差异。也许本文无法告诉你哪个是最好的,但是最适合自己项目的,就是最好的。

  类库是一个有组织的功能集合。典型的类库包括字符串处理、日期、HTML DOM元素、事件、Cookie、动画、网络请求等功能。你可以自己实现一个函数,以便选择该函数被调用时是否需要返回一个值。

  类库通常提供一种高级别的抽象方法,能够帮助顺利实现项目的细节部分。例如,Ajax通常依赖于 API,只需要几行代码就实现功能,只是浏览器之间存在细微的差异。类库提供了更简单的ajax()函数,因此开发者可以专注于更高级别的业务逻辑上。

  框架是应用程序的骨架。它要求以特定的方式来进行软件设计,在某些节点上实现自己的逻辑。框架通常提供了事件、存储和数据绑定等功能。

  工具会帮助开发工作,但却不是项目的组成部分。工具包括构建系统、编译器、转译器、代码分割器、图像压缩器、部署机制等。

  工具帮助实现一个更容易的开发过程。例如,对比于CSS,许多编码者更喜欢Sass,因为它提供了代码分离、嵌套、渲染时变量、循环和函数。浏览器不了解Sass / SCSS语法,因此在测试和部署之前,必须使用适当的工具将代码编译为CSS。

  类库、框架和工具之间的区别很小。框架可以包括一个类库,类库可以实现类似框架的方法,项目中任何一种工具都是必不可少的。所以不需要明确的区分类库、框架和工具。

  随着WordPress、一些其它框架的发布,jQuery仍然是最常用的Java类库。它通过将CSS选择器引入到DOM节点检索加链来应用事件处理程序、动画和Ajax调用,这彻底改变了客户端的开发。

  Lodash和Underscore在本节一起谈论。它们提供了数百个功能性的Java实用程序来补充原生字符串、数字、数组和其它原始对象方法。虽然两个类库之间有一些重叠,但是不太可能在一个项目中同时使用这两个类库。

  虽然两个类库在客户端使用率很低,但是却可以在服务器端的Node.js应用程序中使用这两个类库。

  Angular是框架(或MVC应用程序框架)类列表中的第一个。目前最流行的Angular版本是1.x,它使用双向数据绑定扩展HTML,同时解耦了DOM操作和应用程序逻辑。

  Angular 2.0于2016年9月发布。这是一个完整的重写,它引入了使用Type创建的基于模块化组件的模型。Angular 4.0于2017年3月发布。

  Angular 2.x与v1版本截然不同,也不与其它版本兼容 – 也许Google应该给项目起一个不同的名字!

  React是一个用于构建用户界面的Java类库,也是去年最受关注的类库。它专注于Model-View-Controller(MVC)开发的“View”部分,使用它可以轻松创建保留状态的UI组件。它是实现虚拟DOM的首选类库之一, 它的内存结构能够有效地计算差异,页面更新也更加有效。

  Vue.js是一个用于构建用户界面的轻量级渐进框架。它提供了一个类似React的虚拟DOM驱动视图层,可以与其它类库集成,用于构建强大的单页面应用。该框架是由之前在AngularJS工作过的Evan You创建的,他提取了AngularJS中自己喜欢的部分。

  Vue.js使用HTML模板语法将DOM绑定到实例数据。Model是在数据改变时更新view的纯Java对象。

  Backbone.js是提供服务器端框架中常见的MVC结构的最早客户端选项之一。它唯一的依赖是Underscore.js。

  Backbone.js声称是一个类库,因为它可以与其它项目集成,但是我觉得大多数开发人员都认为它是一个框架。

  Ember.js是基于Model-View-ViewModel(MVVM)模式的框架之一。它在单个包中实现模板化、数据绑定和类库。

  Knockout.js是最早的MVVM框架之一,它确保了UI与底层数据保持同步,具有模板和依赖关系。

  构建工具自动执行各种Web开发任务,例如预处理、编译、优化图像、缩小代码、代码分析和运行测试等。任务可以在一个可执行包中统一管理。梦见钞票

  虽然Gulp不是第一个任务执行工具,它却很快成为了最受欢迎的。Gulp使用易于阅读的Java代码,将源文件加载到流中,并在将数据输出到构建文件夹之前,通过各种插件管理数据。在任何其它选项之前检查Gulp.js是简单、快速和有趣的。

  npm是Node.js包管理器,但其脚本工具可用于运行通用任务。对于具有少量依赖关系的简单项目来说,这是一个很好的选择。然而,更复杂的任务可能会变得不太适用。

  Grunt是第一批被大规模采用的Java任务执行工具之一,但其速度和复杂的JSON配置却导致了Gulp的兴起。现在这些问题已经得到了解决,Grunt仍然是一个受欢迎的选择。

  多个Java文件的管理已经成为了一件繁琐的事情。默认情况下,浏览器文件不会被编译,因此其依赖关系必须以适当的顺序进行加载或连接。虽然有像ES6模块和CommonJS这样的选项,但是浏览器支持是有限的,因此模块绑定变得十分重要。

  Webpack支持所有流行的模块选项,并已成为React开发的代名词。虽然Webpack声称是一个模块程序,但是已经可以用作通用任务运行程序了。

  Browserify支持Node.js正在使用的CommonJS模块,它将所有模块编译成单个浏览器兼容的文件。

  代码分析工具用于分析代码中潜在错误或偏离语法的标准。一个未闭合括号或未声明的变量一定会被检测出。

  ESLint是一种可插拔的代码分析工具。每个规则都是一个插件,因此可以根据个人喜好进行配置。

  测试驱动开发的任务要求需要编写代码来测试自己的代码。目前有许多选择,包括Ava, Tape 和Jest ,但目前最流行的三个工具是:

  Mocha是一个Java测试框架,可以在Node.js或浏览器中运行测试。它支持异步测试,并且经常与Chai配合使用,这样可以使测试代码以可读取的方式表达。

  QUnit是一个单元测试框架,可以在输入特定参数时,检查函数结果。它还测试结果,确保没有错过特定的代码分支。

  整体框架已经不再受欢迎了,如果你需要对一个较大型项目进行严格的结构管理,AngularJS是一个不错的选择。目前大多数人使用Angular 1.0版本,但是长远来讲,如果你愿意学习Type,Angular 4.x版本是个更好的选择。

  jQuery虽然现在并不十分流行,在技术新闻中也很少会被提到,但不可否认它是积极开发的,同时也是网站和应用程序的有力工具。jQuery具有平缓的学习曲线,全球许多开发人员能够很好地理解。

  如果你想要冒险,可以试试Svelte这是一个有趣的客户端/服务器框架,它可以在构建时预先呈现Java,并且可以改变我们开发的方式。

  工具的选择因项目而异。虽然目前使用Gulp的开发者占大多数,但WebPack却越来越受欢迎。同时你也不能错过ESLint和Mocha等测试工具。

  过去的十年,Java经历了性的发展。过去只有少量基本的类库可以选择,但是现在可供选择的类库已经铺天盖地。也许无法确定哪个类库、框架和工具是最好的,但是最适合自己项目的,就是最好的。

  《实战Java高并发程序设计》课程由畅销书作者葛一鸣老师亲授!课程重点介绍基于Java语言的并行程序设计。内容将涵盖多线程基础、并发库解析以及高并发程序设计思等多个方面。如何写出正确的并行代码,而且是写出高性能的程序,本课程都会给你答案!返回搜狐,查看更多

  本文由 325游戏(m.325games.com)整理发布

关键词:java 工具类库
0
0
0
0
0
0
0
0
下一篇:没有资料

网友评论 ()条 查看

姓名: 验证码: 看不清楚,换一个

推荐文章更多

热门图文更多

最新文章更多

关于联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助

郑重声明:本站资源来源网络 如果侵犯了你的利益请联系站长删除

CopyRight 2010-2012 技术支持 FXT All Rights Reserved