10种流行的Java框架

发表于:2020-6-12 09:17

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:佚名    来源:闻数起舞

#
java
#
Java
分享:
  任何框架都是有助于更快更好地开发软件解决方案的工具之一。
  框架的基本原理不必重新发明轮子。 框架使开发人员的工作变得更轻松,并帮助他们专注于业务逻辑,而不必担心通用的代码段。
  而且由于Java并不是最简单的编程语言之一,因此框架在这里绝对是有用的工具。
  在本文中,我收集了一些流行,最有价值的框架,这些框架可以帮助您进行Java应用程序开发。
 
  1. Spring
  这是其他Java框架中的绝对领导者。 掌握Spring是Java开发人员职位最普遍的要求之一。 造成这种情况的原因很多,但主要的原因是普遍性。
  Spring是一个功能强大,轻量级且最受欢迎的Java EE框架。 正如开发人员自己所说:Spring使Java变得简单,现代,高效,可响应,可用于云。 它以依赖注入和面向方面的编程功能而闻名。 实际上,它是框架的容器,使您可以执行任何复杂的任务-从使用数据库测试过程。
  开发人员更有可能选择Spring MVC和Spring Boot。 这些框架的最大优点是能够分离其他模块并由于控制反转(IoC)而专注于一个模块。
  优点:
  使用POJO(普通Java对象)可导致更简单,更灵活的代码库;
  支持模块化(具有许多软件包和类);
  向后兼容和易于测试;
  庞大的生态系统(Spring Boot,Spring Cloud)和社区;
  广泛的文档和多个Spring教程。
  缺点:
  不太容易配置
  陡峭的学习曲线
  为了检查每个框架的流行程度,使用了Google趋势。
  以下是最近5年Spring受欢迎程度的统计数据:
  10种流行的Java框架
  Spring受欢迎程度有所下降,但总体情况表明,它正在逐年增长。
  如前所述,Spring在Github上拥有非常活跃的社区和37K星。
  2. Play
  Play是大多数开发人员喜欢的另一个轻量级框架。 它允许您使用Java和Scala构建Web应用程序。 它是为满足现代移动和Web应用程序的需求而设计的。
  Play基于无状态,网络友好且轻量级的体系结构。 主要区别特征包括高速,高质量和良好的可伸缩性。 它建立在Akka之上,并提供了以更高级的方式思考的敏捷性-不是与Data元素做什么,而是如何处理事物流。
  该框架具有异步API,可让您扩展应用程序而无需引入其他资源。 该框架为各种微服务模式提供了出色的支持。
  优点:
  由于热代码重载而提高了效率;
  Play是可插入的,可配置的,可自定义的,因此很灵活;
  易于调试:Play可以在开发人员模式下处理运行时错误和编译错误;
  建立在Netty上,并支持非阻塞I / O;
  开源,一切都在幕后运作良好;
  易于上手。
  缺点:
  Play2基本上是对Play1的重写;
  围绕异步I / O构建,这意味着编写"稍后执行"的代码。
  10种流行的Java框架
  Github星星:11.6万。 该框架已被LinkedIn,三星,The Guardian,Verizon等主要公司使用,这证实了其可靠性。
  3. Spark
  Spark Framework是Java和Kotlin编程语言的一种微框架和特定于领域的语言。 Kotlin也可以在JVM上运行,并且可以与Java 100%互操作。 使用Spark,您可以轻松开发Web应用程序,微服务和REST API。
  实际上,您可以在几分钟内启动并运行Spark框架。 默认情况下,它在嵌入框架的Jetty Web服务器上运行。 但是,您也可以将其与其他Java Web服务器一起使用。
  优点:
  专为提高生产力而设计;
  让您充分利用JVM;
  易于启动和运行;
  可扩展,您可以插入任何模板引擎。
  缺点:
  仅适用于创建小型Web应用程序或API后端。
  在2016年至2018年之间,Spark的受欢迎程度逐渐提高。现在,对该框架的兴趣有所降低:
  10种流行的Java框架
  Github星星:8,8K。 Spark被Arquillian,Apache,Asana,Playlife等公司使用。
  4. JHipster
  Jhipster是最新的Java框架之一。 它于2013年发布。Jhipster将Spring Boot,Angular和React集成到一个大型框架中。 它使您可以轻松构建基于Java的现代Web应用程序。
  框架中内置了Spring Boot,可让您基于Spring开发应用程序。 除了Angular和React,JHipster还包含Bootstrap。 该框架允许开发人员在两种类型的体系结构之间进行选择:整体式和微服务。 在第一种情况下,前端和后端集成到一个应用程序中,在第二种情况下-它们是分开的。
  顺便说一下,诸如Adobe,西门子,博世,HBO和Google等品牌都在使用JHipster。
  优点:
  轻松引导具有许多预配置技术的新项目;
  遵循后端和前端开发的最佳实践和最新趋势;
  拥抱Docker和Kubernetes的云原生原则;
  开箱即用的登录,登录,用户管理和监视功能;
  项目中仅包含您选择的那些技术。
  缺点:
  要与JHipster一起使用,最好先熟悉一堆技术;
  从端点返回的REST响应并不总是符合业务需求;
  并非同一级别上可用的所有选项。
  根据Google的说法,JHipster的流行高峰是在2018年,并且开始缓慢下降:
  10种流行的Java框架
  Github明星离Play比赛很近:16.2万。 使用JHipster的公司:Adobe,CGI,BOSCH,HBO,Siemens等。
  5. Blade
  Blade是一个轻量级的Java 8+ MVC框架。 当我们谈论Blade的轻巧性时,是指其源代码的大小,该大小不超过500KB。
  要使用Blade,您需要创建一个常规的Maven项目。 Blade提供了Java 9具有的模块化支持。 它还支持许多Java Web组件。
  优点:
  轻巧;
  模块化:可以选择要使用的组件;
  支持插件扩展和Web jar资源;
  嵌入式码头服务器和模板引擎支持;
  RESTful样式路由;
  支持JDK 1.6及更高版本。
  缺点:
  仅有助于创建小型MVC应用程序;
  主站点上的文档为中文(但确实有英文文档)。
  Google的总体统计数据表明Blade的受欢迎程度正在逐步提高:
  10种流行的Java框架
  Github星星:5,3K。
  6. Hibernate
  在谈论最佳的Java Web框架时,不能忽视Hibernate。
  Hibernate是一个ORM(对象/关系映射)框架。 它允许您不使用SQL而是使用Java将查询写到数据库服务器,这通常会改变数据库的常规外观。
  尽管Hibernate并不是一个成熟的框架,但它使您可以轻松地转换各种数据库的信息。 无论应用程序大小和用户数量如何,此功能还可以简化扩展。 通常,此框架可以描述为快速,强大,易于扩展和可定制的。
  它是在GNU Lesser General的公共2.1许可下分发的免费软件。
  优点:
  Hibernate使您可以通过在代码中进行微小的更改来与任何数据库进行通信。
  MySQL,Db2或Oracle,Hibernate与数据库无关;
  缓存工具以查询相同的错误目录;
  N + 1或缓慢的加载支持;
  数据丢失风险低,并且需要的功率更少。
  缺点:
  如果电源关闭,您可能会丢失所有数据。
  重新启动可能非常慢。
  查看下面的图表,我们发现在这5年中,Hibernate的普及率一直在下降:
  10种流行的Java框架
  GitHub星级:4,3K。
  7. MyBatis
  MyBatis是用于Java编程的映射框架。 它简化了将Java应用程序与SQL数据库链接的过程:它充当它们之间的中间件。
  通常,您将需要Java数据库连接API才能将应用程序连接到关系数据库。 MyBatis简化了过程。 它使开发人员仅使用几行代码即可执行基本的SQL操作。
  MyBatis可以与Hibernate框架进行比较。 它们都代表了应用程序和数据库之间的一种桥梁。 唯一的区别是MyBatis不会将Java对象映射到关系数据库。
  优点:
  简便快捷的发展;
  XML标记,支持动态SQL语句编写;
  非常适合编写纯SQL。
  缺点:
  SQL可能绑定到特定的数据库供应商。
  数据库可移植性差。
  根据Google的说法,对该框架的兴趣正逐渐增加:
  10种流行的Java框架
  Github星级:13.6K。
  8. Struts
  Struts是用于创建企业级Java Web应用程序的开源MVC(模型-视图-控制器)框架。 最初的Struts框架(Struts 1.x)在2007年与WebWork框架合并时进行了重建。 Struts 1.x和Struts 2.x不可互换,因为它们之间存在重要区别。 您可以从Struts的Releases页面下载。
  该框架的主要优点是其可移植插件,即JAR软件包。 在这种情况下,Hibernate和Spring插件可分别用于对象关系映射和依赖项注入。 通过成功组织Java,JSP和Action类,该框架还有助于减少总体开发时间。
  优点:
  使用简单,基于MVC设计模式;
  与REST,JSON和AJAX配合使用;
  通过插件与其他Java技术集成;
  支持主题和模板;
  使用基于POJO的简单操作。
  缺点:
  难以浏览的文档;
  不适合较小的应用程序。
  谷歌显示Struts的知名度在2016-2018年达到顶峰,现在开始缓慢下降:
  10种流行的Java框架
  Github评分不高:1k星。 Synopsys,ExpertIO,Nsys Design Systems和其他公司使用Struts。
  9. Vaadin
  Vaadin是一个开放源代码客户端服务器框架,可让您使用预先设计的UI组件创建Web应用程序。 它是专门针对业务应用程序而构建的,重点是可访问,美观且直观的用户界面。
  Vaadin允许您使用纯Java编写UI,而不会陷入JS,HTML和CSS的困境。 此外,您可以使用HTML或视觉设计器创建布局。 Vaadin可直接从Java虚拟机提供对DOM的访问。 此外,它还带有可以通过样式API自定义的现成主题。
  在Vaadin 8之前,客户端是基于GWT的。 Vaadin 10是该框架的重大改进:完全重写了客户端,删除了GWT,并且Vaadin切换到Web组件标准和客户端上的Google Polymer。 新的Vaadin组件是一组Web组件,可以与其他前端JavaScript技术(例如React和Vue甚至纯JavaScript)结合使用。
  优点:
  高开发人员生产力和快速开发;
  建立在Web组件标准上;
  与任何常规Web技术相比,提供了许多组件,布局和不同的侦听器;
  自动化客户端-服务器通信和路由;
  拥有良好的文档资料和活跃的社区。
  缺点:
  与其他可用技术相比,可伸缩性较差;
  大型应用程序的初始加载可能很慢。
  至于受欢迎程度,它正在缓慢下降:
  10种流行的Java框架
  Github评分:1,6K星。 Vaadin由Docucom,AXPM,CGI,HPD LendScape等使用。
  10. JavaServer Faces(JSF)
  JSF是一种JCP标准技术,用于在Java EE平台上创作基于组件的用户界面。 该框架可能不是最好的框架,但是最大的好处是Oracle支持,许多其他工具,出色的文档以及友好的社区。
  JSF可用于创建企业应用程序,本机程序和Web开发。 开发人员可以通过在页面中组装可重用的UI组件,将这些组件连接到应用程序数据源,并将客户端生成的事件连接到服务器端事件处理程序,来构建Web应用程序。
  优点:
  JSF是Java EE的重要组成部分,对于使用IDE软件的开发人员来说非常方便。
  缺点:
  要与JavaServer Faces一起使用,最好具有丰富的Java知识,一般地了解网络技术,并在没有任何框架的情况下具有在网络上工作的经验。
  根据下图,JSF逐渐失去了知名度:
  10种流行的Java框架
  如前所述,JSF并不是最好的技术,但对IDE软件却很有用。
  结论
  Java框架被认为是当今对开发人员最重要的支持,因此仍然存在。 我试图列出其中最有前途和有用的。 最主要的是为特定项目选择最合适的框架。

      本文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号