您的位置 首页 java

15个Java框架,为开发者提供了一个提升

Java 开发框架可以帮助开发人员更快地开发和运行应用程序,提供代码重用并消除构建样板代码的任务。

开发人员有很多Java框架选择。这里有15个按字母顺序构建Java平台应用程序的主要选择。

Blade:轻量级 MVC框架

这个MVC框架基于Java 8和Netty Web服务器。描述为轻量级且简单,Blade提供 REST 风格的路由接口,并且没有入侵拦截器,文档状态。刀片的源代码小于500KB。

要使用Blade构建应用程序,开发人员可以创建一个通用的 Maven 项目。包括模板引擎支持和流式API风格。

Blade的开发始于2015年,目标是提供一个完整的Web框架。计划要求增加对Java 9特有的模块化的支持, 并支持更多的Web生态系统组件。

Dropwizard:”ops友好”的网络服务

Dropwizard于2011年首次发布,它是一个架构”适合操作系统的”REST风格的 Web服务 。使用Dropwizard,您可以使用Jetty HTTP库将HTTP服务器嵌入到项目中。Jersey JAX-RS实现支持编写将HTTP请求映射到Java对象的可测试类。JSON还有杰克逊工具。

核心贡献者Nick Babcock说,Dropwizard的关键是开发过程中和开发后的生产力。开发人员可以专注于业务逻辑,而不是为度量,配置和日志编写代码。Dropwizard的建设者计划在确定如何改进框架时,继续关注诸如Jetty和 Jersey 等项目的改进。

Grails :由Groovy JVM 语言支持

现在由Object Computing Initiative(OCI)维护 , Grails是一个为JVM构建Web应用程序的框架。开发人员可以构建应用程序,如内容管理系统和电子商务网站,以及RESTful Web服务。基于Groovy JVM语言,Grails使用包括Java EE容器,Hibernate和 Spring 在内的Java技术,并且使用Java Development Kit进行操作。

粉丝们表示,与使用其他框架构建应用程序所需的代码相比,它需要的代码少得多,复杂性也较低。由Graeme Rocher创立的这个已有十年历史的框架4.0版将于2018年底发布,其功能包括支持Groovy 2.5,Java 8基线和Java 9。

GWT:Java in,JavaScript out

“gwit”也称为 Google Web Toolkit,GWT允许开发人员使用Java编写客户端应用程序并将其部署为JavaScript。它已用于Google产品,例如AdWords和电子钱包。

GWT支持浏览器应用程序的开发,而无需开发人员成为诸如JavaScript或XMLHttpRequest等技术的专家。GWT SDK包括Java库,编译器和开发服务器。GWT编译器提供了整个代码库的优化,内联方法,死代码删除和优化字符串。代码中的分割点可以将下载分割成多个JavaScript片段并改善启动时间。

JavaServer Faces:Web UI的规范

这个具有14年历史的JavaServer Faces( JSF )具有一个Java规范,用于为Web应用程序构建基于组件的UI。它也是一个MVC Web框架,可以简化基于服务器的应用程序的UI构建,并在页面中使用可重用的UI组件。JSF为UI开发提供了一种基于标准的方法,其中应用程序可以跨Java EE应用程序服务器移植。

当前版本的JSF 2使用Facelets作为默认的模板系统。包括XUL(XML用户界面语言)和普通Java在内的视图技术也可以部署。

在JSF之上有一些实现,比如Apache MyFaces。此外,Eclipse Foundation还有其JSF工具项目,旨在简化JSF应用程序的开发。

JHipster:选择Angular或Spring Boot

在Spring Boot应用程序构建器之上工作,这位四岁的JHipster提供了一种现代化的Web服务或微服务架构。它可以构建Spring Boot和Angular应用程序。JHipster由 Okta 赞助,它提供的服务可以提供对工具的安全访问。

客户端技术包括Yeoman,Webpack,Angular和Bootstrap。服务器端技术包括Maven,Spring技术和Netflix OSS。

开发中有JHipster 5,后端支持Spring Boot 2,并支持前端的React JavaScript UI框架。JHipster的领域语言也将得到增强。

MyBatis :更简单的关系数据库集成

MyBatis的主要卖点是简化JDBC的使用并减少编写与关系数据库交互的Java应用程序时所需的代码量。MyBatis通过不将类映射到表而将对象映射到 SQL 来区别于对象关系映射工具。使用MyBatis,SQL不会被开发人员隐藏。该框架为数据库和架构提供了灵活性,可以使用它。

MyBatis最初被称为iBatis,它于2002年首次公开展示。

Play Framework:反应式网页框架

Play采用轻量级无状态架构,是一款适用于Java和 Scala 的高生产力,反应式Web框架。它提供了代码更改的热负载,开发人员进行更改,刷新浏览器并立即查看更改,而无需重新编译或部署。

异步API让开发人员可以构建可以使用最少资源进行扩展的Web应用程序。构建于分布式应用程序的Akka工具包上,该框架于2007年首次发布,并于2012年进行了重新编写。计划要求使用更为模块化的Play,并提供用于微服务的模块。多重播放服务将能够通过单个命令一次运行,使用热重新加载。对微服务模式如异步消息传递和事件采购的更好支持也在考虑之中。

PrimeFaces:轻量级UI框架

一个用于Java EE和JavaServer Faces的UI框架,十年前的PrimeFaces可以作为一个轻量级库,配置为一个没有依赖关系的.jar文件。该框架由电子商务提供商Prime Technology赞助,拥有超过100个组件,触摸优化的移动套件,客户端验证以及主题套件。

PrimeFaces的开发人员正在尝试使用JSF Renderer APis来确定JSF应用程序是否可以渲染具有Java后端的渐进式Web应用程序(PWA)。他们还在研究让JSF组件渲染Web组件以利用现代Web API。

Spark Framework:用于快速开发的微框架

Spark框架(不要与Apache Spark大数据图表混淆)是一个声明性的Web框架,让开发人员能够快速完成工作并最终运行。使用Java 8的语言功能,七年前的Spark Framework提供了一个富有表现力的API。

Spark的开发人员计划对原始框架进行重大更新,标记为3.0版,并为 Kotlin 语言开发 Spark的正式版本。

Spring Framework:早期支持依赖注入

也许是最着名的Java框架,具有14年历史的Spring框架长久以来都将依赖注入作为关键功能,甚至在Java企业版(EE)拥有它之前就提供了这种功能。

该框架为企业Java应用程序提供了编程和配置模型。它声称会照顾应用程序”管道”,因此开发团队可以专注于应用程序级业务逻辑。它还提供了代码,事务管理,数据访问和Web应用程序的向后兼容性和可测试性。

Spring系列中的合作伙伴项目包括 Spring Boot,以帮助构建Spring应用程序。

Struts: Apache 的MVC框架

Struts是一个用于构建Web应用程序的MVC框架。它使用插件架构,包含REST,AJAX和JSON插件。Struts提供了一些工具来提供和维护基于Web的用户界面和服务,帮助开发人员衔接表示层和服务层,并帮助进行类型转换和输入验证。Struts将请求响应模型与HTML和AJAX UI组件结合在一起。

最初的Struts 1.0框架于2000年推出; Struts 2是在2006年将WebWork 2代码库与Struts合并之后出现的。开发即将开始于Struts 3,Apache将对框架进行彻底的改造。

Tapestry :面向组件的框架

Apache的Tapestry是一个面向组件的框架,用于在Java中构建可伸缩的Web应用程序。编码可以用Java,Groovy或Scala完成。

在Tapestry中,页面和组件是 POJO (普通的旧Java对象)。Apache表示,开发人员 通过访问Java语言特性和Java生态系统,可以获得类似于Ruby或Python的Java和敏捷开发的速度和深度。还提供POJO类,模板和例外报告。实时的类重新加载功能可让开发人员更改代码,刷新浏览器并查看更改,类似于Play Framework。

Tapestry 1.0是在2000年创建的。当前版本Tapestry 5是一个重写版本,没有第4版的共享代码。即将发布的5.5版本的计划调用了添加Java 9支持,性能改进和TypeScript编译。

Vaadin Flow:连接浏览器和服务器

Vaadin的Flow Java Web框架将网络和Java生态系统桥接在一起,它在浏览器和服务器之间建立双向通信,将Web UI与服务器端Java相连接。直接访问从DOM提供给服务器。应用程序在JVM上运行。

作为Vaadin 10开发平台的一部分,Vaadin Flow于2017年10月推出beta版。Vaadin一直是一个单一框架,但该公司将该框架分为Flow和Vaadin 10的Web组件. Vaadin Flow的构建者希望使其更快,使构建渐进式网络应用程序更容易。

Vert.x:JVM上的反应性应用程序

Eclipse Foundation的Vert.x工具包是事件驱动的,并且是非阻塞的。这意味着应用程序可以使用少量的内核线程处理并发。Vert.x可以与Java,JavaScript,Groovy,Kotlin,Ruby,Ceylon和Scala一起使用。为受支持的语言提供了自定义API。

该框架不是限制性的; 它的创造者说,开发者被赋予”有用的砖块”,并可以构建他们想要的应用程序。Vert.x也可用于构建轻量级微服务。

Vert.x 1.0于2012年9月发布。版本3.5.1于2018年2月发布,支持 JUnit 5 Java测试框架。

Wicket:抽象的面向请求的Web技术

Apache的Wicket是一个面向组件的Web框架,它抽象出面向请求的Web技术,并向开发人员提供UI概念,开发人员可以使用Java和HTML来构建UI。使用Wicket,一个页面由多个组件一起工作来提供所需的功能。开发人员根据页面,面板,按钮,链接,表单和列表视图进行思考。组件还可以具有国际化,JavaScript和与其关联的CSS文件。

这个14岁的Wicket在2007年成为Apache项目。接下来Wicket的案例是Java 8成语的引入。开发人员将能够使用Wicket组件使用新的时间/日期API和lambda表达式。(Lambda表达式将减少样板代码。)

后记:对于大部分学习的人来说,找机会把自己的基础知识补齐,边工作边补基础知识,真心很重要。

文章来源:智云一二三科技

文章标题:15个Java框架,为开发者提供了一个提升

文章地址:https://www.zhihuclub.com/191814.shtml

关于作者: 智云科技

热门文章

评论已关闭

5条评论

  1. Monitor Closely 1 rucaparib will increase the level or effect of nifedipine by affecting hepatic intestinal enzyme CYP3A4 metabolism

  2. imatinib will increase the level or effect of encainide by affecting hepatic enzyme CYP2D6 metabolism

  3. Indole 3 carbinol I3C, a dietary compound found in cruciferous vegetables, induces a robust inhibition of CDK2 specific kinase activity as part of a G1 cell cycle arrest of human breast cancer cells

网站地图