开源最前线(ID:OpenSourceTop) 猿妹 整编
链接:https://www.itcodemonkey.com/article/987.html
Java 是目前最需要的编程语言之一。在这里,我们已经挖掘了一些关于框架趋势的有用信息,也就是最受开发者青睐的 Java 框架,名单如下:
https://github.com/spring-projects/spring-framework/tree/master/spring-webmvc
自从 10 多年前的第一次发布之后,SpringMVC 老当益壮,继续保持着领头羊的地位。在其完全拥抱 MVC 框架之后,Spring 不断的发展与变化着,转变成了一个功能全面的面向互联网应用程序的 Java 框架, 它能提供给软件工程师的是一个用于 Web 应用程序开发的强大工具集,以及针对安全项目的应用程序配置。具有如下特性:
● 简单的 POJO 测试数据注入方式。
● 增强过的模块化,因此拥有更好的代码可靠性。
● 不同模块之间解耦和。
● 能灵活运用的依赖注入(DI)。
https://github.com/spring-projects/spring-boot
Spring Boot 项目旨在简化创建产品级的 Spring 应用和服务。你可通过它来选择不同的 Spring 平台。可创建独立的 Java 应用和 Web 应用,同时提供了命令行工具来允许 'spring scripts'。Spring Boot 不生成代码,完全无需 XML 配置。
https://github.com/javaserverfaces/
JavaServer Faces (JSF) 是一种用于构建 Web 应用程序的新标准 Java 框架。它提供了一种以组件为中心来开发 Java Web 用户界面的方法,从而简化了开发。虽然这不是一个可以进行快速 Java 开发的最好框架,但它很容易使用,因为 Oracle 提供了大量文档。此外,除非你离开 Java EE 环境,JSF 不需要任何的外部依赖,并且功能非常强大。
https://github.com/playframework/playframework
Play Framework 是基于一个轻量级的,无状态的,Web 友好的架构。Play 建立在 Akka,Play 提供可预测的和最小的资源消耗(CPU,内存,线程)的高度可扩展的应用程序。
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 的更新产品。
https://github.com/hibernate/
Hibernate 是一种 Java 语言下的对象关系映射解决方案。 它是使用 GNU 宽通用公共许可证发行的自由、开源的软件。它为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架。Hibernate 也是目前 Java 开发中最为流行的数据库持久层框架,现已归 JBOSS 所有。
Hibernate是一个高级的 ORM 框架,你可以用它来在 Java 对象(实体)上进行数据库操作。利用 Hibernate 缓存来将 Java 环境中的数据持久化到数据库是一个持久化的概念。但 Hibernate 并不允许多次插入操作,也不支持一些 JDBC 能支持的查询操作。
https://github.com/vaadin/framework
Vaadin 是一个 RIA 的基于浏览器的富客户端的 Web 框架。与 JavaScript 库或者是基于浏览器插件的解决方案不同,Vaadin 包含一个服务器端的结构,主要的应用逻辑都在服务器端运行,浏览器通过 Ajax 技术跟服务器端进行交互。Vaadin 提供多种各样的UI组建,例如按钮、表格、树形列表等等,每个组件都具有事件、侦听器、数据绑定和业务逻辑等功能。
通过在 Java 或 HTML 中的开发布局,Vaadin 提供了可以使用 MVC 或 MVP 进行数据绑定的方法。而且,拖放支持以及其他突出的特点简化了对 Java 应用程序单页UI的创建。
https://github.com/gwtproject/gwt
Google 网页工具包——GWT 提供了一组基于 Java 语言的开发包,这个开发包的设计参考 Java AWT 包设计,类命名规则、接口设计、事件监听等都和 AWT 非常类似。熟悉 Java AWT 的开发者不需要花费多大的力气就能够快速的理解 GWT 开发工具包,将更多地时间投入到 GWT 应用的开发过程中。
开发出来的 Java 应用将由 GWT 开发包提供的编译工具编译后声生成对应的、应用了 Ajax 技术的 Web 应用,Java 应用中出现的、和服务器之间的交互动作被自动生成的异步调用代码所代替。
https://github.com/Grails
Grails 是一套用于快速 Web 应用开发的开源框架,它基于 Groovy 编程语言,并构建于 Spring、Hibernate 和其它标准 Java 框架之上,从而为大家带来一套能实现超高生产力的一站式框架。
https://github.com/eclipse/vert.x
Vert.x 是一个用于下一代异步、可伸缩、并发应用的框架,旨在为 JVM 提供一个 Node.js 的替代方案。开发者可以通过它使用 JavaScript、Ruby、Groovy、Java、甚至是混合语言来编写应用。
https://github.com/ehcache
EhCache 是一个纯 Java 的进程内缓存框架,具有快速、精干等特点,是Hibernate 中默认的 CacheProvider。下图是 Ehcache 在应用程序中的位置:
主要的特性有:
● 简单高效
● 多种缓存策略
● 缓存数据有两级:内存和磁盘,因此无需担心容量问题
● 缓存数据会在虚拟机重启的过程中写入磁盘
● 可以通过 RMI、可插入 API 等方式进行分布式缓存
● 具有缓存和缓存管理器的侦听接口
● 支持多缓存管理器实例,以及一个实例的多个缓存区域
● 提供 Hibernate 的缓存实现
关于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、数据库、运维