Most Popular Java Web Frameworks 10 Best Java Web Frameworks to Use in 2018 (100% Future-Proof)
Friday, March 15, 2019

Most Popular Java Web Frameworks 10 Best Java Web Frameworks to Use in 2018 (100% Future-Proof)

  • Most recent
  • Product
  • Developer tips
  • Resources

17 Popular Java Frameworks [2018 edition]: Pros, cons, and more


Author Anna Monus's avatar.

By Anna Monus

| Posted Jul 4, 2018
| 18 min. (3798 words)

Feature image for 17 Popular Java Frameworks [2018 edition]: Pros, cons, and more

In 2018, Java is still the most popular programming language in the world. It comes with a vast ecosystem and more than 9 million Java developers worldwide . Although Java is not the most straightforward language, you don’t have to write Java programs from scratch. There are many excellent Java frameworks to write web and mobile applications, microservices, and REST APIs that run on the Java Virtual Machine.

Java frameworks allow you to focus on the business logic of your apps instead of writing basic functionality such as making database connections or handling exceptions. Also, if you have some experience with Java, you can get started quickly. The frameworks all use the same syntax and work with similar terms, paradigms, and concepts.

Our top 17 Java frameworks are based on usage through 2018 and listed alphabetically.

Raygun lets you detect and diagnose Java errors with ease

It takes minutes to add Raygun into your software. Be alerted to issues affecting end users and replicate problems 1,000x faster than using logs and incomplete information from users. Learn more .

Blade: Simple application framework with a minimal footprint

Popular Java Framework Blade

Blade is a lightweight and high-performance Java framework that allows you to build fast web applications in a straightforward way. The creators want users to understand the whole framework in a single day. Therefore, Blade focuses on simplicity and elegance.

The Blade framework follows the MVC (Model-View-Controller) software design pattern. It has an easy-to-understand design, as it doesn’t depend on any third-party libraries or introduces too many layers. Blade is based on Java 8, and the Netty web server and template engine are built into the framework, too. It has a minimal footprint; the source code is less than 500kb in total.

With Blade, you have access to a RESTful-style routing interface and can deploy your app as a basic Maven project. Blade has built-in security features too, for instance, it comes with CSRF (Cross-Site Request Forgery) and XSS (Cross-site scripting) defense. It’s a versatile framework, as it comes with support for plugin extensions and webjar resources. The documentation on the main site is in Chinese. However, it does have English-language documentation in the GitHub repo .

Dropwizard: Production-ready RESTful web services

Popular Java Framework Blade

Dropwizard is a high-performance but straightforward Java framework for rapid development of RESTful web services. It’s especially suitable for creating Java microservices.

The Dropwizard framework pulls together several well-established Java libraries to provide you with a fast and distraction-free development platform. It comes with an embedded Jetty server, Google Guava, Logback, Hibernate Validator, Joda Time, and many other popular Java libraries. Besides, Dropwizard also contains Jersey with which you can build RESTful web services and Jackson for processing JSON. You can think of Dropwizard as a separate ecosystem that contains all the dependencies mentioned above bundled into a single package.

If you choose Dropwizard, you don’t have to spend much time on secondary functionalities like having to write your code for configuration, metrics, or logging. Instead, you can focus on the primary business logic of your app and achieve maximum productivity. That’s why Dropwizard is often referred to as an operations-friendly Java framework. Getting started is not very hard if you have written Java before; the Dropwizard docs even have a simple Hello World example that can help you with the first steps.

Grails: Groovy-based web application framework

Popular Java Framework Blade

Grails is a web application framework that uses the Groovy programming language. Groovy is an object-oriented language for the Java platform that intends to enhance developer productivity. Its syntax is compatible with Java, and it’s compiled to JVM (Java Virtual Machine) bytecode.

Although you need to write your code in Groovy, Grails works well with other Java-related technologies such as the Java Development Kit, Java EE containers, Hibernate, or Spring. Under the hood, Grails is built on top of Spring Boot so that it can make use of its productivity-friendly features such as Spring’s dependency injection. Probably the best thing about Grails is that you can achieve the same results with much less code—thanks to the power of the Groovy language.

Grails follows a handful of modern software development principles such as convention over configuration, opinionated APIs to enforce best practices, and sensible defaults. It’s also very developer-friendly, as it comes with a detailed and easy-to-read documentation , step-by-step guides , and an extensive plugin library . You can also build your own plugins and make use of Grails’ IDE support for Eclipse, Sublime, Textmate, IntelliJ IDEA, and other platforms.

GWT: Google Web Toolkit: client-side Java apps deployed as JavaScript

Popular Java Framework Blade

GWT , or the Google Web Toolkit, is a brilliant web framework created by Google. In fact, GWT fullfills the dream of every developer who wants to build Java apps for the web, as it allows you to write client-side Java code and deploy it as JavaScript for the browser.

GWT is pronounced as “gwit,” and it’s a stable and well-maintained Java framework. Nothing proves that better than its presence in several Google products such as AdWords, AdSense, Blogger, and Google Wallet. Google Web Toolkit has a spectacular website with all the tools and resources you may need, such as tutorials, developer guides, a starter application , and an Eclipse plugin .

The awesome thing about GWT is that you can write complex browser-based apps without being an expert in front-end technologies like JavaScript optimization or responsive design. So, you can use GWT instead of client-side JavaScript frameworks that, as you may have already noticed, come and go on the market sometimes surprisingly quickly. GWT offers many advanced features such as internationalization, cross-browser portability, UI abstraction, bookmarking, and history management.

Hibernate: Object-relational mapping framework for a better database communication

Popular Java Framework Blade

Hibernate is a stable object-relational mapping framework that makes better communication possible between the Java programming language and relational database management systems (RDBMSs).

When you work with object-oriented languages like Java, you’ll encounter a problem called Object-Relational Impedance Mismatch (sometimes also called Paradigm Mismatch). OO languages and RDBMSs handle data differently, which can lead to mis-match problems. While OO languages structure data as a hierarchy of objects, relational databases represent data in a tabular format. For instance, one of these mismatch problems is when the object model has more classes than the number of available tables in the relational database.

Hibernate provides you with a framework that overcomes the mismatch problems of Java. It intends to achieve persistence , meaning that the data created/used by the application should outlive the process that generated it. While Hibernate was built for relational databases, its newer versions provide support for NoSQL datastores as well. It also has excellent developer tools such as a mapping editor, a Hibernate console, and an awesome database reverse engineering tool.

JavaServer Faces (JSF): Component-based UI framework

Popular Java Framework Blade

JavaServer Faces (JSF) is developed by Oracle as a specification for building user interfaces for Java-based web applications. It’s an official standard of the Java Community Process (JCP) initiative as well.

The first version of JavaServer Faces was released back in 2004, so it’s a pretty stable framework. It follows the MVC software design pattern and has a component-based architecture. With JavaServer Faces, you can build user interfaces of reusable components, manage the state of your components, connect them to data sources, and bind user-generated events to event handlers on the server side.

The default templating system of JSF is Facelets that was created explicitly for the project. With Facelets, you can use XML instead of Java for view handling. However, you can also create views with other technologies such as XUL (XML User Interface Language) and plain Java. Web applications created with JavaServer Faces are portable across different Java EE application servers as well.

JHipster: Web apps and microservices with Spring Boot and Angular/React

Popular Java Framework Blade

JHipster is a newer Java framework (released in 2013) that brings the Spring Boot and the two most popular front-end frameworks (Angular and React) together, in one handy application generator. With JHipster, you can quickly generate modern Java-based web applications and microservices.

The Spring Boot allows you to create production-grade Spring-based applications (see more about the Spring Framework below in the article) that work with minimal configuration. JHipster combines it with Angular, React, and Bootstrap on the client side to provide you with a full-stack architecture. If you want to see how a JHipster app looks like in real-life, check out the sample apps for Angular and React , both created by the JHipster team.

JHipster lets you choose between two architectural styles. First, you can opt for a monolithic architecture in which the frontend and backend are combined into a single application. Second, you can go for the microservice architecture that splits the frontend and backend. JHipster also integrates with several tools, and offers a ton of options for client and server-side coding, bundling, plus different DevOps tasks. After all, it’s no coincidence leading brands like Adobe, Siemens, Bosch, HBO, and Google use JHipster.

MyBatis: Persistence framework for easier SQL management

Popular Java Framework Blade

MyBatis is a so-called persistence framework for Java applications, that makes it easier and faster to work with relational (SQL) databases. The framework acts as a middleware between the application and the database and fixes the issues stemming from their different architecture.

You can think of MyBatis as a layer of abstraction between the Java code of your application and the underlying SQL database. By default, you need to use the JDBC (Java Database Connectivity) API to access data sources like relational databases or spreadsheets from your Java code. MyBatis simplifies this process and lets you interact with relational databases with much less code. For instance, you can execute SQL statements with just a single line of code.

In fact, MyBatis is similar to the Hibernate framework, as both aim to improve the communication between the application layer and the database. However, MyBatis doesn’t map Java objects to database tables like Hibernate does, but links Java methods to SQL statements. As a result, SQL is not hidden from you when you are working with the MyBatis framework, and you still have control over the execution of SQL.

Play: Reactive web & mobile framework for highly scalable Java applications

Popular Java Framework Blade

The Play framework makes it possible to build lightweight and web-friendly Java and Scala applications for desktop and mobile interfaces. Play is an incredibly popular framework, used by companies like LinkedIn, Samsung, Walmart, The Guardian, Verizon, and many others.

Play is often compared to powerful web frameworks of other programming languages, such as Ruby on Rails for Ruby, or Django for Python. In fact, Play is a unique Java framework in the sense that it doesn’t rely on the Java EE standards. Instead, it intends to eliminate all the inconveniences of traditional Java web development such as slow development cycles and too much configuration. It more resembles the web frameworks of scripting languages (PHP, Python, Ruby, etc.) as much as possible.

Under the hood, Play is built on top of the Akka toolkit that simplifies the creation of concurrent and distributed applications on the Java Virtual Machine. As a result, Play uses a fully asynchronous model that leads to better scalability, especially because it also follows the statelessness principle.

The Play framework puts developer productivity first by offering features like hot code reloading, convention over configuration, and error messages in the browser. Besides, it’s a Reactive System that follows a modern system architecture (responsive, resilient, elastic, and message-driven) to achieve more flexible and failure-tolerant results.

PrimeFaces: UI framework for Java EE and JavaServer Faces

Popular Java Framework Blade

PrimeFaces is a popular web framework for creating lightweight user interfaces for Java EE and JavaServer Faces (see above) applications. It’s used by many Fortune 500 companies, government entities, and educational institutions.

The PrimeFaces library is truly lightweight. It’s packaged as a single JAR file, requires zero configuration, and doesn’t have any dependencies. It allows you to create a user interface for your Java application by offering you a rich set of components (100+), a built-in skinning framework, and pre-designed themes and layouts. As PrimeFaces is built on top of JavaServer Faces, it inherits its features such as rapid application development. You can also add the framework to any Java projects.

On the PrimeFaces website, you can find an excellent showcase of all PrimeFaces components, templates, and themes. The components come with relevant code snippets you can quickly copy/paste into your app—or tweak them when it’s necessary. For instance, here is a horizontal mega menu that lets you display submenus of root items together.

PrimeFaces also has an awesome theme designer which is a Sass-based theme engine with more than 500 variables, a sample theme, and font icons. And, if you don’t want to build a theme yourself, you can also download a community theme or purchase a premium one from the PrimeFaces Theme Gallery .

Spark Framework: Micro framework for web apps and REST APIs

Popular Java Framework Blade

Spark Framework is a micro framework and domain-specific language for the Java and Kotlin programming languages. Kotlin also runs on JVM, and it’s 100% interoperable with Java. With Spark, you can painlessly develop web applications, microservices, and REST APIs.

Micro frameworks first appeared in scripting languages like Ruby and PHP and quickly gained traction due to their focus on development speed and simplicity. Spark was inspired by the Sinatra web application framework for Ruby and first released in 2011. It’s not an MVC framework but lets you structure your app as you want. As with most micro frameworks, it has a small code base, needs minimal configuration, and doesn’t require you to write too much boilerplate code .

In fact, you can get the Spark framework up and running in just a few minutes. By default, it runs on the Jetty web server that is embedded into the framework. However, you can use it with other Java web servers as well. According to Spark’s own survey , more than 50% of their users used the framework to create REST APIs, which can be seen as its most popular use case. Spark also powers high-traffic web applications serving more than 10,000 users a day.

Spring Framework: Enterprise-level Java application framework

Popular Java Framework Blade

The Spring Framework is probably the most well-known Java framework out there, with a huge ecosystem and an active community around it. It allows you to build enterprise-level Java applications, web services, and microservices.

The Spring Framework started as a dependency injection tool, but over the years it has developed into a full-scale application framework. It provides you with an all-inclusive programming and configuration model that comes with support for generic tasks such as establishing a database connection or handling exceptions. Besides Java, you can also use the framework together with Kotlin and Groovy, both of which run on the Java Virtual Machine.

The Spring Framework utilizes the inversion of control (IoC) software design principle according to which the framework controls the custom-written code (as opposed to traditional programming where the custom code calls into other libraries that handle generic tasks). As a result, you can create loosely coupled modules for your Spring applications.

While the Spring Framework is excellent for building enterprise-level Java applications, it does have a steep learning curve. This is because it’s a broad framework that intends to provide a solution for every task that may come up with an enterprise-level application and also supports many different platforms. Therefore, the configuration, setup, build, and deployment processes all require multiple steps you might not want to deal with, especially if you are working on a smaller project. The Spring Boot (different from the Spring Framework) is a solution for this problem, as it allows you to set up your Spring application faster , with much less configuration.

Struts: MVC framework for enterprise-level Java applications

Popular Java Framework Blade

Struts is quite an old framework, but many people still use it, therefore it’s worth a mention in this article.

Struts is a full-featured Java web application framework maintained and developed by the Apache Software Foundation. It’s a solid platform with a vast community, often compared to the Spring Framework. Struts allow you to create enterprise-level Java applications that are easy to maintain over time.

It follows the MVC software design pattern and has a plugin-based architecture. Plugins make it possible to extend the framework to fit with different project needs. Struts plugins are basic JAR packages. Therefore, they are portable and you can also add them to the classpath of your app. Some plugins are bundled with the framework (JSON plugin, REST plugin, Config Browser Plugin, etc.), while you can add others from third-party sources.

You can integrate Struts with other Java frameworks to perform tasks that are not built into the platform. For instance, you can use the Spring plugin for dependency injection or the Hibernate plugin for object-relational mapping. Struts also let you use different client-side technologies to build the front-end of your app, such as JavaServer Pages or HTML with Angular.

However, if you want to create server-side components that can render on the front-end, Struts may not be the best choice for that. Instead, you should look into a framework that has a different architecture such as Tapestry or Wicket (see both below). Also note that Struts got some bad press recently due to some critical security vulnerabilities you still need to be aware of .

Tapestry: Component-oriented framework for highly scalable apps

Popular Java Framework Blade

Tapestry is a component-based Java framework with which you can create scalable web applications. Its focus on reusable components makes it architecturally similar to JavaServer Faces and the Wicket framework. Just like Struts, Tapestry is also a project of the Apache Software Foundation.

You can write Tapestry pages and components as plain old Java objects (POJOs) . Therefore, you can access the whole Java ecosystem from the framework. Besides Java, Tapestry also supports Groovy and Scala and integrates with other Java frameworks such as Hibernate and Spring. Tapestry has been built with performance in mind; therefore it provides you with features like live class reloading, exception reporting, Ajax support, and built-in components and templates.

Tapestry is a developer-friendly framework as well. It has built-in utilities to facilitate test-driven development (TDD) and comes with support for the Selenium testing framework. Tapestry scales nicely both on single servers and server clusters. Apps built with Tapestry run fast in the browser, as it follows a bunch of best practices such as client-side caching, support for concurrent threads, JavaScript aggregation and compression, integrated GZip content compression, and others.

Vaadin: Web application framework with a focus on UX, accessibility, and mobile

Popular Java Framework Blade

Vaadin provides you with a platform for streamlined Java development. It allows you to build web applications of customizable components that focus on performance, UX, and accessibility.

The most interesting thing to know about Vaadin is that its latest release (just a few days ago, in June 2018) has been so significant that even major media outlets reported it. Vaadin 10 approaches web app development in an entirely new way: it gives developers direct access to the DOM from the Java Virtual Machine. With the new release, the Vaadin team split the previously monolithic framework into two parts. It has a lightweight Java framework called Vaadin Flow that handles routing and server-client communication and a set of UI components that run in the user’s browser.

The components are mobile-first and follow the latest web and accessibility standards; they were built on the Web Components standards. You can use Vaadin components together with any front-end framework such as React, Angular, or Vue. The creators also recommend them as building blocks for Progressive Web Apps. You can build your own theme based on Vaadin components or use Vaadin’s two pre-made themes : Lumo (default) and Material.

Vaadin Flow provides you with a high-level Java API to manage all the technical aspects of your app, from automatic server-client communication via WebSockets to data binding. As Flow runs on the JVM, you have access to the whole Java ecosystem, for instance, you can run your app with the Spring Boot. Flow also lets you write your app in Kotlin or Scala.

Vert.x: Polyglot event-driven application framework for the Java Virtual Machine

Popular Java Framework Blade

Vert.x is a polyglot framework running on the Java Virtual Machine. It allows you to write your apps in programming languages such as Java, JavaScript, Groovy, Ruby, Scala, and Kotlin. Its event-driven architecture results in applications that scale nicely even with minimal hardware resources.

Vert.x is developed and maintained by the Eclipse Foundation whose most famous project is the Eclipse IDE for Java development. And, who would know more about Java than the creator of Eclipse? The ‘x’ in Vert.x refers to its polyglottic nature, meaning that you can write valid code in several different languages. It provides idiomatic APIs for every supported programming language.

As Vert.x is an event-driven and non-blocking framework, it can handle a lot of concurrencies using only a minimal number of threads. Vert.x is also quite lightweight, with the core framework weighing only about 650 kb. It has a modular architecture that allows you to use only the modules you need so that your app can stay as slick as possible. Vert.x is an ideal choice if you want to build lightweight, highly scalable microservices.

Wicket: Component-based web application framework for purists

Popular Java Framework Blade

Wicket is a component-based web application framework similar to JavaServer Faces and Tapestry. It allows you to write elegant, user-friendly apps using pure Java and HTML code. The framework is maintained by the Apache Software Foundation, just like Struts and Tapestry.

As Wicket is a component-based framework, Wicket apps are made up of reusable pages and components such as images, buttons, links, forms, and others. Programming a Wicket app centers around POJOs, therefore components are also ordinary Java objects with object-oriented features such as encapsulation and inheritance. Components are bundled as reusable packages, so you can add custom CSS and JavaScript to them.

Wicket lets you internationalize your apps, pages, and components by providing out-of-the-box support for more than 25 languages. Its built-in Ajax functionality allows you to update parts of your page in real-time, without requiring you to write any JavaScript code. Wicket pays attention to secure URL handling as well. Component paths are session-relative, and URLs don’t reveal any sensitive information. If you want to see how Wicket works in real life, check out the Built with Apache Wicket blog where you can see some nice examples.

Conclusion

When it comes to Java frameworks, keep an open mind and research which one is best for you. There are so many frameworks that will suit your project, so use this guide to assess your needs.

Raygun crash reporting and error monitoring is easily available with raygun4java. Raygun4java is a library that you can easily add to your Java application, which will then allow you to transmit all exceptions to your Raygun dashboard. Installation is painless, and configuring your site to transmit errors takes only 5 minutes. Sign up for a free 14-day trial.

Further Reading

  • Java exceptions: Common terminology with examples [2018 guide] featured image.

    Java exceptions: Common terminology with examples [2018 guide]

    The Java programming language comes with advanced exception handling features that help programmers …

  • Top 43 Programming Languages: When and How to Use Them featured image.

    Top 43 Programming Languages: When and How to Use Them

    There are many programming languages to choose from. The TIOBE Index is a list of programming …

  • 6 Java debugging tools for 2018 and beyond featured image.

    6 Java debugging tools for 2018 and beyond

    In an ideal world, bugs would never reach production. But, software errors are an inevitable part of …

Menu

  • Most recent
  • Product
  • Developer tips
  • Resources

17 Popular Java Frameworks [2018 edition]: Pros, cons, and more


Author Anna Monus's avatar.

By Anna Monus

| Posted Jul 4, 2018
| 18 min. (3798 words)

Feature image for 17 Popular Java Frameworks [2018 edition]: Pros, cons, and more

In 2018, Java is still the most popular programming language in the world. It comes with a vast ecosystem and more than 9 million Java developers worldwide . Although Java is not the most straightforward language, you don’t have to write Java programs from scratch. There are many excellent Java frameworks to write web and mobile applications, microservices, and REST APIs that run on the Java Virtual Machine.

Java frameworks allow you to focus on the business logic of your apps instead of writing basic functionality such as making database connections or handling exceptions. Also, if you have some experience with Java, you can get started quickly. The frameworks all use the same syntax and work with similar terms, paradigms, and concepts.

Our top 17 Java frameworks are based on usage through 2018 and listed alphabetically.

Raygun lets you detect and diagnose Java errors with ease

It takes minutes to add Raygun into your software. Be alerted to issues affecting end users and replicate problems 1,000x faster than using logs and incomplete information from users. Learn more .

Blade: Simple application framework with a minimal footprint

Popular Java Framework Blade

Blade is a lightweight and high-performance Java framework that allows you to build fast web applications in a straightforward way. The creators want users to understand the whole framework in a single day. Therefore, Blade focuses on simplicity and elegance.

The Blade framework follows the MVC (Model-View-Controller) software design pattern. It has an easy-to-understand design, as it doesn’t depend on any third-party libraries or introduces too many layers. Blade is based on Java 8, and the Netty web server and template engine are built into the framework, too. It has a minimal footprint; the source code is less than 500kb in total.

With Blade, you have access to a RESTful-style routing interface and can deploy your app as a basic Maven project. Blade has built-in security features too, for instance, it comes with CSRF (Cross-Site Request Forgery) and XSS (Cross-site scripting) defense. It’s a versatile framework, as it comes with support for plugin extensions and webjar resources. The documentation on the main site is in Chinese. However, it does have English-language documentation in the GitHub repo .

Dropwizard: Production-ready RESTful web services

Popular Java Framework Blade

Dropwizard is a high-performance but straightforward Java framework for rapid development of RESTful web services. It’s especially suitable for creating Java microservices.

The Dropwizard framework pulls together several well-established Java libraries to provide you with a fast and distraction-free development platform. It comes with an embedded Jetty server, Google Guava, Logback, Hibernate Validator, Joda Time, and many other popular Java libraries. Besides, Dropwizard also contains Jersey with which you can build RESTful web services and Jackson for processing JSON. You can think of Dropwizard as a separate ecosystem that contains all the dependencies mentioned above bundled into a single package.

If you choose Dropwizard, you don’t have to spend much time on secondary functionalities like having to write your code for configuration, metrics, or logging. Instead, you can focus on the primary business logic of your app and achieve maximum productivity. That’s why Dropwizard is often referred to as an operations-friendly Java framework. Getting started is not very hard if you have written Java before; the Dropwizard docs even have a simple Hello World example that can help you with the first steps.

Grails: Groovy-based web application framework

Popular Java Framework Blade

Grails is a web application framework that uses the Groovy programming language. Groovy is an object-oriented language for the Java platform that intends to enhance developer productivity. Its syntax is compatible with Java, and it’s compiled to JVM (Java Virtual Machine) bytecode.

Although you need to write your code in Groovy, Grails works well with other Java-related technologies such as the Java Development Kit, Java EE containers, Hibernate, or Spring. Under the hood, Grails is built on top of Spring Boot so that it can make use of its productivity-friendly features such as Spring’s dependency injection. Probably the best thing about Grails is that you can achieve the same results with much less code—thanks to the power of the Groovy language.

Grails follows a handful of modern software development principles such as convention over configuration, opinionated APIs to enforce best practices, and sensible defaults. It’s also very developer-friendly, as it comes with a detailed and easy-to-read documentation , step-by-step guides , and an extensive plugin library . You can also build your own plugins and make use of Grails’ IDE support for Eclipse, Sublime, Textmate, IntelliJ IDEA, and other platforms.

GWT: Google Web Toolkit: client-side Java apps deployed as JavaScript

Popular Java Framework Blade

GWT , or the Google Web Toolkit, is a brilliant web framework created by Google. In fact, GWT fullfills the dream of every developer who wants to build Java apps for the web, as it allows you to write client-side Java code and deploy it as JavaScript for the browser.

GWT is pronounced as “gwit,” and it’s a stable and well-maintained Java framework. Nothing proves that better than its presence in several Google products such as AdWords, AdSense, Blogger, and Google Wallet. Google Web Toolkit has a spectacular website with all the tools and resources you may need, such as tutorials, developer guides, a starter application , and an Eclipse plugin .

The awesome thing about GWT is that you can write complex browser-based apps without being an expert in front-end technologies like JavaScript optimization or responsive design. So, you can use GWT instead of client-side JavaScript frameworks that, as you may have already noticed, come and go on the market sometimes surprisingly quickly. GWT offers many advanced features such as internationalization, cross-browser portability, UI abstraction, bookmarking, and history management.

Hibernate: Object-relational mapping framework for a better database communication

Popular Java Framework Blade

Hibernate is a stable object-relational mapping framework that makes better communication possible between the Java programming language and relational database management systems (RDBMSs).

When you work with object-oriented languages like Java, you’ll encounter a problem called Object-Relational Impedance Mismatch (sometimes also called Paradigm Mismatch). OO languages and RDBMSs handle data differently, which can lead to mis-match problems. While OO languages structure data as a hierarchy of objects, relational databases represent data in a tabular format. For instance, one of these mismatch problems is when the object model has more classes than the number of available tables in the relational database.

Hibernate provides you with a framework that overcomes the mismatch problems of Java. It intends to achieve persistence , meaning that the data created/used by the application should outlive the process that generated it. While Hibernate was built for relational databases, its newer versions provide support for NoSQL datastores as well. It also has excellent developer tools such as a mapping editor, a Hibernate console, and an awesome database reverse engineering tool.

JavaServer Faces (JSF): Component-based UI framework

Popular Java Framework Blade

JavaServer Faces (JSF) is developed by Oracle as a specification for building user interfaces for Java-based web applications. It’s an official standard of the Java Community Process (JCP) initiative as well.

The first version of JavaServer Faces was released back in 2004, so it’s a pretty stable framework. It follows the MVC software design pattern and has a component-based architecture. With JavaServer Faces, you can build user interfaces of reusable components, manage the state of your components, connect them to data sources, and bind user-generated events to event handlers on the server side.

The default templating system of JSF is Facelets that was created explicitly for the project. With Facelets, you can use XML instead of Java for view handling. However, you can also create views with other technologies such as XUL (XML User Interface Language) and plain Java. Web applications created with JavaServer Faces are portable across different Java EE application servers as well.

JHipster: Web apps and microservices with Spring Boot and Angular/React

Popular Java Framework Blade

JHipster is a newer Java framework (released in 2013) that brings the Spring Boot and the two most popular front-end frameworks (Angular and React) together, in one handy application generator. With JHipster, you can quickly generate modern Java-based web applications and microservices.

The Spring Boot allows you to create production-grade Spring-based applications (see more about the Spring Framework below in the article) that work with minimal configuration. JHipster combines it with Angular, React, and Bootstrap on the client side to provide you with a full-stack architecture. If you want to see how a JHipster app looks like in real-life, check out the sample apps for Angular and React , both created by the JHipster team.

JHipster lets you choose between two architectural styles. First, you can opt for a monolithic architecture in which the frontend and backend are combined into a single application. Second, you can go for the microservice architecture that splits the frontend and backend. JHipster also integrates with several tools, and offers a ton of options for client and server-side coding, bundling, plus different DevOps tasks. After all, it’s no coincidence leading brands like Adobe, Siemens, Bosch, HBO, and Google use JHipster.

MyBatis: Persistence framework for easier SQL management

Popular Java Framework Blade

MyBatis is a so-called persistence framework for Java applications, that makes it easier and faster to work with relational (SQL) databases. The framework acts as a middleware between the application and the database and fixes the issues stemming from their different architecture.

You can think of MyBatis as a layer of abstraction between the Java code of your application and the underlying SQL database. By default, you need to use the JDBC (Java Database Connectivity) API to access data sources like relational databases or spreadsheets from your Java code. MyBatis simplifies this process and lets you interact with relational databases with much less code. For instance, you can execute SQL statements with just a single line of code.

In fact, MyBatis is similar to the Hibernate framework, as both aim to improve the communication between the application layer and the database. However, MyBatis doesn’t map Java objects to database tables like Hibernate does, but links Java methods to SQL statements. As a result, SQL is not hidden from you when you are working with the MyBatis framework, and you still have control over the execution of SQL.

Play: Reactive web & mobile framework for highly scalable Java applications

Popular Java Framework Blade

The Play framework makes it possible to build lightweight and web-friendly Java and Scala applications for desktop and mobile interfaces. Play is an incredibly popular framework, used by companies like LinkedIn, Samsung, Walmart, The Guardian, Verizon, and many others.

Play is often compared to powerful web frameworks of other programming languages, such as Ruby on Rails for Ruby, or Django for Python. In fact, Play is a unique Java framework in the sense that it doesn’t rely on the Java EE standards. Instead, it intends to eliminate all the inconveniences of traditional Java web development such as slow development cycles and too much configuration. It more resembles the web frameworks of scripting languages (PHP, Python, Ruby, etc.) as much as possible.

Under the hood, Play is built on top of the Akka toolkit that simplifies the creation of concurrent and distributed applications on the Java Virtual Machine. As a result, Play uses a fully asynchronous model that leads to better scalability, especially because it also follows the statelessness principle.

The Play framework puts developer productivity first by offering features like hot code reloading, convention over configuration, and error messages in the browser. Besides, it’s a Reactive System that follows a modern system architecture (responsive, resilient, elastic, and message-driven) to achieve more flexible and failure-tolerant results.

PrimeFaces: UI framework for Java EE and JavaServer Faces

Popular Java Framework Blade

PrimeFaces is a popular web framework for creating lightweight user interfaces for Java EE and JavaServer Faces (see above) applications. It’s used by many Fortune 500 companies, government entities, and educational institutions.

The PrimeFaces library is truly lightweight. It’s packaged as a single JAR file, requires zero configuration, and doesn’t have any dependencies. It allows you to create a user interface for your Java application by offering you a rich set of components (100+), a built-in skinning framework, and pre-designed themes and layouts. As PrimeFaces is built on top of JavaServer Faces, it inherits its features such as rapid application development. You can also add the framework to any Java projects.

On the PrimeFaces website, you can find an excellent showcase of all PrimeFaces components, templates, and themes. The components come with relevant code snippets you can quickly copy/paste into your app—or tweak them when it’s necessary. For instance, here is a horizontal mega menu that lets you display submenus of root items together.

PrimeFaces also has an awesome theme designer which is a Sass-based theme engine with more than 500 variables, a sample theme, and font icons. And, if you don’t want to build a theme yourself, you can also download a community theme or purchase a premium one from the PrimeFaces Theme Gallery .

Spark Framework: Micro framework for web apps and REST APIs

Popular Java Framework Blade

Spark Framework is a micro framework and domain-specific language for the Java and Kotlin programming languages. Kotlin also runs on JVM, and it’s 100% interoperable with Java. With Spark, you can painlessly develop web applications, microservices, and REST APIs.

Micro frameworks first appeared in scripting languages like Ruby and PHP and quickly gained traction due to their focus on development speed and simplicity. Spark was inspired by the Sinatra web application framework for Ruby and first released in 2011. It’s not an MVC framework but lets you structure your app as you want. As with most micro frameworks, it has a small code base, needs minimal configuration, and doesn’t require you to write too much boilerplate code .

In fact, you can get the Spark framework up and running in just a few minutes. By default, it runs on the Jetty web server that is embedded into the framework. However, you can use it with other Java web servers as well. According to Spark’s own survey , more than 50% of their users used the framework to create REST APIs, which can be seen as its most popular use case. Spark also powers high-traffic web applications serving more than 10,000 users a day.

Spring Framework: Enterprise-level Java application framework

Popular Java Framework Blade

The Spring Framework is probably the most well-known Java framework out there, with a huge ecosystem and an active community around it. It allows you to build enterprise-level Java applications, web services, and microservices.

The Spring Framework started as a dependency injection tool, but over the years it has developed into a full-scale application framework. It provides you with an all-inclusive programming and configuration model that comes with support for generic tasks such as establishing a database connection or handling exceptions. Besides Java, you can also use the framework together with Kotlin and Groovy, both of which run on the Java Virtual Machine.

The Spring Framework utilizes the inversion of control (IoC) software design principle according to which the framework controls the custom-written code (as opposed to traditional programming where the custom code calls into other libraries that handle generic tasks). As a result, you can create loosely coupled modules for your Spring applications.

While the Spring Framework is excellent for building enterprise-level Java applications, it does have a steep learning curve. This is because it’s a broad framework that intends to provide a solution for every task that may come up with an enterprise-level application and also supports many different platforms. Therefore, the configuration, setup, build, and deployment processes all require multiple steps you might not want to deal with, especially if you are working on a smaller project. The Spring Boot (different from the Spring Framework) is a solution for this problem, as it allows you to set up your Spring application faster , with much less configuration.

Struts: MVC framework for enterprise-level Java applications

Popular Java Framework Blade

Struts is quite an old framework, but many people still use it, therefore it’s worth a mention in this article.

Struts is a full-featured Java web application framework maintained and developed by the Apache Software Foundation. It’s a solid platform with a vast community, often compared to the Spring Framework. Struts allow you to create enterprise-level Java applications that are easy to maintain over time.

It follows the MVC software design pattern and has a plugin-based architecture. Plugins make it possible to extend the framework to fit with different project needs. Struts plugins are basic JAR packages. Therefore, they are portable and you can also add them to the classpath of your app. Some plugins are bundled with the framework (JSON plugin, REST plugin, Config Browser Plugin, etc.), while you can add others from third-party sources.

You can integrate Struts with other Java frameworks to perform tasks that are not built into the platform. For instance, you can use the Spring plugin for dependency injection or the Hibernate plugin for object-relational mapping. Struts also let you use different client-side technologies to build the front-end of your app, such as JavaServer Pages or HTML with Angular.

However, if you want to create server-side components that can render on the front-end, Struts may not be the best choice for that. Instead, you should look into a framework that has a different architecture such as Tapestry or Wicket (see both below). Also note that Struts got some bad press recently due to some critical security vulnerabilities you still need to be aware of .

Tapestry: Component-oriented framework for highly scalable apps

Popular Java Framework Blade

Tapestry is a component-based Java framework with which you can create scalable web applications. Its focus on reusable components makes it architecturally similar to JavaServer Faces and the Wicket framework. Just like Struts, Tapestry is also a project of the Apache Software Foundation.

You can write Tapestry pages and components as plain old Java objects (POJOs) . Therefore, you can access the whole Java ecosystem from the framework. Besides Java, Tapestry also supports Groovy and Scala and integrates with other Java frameworks such as Hibernate and Spring. Tapestry has been built with performance in mind; therefore it provides you with features like live class reloading, exception reporting, Ajax support, and built-in components and templates.

Tapestry is a developer-friendly framework as well. It has built-in utilities to facilitate test-driven development (TDD) and comes with support for the Selenium testing framework. Tapestry scales nicely both on single servers and server clusters. Apps built with Tapestry run fast in the browser, as it follows a bunch of best practices such as client-side caching, support for concurrent threads, JavaScript aggregation and compression, integrated GZip content compression, and others.

Vaadin: Web application framework with a focus on UX, accessibility, and mobile

Popular Java Framework Blade

Vaadin provides you with a platform for streamlined Java development. It allows you to build web applications of customizable components that focus on performance, UX, and accessibility.

The most interesting thing to know about Vaadin is that its latest release (just a few days ago, in June 2018) has been so significant that even major media outlets reported it. Vaadin 10 approaches web app development in an entirely new way: it gives developers direct access to the DOM from the Java Virtual Machine. With the new release, the Vaadin team split the previously monolithic framework into two parts. It has a lightweight Java framework called Vaadin Flow that handles routing and server-client communication and a set of UI components that run in the user’s browser.

The components are mobile-first and follow the latest web and accessibility standards; they were built on the Web Components standards. You can use Vaadin components together with any front-end framework such as React, Angular, or Vue. The creators also recommend them as building blocks for Progressive Web Apps. You can build your own theme based on Vaadin components or use Vaadin’s two pre-made themes : Lumo (default) and Material.

Vaadin Flow provides you with a high-level Java API to manage all the technical aspects of your app, from automatic server-client communication via WebSockets to data binding. As Flow runs on the JVM, you have access to the whole Java ecosystem, for instance, you can run your app with the Spring Boot. Flow also lets you write your app in Kotlin or Scala.

Vert.x: Polyglot event-driven application framework for the Java Virtual Machine

Popular Java Framework Blade

Vert.x is a polyglot framework running on the Java Virtual Machine. It allows you to write your apps in programming languages such as Java, JavaScript, Groovy, Ruby, Scala, and Kotlin. Its event-driven architecture results in applications that scale nicely even with minimal hardware resources.

Vert.x is developed and maintained by the Eclipse Foundation whose most famous project is the Eclipse IDE for Java development. And, who would know more about Java than the creator of Eclipse? The ‘x’ in Vert.x refers to its polyglottic nature, meaning that you can write valid code in several different languages. It provides idiomatic APIs for every supported programming language.

As Vert.x is an event-driven and non-blocking framework, it can handle a lot of concurrencies using only a minimal number of threads. Vert.x is also quite lightweight, with the core framework weighing only about 650 kb. It has a modular architecture that allows you to use only the modules you need so that your app can stay as slick as possible. Vert.x is an ideal choice if you want to build lightweight, highly scalable microservices.

Wicket: Component-based web application framework for purists

Popular Java Framework Blade

Wicket is a component-based web application framework similar to JavaServer Faces and Tapestry. It allows you to write elegant, user-friendly apps using pure Java and HTML code. The framework is maintained by the Apache Software Foundation, just like Struts and Tapestry.

As Wicket is a component-based framework, Wicket apps are made up of reusable pages and components such as images, buttons, links, forms, and others. Programming a Wicket app centers around POJOs, therefore components are also ordinary Java objects with object-oriented features such as encapsulation and inheritance. Components are bundled as reusable packages, so you can add custom CSS and JavaScript to them.

Wicket lets you internationalize your apps, pages, and components by providing out-of-the-box support for more than 25 languages. Its built-in Ajax functionality allows you to update parts of your page in real-time, without requiring you to write any JavaScript code. Wicket pays attention to secure URL handling as well. Component paths are session-relative, and URLs don’t reveal any sensitive information. If you want to see how Wicket works in real life, check out the Built with Apache Wicket blog where you can see some nice examples.

Conclusion

When it comes to Java frameworks, keep an open mind and research which one is best for you. There are so many frameworks that will suit your project, so use this guide to assess your needs.

Raygun crash reporting and error monitoring is easily available with raygun4java. Raygun4java is a library that you can easily add to your Java application, which will then allow you to transmit all exceptions to your Raygun dashboard. Installation is painless, and configuring your site to transmit errors takes only 5 minutes. Sign up for a free 14-day trial.

Further Reading

  • Java exceptions: Common terminology with examples [2018 guide] featured image.

    Java exceptions: Common terminology with examples [2018 guide]

    The Java programming language comes with advanced exception handling features that help programmers …

  • Top 43 Programming Languages: When and How to Use Them featured image.

    Top 43 Programming Languages: When and How to Use Them

    There are many programming languages to choose from. The TIOBE Index is a list of programming …

  • 6 Java debugging tools for 2018 and beyond featured image.

    6 Java debugging tools for 2018 and beyond

    In an ideal world, bugs would never reach production. But, software errors are an inevitable part of …

Menu

DZone
/ Java Zone

Over a million developers have joined DZone.
Log In / Sign Up


  • node.title

    node.type
    ·
    node.urlSource.name
    ·


    by node.authors[0].realName

    Download

    node.downloads

  • totalResults search results

  • Refcardz
  • Guides
  • Zones
  • Jobs
  • |
  • Agile

  • AI

  • Big Data

  • Cloud

  • Database

  • DevOps

  • Integration

  • IoT

  • Java

  • Microservices

  • Open Source

  • Performance

  • Security

  • Web Dev

announcement.body

announcement.title

Let’s be friends:













The 7 Best Java Frameworks for 2016

DZone’s Guide to

The 7 Best Java Frameworks for 2016

Get a breakdown of seven of the most popular Java frameworks, from Spring MVC to Grails. See where each shines and where the fall flat.


by

Nataliia Bubniuk

·

Oct. 22, 16
·
Java
Zone

·

Free Resource


Like (11)



Comment (10)

Save


Tweet
formatCount

Views



  • Edit
  • Delete
  • articles[0].isLocked
    ? ‘Enable’ : ‘Disable’ comments
  • articles[0].isLimited ? ‘Remove comment limits’ : ‘Enable moderated comments’

Join the DZone community and get the full member experience.

Join For Free

Verify, standardize, and correct the Big 4 + more – name, email, phone and global addresses – try our Data Quality APIs now at Melissa Developer Portal!

There is no doubt that Java is one of the programming languages that is most in demand these days. Here, we have scooped a handful of good info about trending frameworks that ease everyday lives of software developers around the globe.

As per a survey conducted by RebelLabs, the media ally for the online Java User Group (Virtual JUG), the lineup of best java frameworks for 2016 is the following:
Java Frameworks Popularity

Source:  RebelLabs  for Zero TurnAround Inc.

We will not push you or make you jump to conclusions just based on the comparison chart below, but we’ll present you with the overview of each concept, letting you analyze and contrast the differences and pick the perfect match depending on your project.

1. Spring MVCspring1

Old but gold, Spring MVC is still ahead of the curve after more than a decade since its first release. After its expansion to embrace complete MVC framework, Spring kept on evolving adopting changes and turned into a full-scale Java framework for Internet-facing applications, offering software engineers a powerful toolkit for web application development and application configuration as well as for security projects. Being one of the most favored among programmers, Spring has a well-developed ecosystem, offering a variety of add-ons to choose from: REST APIs or SOAP web services, security (authentication and authorization, encryption), etc. Another benefit of this choice is that a big company of fellow developers who chose to use this particular Java framework, too. Thus, they are ready to give you a helping hand with any query you might have.

Pros and Cons

Spring is not nesting in the top of the charts without reason. It is one of the best and most well-known Java frameworks because of:

  • Simplified injection of test data through the use of POJOs.
  • Enhanced modularity, resulting in better code readability.
  • Loose coupling between different modules.
  • Dependency Injection (DI) flexible use.

Although not a direct framework downside, regardless of the piles of reference documentation, Spring MVC might be more than newbie Java devs can chew, making the learning curve too steep. Thus, dealing with some parts of this Java framework can be tough for if you bump into a poorly documented chunk of references. The info you find might be different across versions.
By the way, due to our engineers’ great experience, Spring MVC is one of our most fancied frameworks. 

2. Struts 2struts2

To elaborate even more on existing Java frameworks that are widely used by modern software engineers, we decided to refer to the successor of Apache’s Struts 1, Struts 2. This Java framework is quite a find for engineers who work with building contemporary Java EE web apps. The Apache Software Foundation has equipped developers with an extensive tool for creating enterprise-ready, web-facing applications, optimizing the development process from the beginning to the final point and post-go-live maintenance. This concept is the right choice if you sweat over high-load systems such as broadcasting portals.

Testing the written code takes less effort because of Struts 2’s implemented Action class – plain POJO objects. Coupling becomes easier with the framework’s API, helping to tune Interceptors.

Pros and Cons

When you ask yourself why you should consider Struts 2, consider the luxury of not having to override or implement the Action class – it is already in place! Repetitive setup code that IT engineers need to create for several actions is no longer a concern because Interceptors take care of it.

However, you might get turned off by the weight of this Java framework: some programmers find it’s not agile enough to go for. 

3. Hibernatehibernate_training

Although not on RebelLabs’ list either, it is worth mentioning Hibernate when debating the best Java framework. This mapping Java framework cracks object-relational impedance mismatch issues by substituting persisting DB accesses high-level object handling functions. With every enterprise application being one of a kind, Hibernate is equipped with a great feature suite that helps backend developers fine-tune data access layer. This is an advanced ORM framework that lets you perform the database operation on Java objects (entities). It is a persistence concept that utilizes Hibernate cache to persist the data from the Java environment to the database.

Pros and Cons

Hibernate allows you to communicate with any database using tiny alterations in the code you write, bridging the gap between objects and relational words. On top of that:

  • Oracle, Db2, or MySQL, Hibernate is DB independent.
  • Caching mechanism to bug database with similar queries.
  • N+1 or Lazy loading support.

Despite its obvious advantages, Hibernate does not permit multiple inserts, not allowing some queries that JDBC does. In addition, this Java framework might not be a good idea for small-scale projects that have fewer tables.

4. JSFhibernate_training

Being a part of Java EE, JavaServer Faces is supported by Oracle. Although this one is not the best frameworks for speedy Java development, it is easy to utilize because of great documentation provided by Oracle. Additionally, until you leave the Java EE environment, JSF has no external dependencies, but plenty of capabilities instead. Rich libraries and tools (including a toolset for easy user interface creation) become a magic wand that can back you up no matter how complex the application might seem.

Pros and Cons

As mentioned, JSF is an integral part of Java EE. Thus, developers draw on an IDE software suite as well as a prime level of support from an industry-leading vendor.

On the contrary, JavaServer Faces is too vast to easily comprehend for those whose prior experience and skills in web development basics are not solid enough.

5. VaadinVaadin

Using GWT for rendering the end web page, Vaadin became one of the uber popular frameworks modern developers choose when creating applications for business. Utilizing a well-known component-based approach, Vaadin takes the burden off developer’s shoulder by communicating the changes made to the browser. An extensive set of UI components, along with varied widgets and controls, allows programmers to build cool applications in no time.

Pros and Cons

Building layout in Java, HTML or both, Vaadin gives an opportunity to bind data using either MVC or MVP. Drag and drop support along with other outstanding features simplifies the creation of single-page UIs for Java applications.

On the downside, a sluggish UI for a mobile app can be a concern since Vaadin sends back every event to the server.

6. Google Web ToolkitGwt

GWT is an another free Java framework allowing coders to create and optimize sophisticated web-based apps. The GWT Software Development Kit features core Java APIs and widgets for constructing apps compiled to JavaScript after.

Pros and Cons

With Google Web Toolkit, you get single code base (both browser- and server-side programming in Java) that eases up the development and debugging processes. Simple integration with other technologies allows programmers embed GWT widgets in web pages. Custom widget capability is another benefit that can be created with the help of GWT.

However, if you are a web designer, GWT might be not the best Java framework to opt for; it is not amiable to those favoring plain HTML and late dynamic content placement.

7. GrailsGrails

This particular web framework is regarded as a dynamic tool enhancing engineers’ productivity due to its opinionated APIs, sensible defaults, as well as its convention-over-configuration paradigm. Seamless Java integration makes this particular framework one of the top choices for plenty of programmers worldwide. A suite of powerful features, such as Spring-powered dependency injection and varied plug-ins, offer everything needed to create modern web-based apps.

Pros and Cons

Speedy setup of a new project and scaffolding saves a lot of precious time for coders. A huge library offers more than 900 of different easy-to-install plug-ins. Despite the beauty of Grails, a full-stack development Java framework, it has a bulky functionality covered by Grails’ Object Relational Mapping, making it a relatively heavy piece of software.

So What to Choose?

Choosing the suitable concept among such a variety of popular Java frameworks for 2016 can be a cumbersome task, as each company sticks to its own ideas on web-based and mobile app creation while selecting the winning approach. No matter which exact framework you go for, bear in mind the license, ease of installation, how active the network is, and documentation at hand, etc. Depending on the project type, sometimes, it is wise to have all the tools under one roof shaking things up, but quite often it makes more sense to trim the fat and go for a lightweight concept instead.

Another question to ask is whether your busy teammates are up for some learning and have spare time to allocate to knowledge crunch. Often times it’s worth to simply hand over your development to a remote team and get back a product ready for monetization. Stay tuned and happy development!

Developers! Quickly and easily gain access to the tools and information you need! Explore, test and combine our data quality APIs at Melissa Developer Portal – home to tools that save time and boost revenue. 

Like This Article? Read More From DZone


Chaining URL View Resolvers in Spring MVC

Survey Confirms JSF Remains Leading Web Framework


JSF and Spring MVC Tie in Java / JVM Frameworks Poll

Free DZone Refcard

Java Containerization

DOWNLOAD
Topics:
java
,
java frameworks
,
spring mvc
,
jsf


Like (11)



Comment (10)

Save


Tweet
articles[0].views

Views



  • Edit
  • Delete
  • articles[0].isLocked
    ? ‘Enable’ : ‘Disable’ comments
  • articles[0].isLimited ? ‘Remove comment limits’ : ‘Enable moderated comments’

Published at DZone with permission
of

Opinions expressed by DZone contributors are their own.


Java Partner Resources

Building Reactive Microservices in Java: Asynchronous and Event-Based Application Design
Red Hat Developer Program

Microservices for Java Developers: A Hands-On Introduction to Frameworks & Containers
Red Hat Developer Program

Deep insight into your code with IntelliJ IDEA.
JetBrains

Gateway to Data Driven Operation & Digital Transformation
Cdata

Migrating to Microservice Databases
Red Hat Developer Program

How to use Single Page Applications with a Java CMS
BloomReach

Free eBook: SCA Maturity Model – A Framework for Open Source Security and Compliance
Flexera

jQuery UI and Auto-Complete Address Entry
Melissa

High Performance Content Delivery with a Java CMS
BloomReach

Java Ecosystem 2018 Infographic by JetBrains
JetBrains

SQL Abstraction for NoSQL & Big Data
Cdata

Learn how to refactor a monolithic application to work your way toward a scalable and resilient microsystem.
Lightbend

Java Partner Resources

Building Reactive Microservices in Java: Asynchronous and Event-Based Application Design
Red Hat Developer Program

Microservices for Java Developers: A Hands-On Introduction to Frameworks & Containers
Red Hat Developer Program

Deep insight into your code with IntelliJ IDEA.
JetBrains

Gateway to Data Driven Operation & Digital Transformation
Cdata

    editionName

  • node.blurb

    Free node.type

    ::node.title




parent.header.title

parent.tldr

parent.linkDescription

parent.urlSource.name

by parent.authors[0].realName

· date:’MMM. dd, yyyy’ date:’MMM. dd, yyyy’
· parent.portal.name Zone


Tweet
parent.views ViewsClicks

  • Edit
  • Delete
  • parent.isLocked ? ‘Enable’ : ‘Disable’ comments
  • parent.isLimited ? ‘Remove comment limits’ : ‘Enable moderated comments’