GitHub 上最火的 Java 框架

2017 年 11 月 3 日 程序猿
开源最前线(ID:OpenSourceTop) 猿妹 整编

链接:https://www.itcodemonkey.com/article/987.html


Java 是目前最需要的编程语言之一。在这里,我们已经挖掘了一些关于框架趋势的有用信息,也就是最受开发者青睐的 Java 框架,名单如下:


1
Spring MVC

https://github.com/spring-projects/spring-framework/tree/master/spring-webmvc


自从 10 多年前的第一次发布之后,SpringMVC 老当益壮,继续保持着领头羊的地位。在其完全拥抱 MVC 框架之后,Spring 不断的发展与变化着,转变成了一个功能全面的面向互联网应用程序的 Java 框架, 它能提供给软件工程师的是一个用于 Web 应用程序开发的强大工具集,以及针对安全项目的应用程序配置。具有如下特性:

● 简单的 POJO 测试数据注入方式。

● 增强过的模块化,因此拥有更好的代码可靠性。

● 不同模块之间解耦和。

● 能灵活运用的依赖注入(DI)。


2
Spring Boot

https://github.com/spring-projects/spring-boot


Spring Boot 项目旨在简化创建产品级的 Spring 应用和服务。你可通过它来选择不同的 Spring 平台。可创建独立的 Java 应用和 Web 应用,同时提供了命令行工具来允许 'spring scripts'。Spring Boot 不生成代码,完全无需 XML 配置。



3
JSF

https://github.com/javaserverfaces/


JavaServer Faces (JSF) 是一种用于构建 Web 应用程序的新标准 Java 框架。它提供了一种以组件为中心来开发 Java Web 用户界面的方法,从而简化了开发。虽然这不是一个可以进行快速 Java 开发的最好框架,但它很容易使用,因为 Oracle 提供了大量文档。此外,除非你离开 Java EE 环境,JSF 不需要任何的外部依赖,并且功能非常强大。




4
Play Framework

https://github.com/playframework/playframework


Play Framework 是基于一个轻量级的,无状态的,Web 友好的架构。Play 建立在 Akka,Play 提供可预测的和最小的资源消耗(CPU,内存,线程)的高度可扩展的应用程序。



5
Struts 2

https://github.com/apache/struts

Struts 是 Apache 软件基金会(ASF)赞助的一个开源项目。Struts 2 是 Struts 的下一代产品,是在 Struts 1和 WebWork 的技术基础上进行了合并的全新的 Struts 2 框架。


它本质上相当于一个 Servlet,在 MVC 设计模式中,Struts2 作为控制器(Controller)来建立模型与视图的数据交互。Struts 2 是 Struts 的下一代产品,是在 Struts 1 和 WebWork 的技术基础上进行了合并的全新的 Struts 2 框架。其全新的 Struts 2 的体系结构与 Struts 1 的体系结构差别巨大。Struts 2 以 WebWork 为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与 ServletAPI 完全脱离开,所以 Struts 2 可以理解为 WebWork 的更新产品。



6
Hibernate

https://github.com/hibernate/


Hibernate 是一种 Java 语言下的对象关系映射解决方案。 它是使用 GNU 宽通用公共许可证发行的自由、开源的软件。它为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架。Hibernate 也是目前 Java 开发中最为流行的数据库持久层框架,现已归 JBOSS 所有。


Hibernate是一个高级的 ORM 框架,你可以用它来在 Java 对象(实体)上进行数据库操作。利用 Hibernate 缓存来将 Java 环境中的数据持久化到数据库是一个持久化的概念。但 Hibernate 并不允许多次插入操作,也不支持一些 JDBC 能支持的查询操作。



7
Vaadin

https://github.com/vaadin/framework


Vaadin 是一个 RIA 的基于浏览器的富客户端的 Web 框架。与 JavaScript 库或者是基于浏览器插件的解决方案不同,Vaadin 包含一个服务器端的结构,主要的应用逻辑都在服务器端运行,浏览器通过 Ajax 技术跟服务器端进行交互。Vaadin 提供多种各样的UI组建,例如按钮、表格、树形列表等等,每个组件都具有事件、侦听器、数据绑定和业务逻辑等功能。


通过在 Java 或 HTML 中的开发布局,Vaadin 提供了可以使用 MVC 或 MVP 进行数据绑定的方法。而且,拖放支持以及其他突出的特点简化了对 Java 应用程序单页UI的创建。



8
GWT

https://github.com/gwtproject/gwt


Google 网页工具包——GWT 提供了一组基于 Java 语言的开发包,这个开发包的设计参考 Java AWT 包设计,类命名规则、接口设计、事件监听等都和 AWT 非常类似。熟悉 Java AWT 的开发者不需要花费多大的力气就能够快速的理解 GWT 开发工具包,将更多地时间投入到 GWT 应用的开发过程中。


开发出来的 Java 应用将由 GWT 开发包提供的编译工具编译后声生成对应的、应用了 Ajax 技术的 Web 应用,Java 应用中出现的、和服务器之间的交互动作被自动生成的异步调用代码所代替。



9
Grails

https://github.com/Grails


Grails 是一套用于快速 Web 应用开发的开源框架,它基于 Groovy 编程语言,并构建于 Spring、Hibernate 和其它标准 Java 框架之上,从而为大家带来一套能实现超高生产力的一站式框架。



10
Vert.x

https://github.com/eclipse/vert.x


Vert.x 是一个用于下一代异步、可伸缩、并发应用的框架,旨在为 JVM 提供一个 Node.js 的替代方案。开发者可以通过它使用 JavaScript、Ruby、Groovy、Java、甚至是混合语言来编写应用。



11
Ehcache

https://github.com/ehcache


EhCache 是一个纯 Java 的进程内缓存框架,具有快速、精干等特点,是Hibernate 中默认的 CacheProvider。下图是 Ehcache 在应用程序中的位置:



主要的特性有:

● 简单高效

● 多种缓存策略

● 缓存数据有两级:内存和磁盘,因此无需担心容量问题

● 缓存数据会在虚拟机重启的过程中写入磁盘

● 可以通过 RMI、可插入 API 等方式进行分布式缓存

● 具有缓存和缓存管理器的侦听接口

● 支持多缓存管理器实例,以及一个实例的多个缓存区域

● 提供 Hibernate 的缓存实现


附:《猿哥:Java开发学习路径和书籍推荐


关于Java框架学习


推荐 SSM框架:(Spring+SpringMVC+MyBatis),也可以选择 SSH框架(Spring+Struts+Hibernate),毕竟从技能表统计上看,SSH招聘需求还是较多,不过相对于众多新技术而言,struts和Hibernate太重太繁琐,慢慢会被淘汰,但是要一个过程。


不过是SSM还是SSH,两者有相通的原理,同时Spring都需要学都是核心,所以已经学了SSH不要觉得吃亏,找时间再补充学习SSM,速度会快许多。



●本文编号2716,以后想阅读这篇文章直接输入2716即可

●输入m获取到文章目录

推荐↓↓↓
 

Java编程

更多推荐18个技术类微信公众号

涵盖:程序人生、算法与数据结构、黑客技术与网络安全、大数据技术、前端开发、Java、Python、Web开发、安卓开发、iOS开发、C/C++、.NET、Linux、数据库、运维

登录查看更多
0

相关内容

java开发框架
【2020新书】使用高级C# 提升你的编程技能,412页pdf
专知会员服务
56+阅读 · 2020年6月26日
【Manning新书】现代Java实战,592页pdf
专知会员服务
98+阅读 · 2020年5月22日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
115+阅读 · 2020年5月10日
【书籍推荐】简洁的Python编程(Clean Python),附274页pdf
专知会员服务
173+阅读 · 2020年1月1日
使用 C# 和 Blazor 进行全栈开发
DotNet
6+阅读 · 2019年4月15日
34个最优秀好用的Python开源框架
专知
9+阅读 · 2019年3月1日
深度学习开发必备开源框架
九章算法
12+阅读 · 2018年5月30日
Python 杠上 Java、C/C++,赢面有几成?
CSDN
6+阅读 · 2018年4月12日
3月份GitHub上最热门的开源项目
大数据技术
3+阅读 · 2018年4月10日
号称“开发者神器”的GitHub,到底该怎么用?
算法与数据结构
4+阅读 · 2018年3月29日
28 款 GitHub 最流行的开源机器学习项目(附地址)
七月在线实验室
4+阅读 · 2017年12月18日
资源 | GitHub上的五大开源机器学习项目
机器之心
9+阅读 · 2017年11月9日
【机器学习】推荐13个机器学习框架
产业智能官
8+阅读 · 2017年9月10日
开源巨献:阿里巴巴最热门29款开源项目
算法与数据结构
5+阅读 · 2017年7月14日
Arxiv
108+阅读 · 2020年2月5日
Next Item Recommendation with Self-Attention
Arxiv
5+阅读 · 2018年8月25日
Arxiv
7+阅读 · 2018年1月24日
Arxiv
3+阅读 · 2017年12月18日
VIP会员
相关VIP内容
相关资讯
使用 C# 和 Blazor 进行全栈开发
DotNet
6+阅读 · 2019年4月15日
34个最优秀好用的Python开源框架
专知
9+阅读 · 2019年3月1日
深度学习开发必备开源框架
九章算法
12+阅读 · 2018年5月30日
Python 杠上 Java、C/C++,赢面有几成?
CSDN
6+阅读 · 2018年4月12日
3月份GitHub上最热门的开源项目
大数据技术
3+阅读 · 2018年4月10日
号称“开发者神器”的GitHub,到底该怎么用?
算法与数据结构
4+阅读 · 2018年3月29日
28 款 GitHub 最流行的开源机器学习项目(附地址)
七月在线实验室
4+阅读 · 2017年12月18日
资源 | GitHub上的五大开源机器学习项目
机器之心
9+阅读 · 2017年11月9日
【机器学习】推荐13个机器学习框架
产业智能官
8+阅读 · 2017年9月10日
开源巨献:阿里巴巴最热门29款开源项目
算法与数据结构
5+阅读 · 2017年7月14日
相关论文
Arxiv
108+阅读 · 2020年2月5日
Next Item Recommendation with Self-Attention
Arxiv
5+阅读 · 2018年8月25日
Arxiv
7+阅读 · 2018年1月24日
Arxiv
3+阅读 · 2017年12月18日
Top
微信扫码咨询专知VIP会员