The Battle of Java Microservice Frameworks

Overview

X is better than Y! Or is it?

The Battle of Java Microservice Frameworks

Demo repository for the Codineers Meetup #1 on modern microservice frameworks.

Quarkus

# install the Quarkus CLI
# see https://quarkus.io/get-started/
$ sdk install quarkus

# generate microservice
$ quarkus create app --gradle --java --wrapper --package-name=cloud.nativ.flamewars
$ mv code-with-quarkus quarkus-weather-app

# generate CLI
# see https://speakerdeck.com/lreimer/effizientes-devops-tooling-mit-java-und-graalvm
$ quarkus create cli --gradle --java --wrapper --package-name=cloud.nativ.flamewars
$ mv code-with-quarkus quarkus-weather-cli

$ cd quarkus-weather-app
$ quarkus dev

$ quarkus extension list --installable --category cloud
$ quarkus ext add quarkus-smallrye-health
$ quarkus ext add quarkus-smallrye-fault-tolerance
$ quarkus ext add quarkus-resteasy-jsonb
$ quarkus ext add quarkus-rest-client-jsonb

$ quarkus build
$ quarkus build --native

Micronaut

# install the Micronaut CLI
# seee https://micronaut-projects.github.io/micronaut-starter/latest/guide/#installation
$ sdk install micronaut

# generate app
$ mn create-app --build=gradle --lang=java --java-version=11 micronaut-weather-app

# generate CLI
# see https://speakerdeck.com/lreimer/effizientes-devops-tooling-mit-java-und-graalvm
$ mn create-cli-app --build=gradle --lang=java --java-version=11 micronaut-weather-cli

$ cd micronaut-weather-app
$ ./gradlew run -t
$ ./gradlew build

$ ./gradlew nativeCompile
$ ./gradlew nativeRun

Helidon

# install the Helidon CLI
# see https://github.com/oracle/helidon/blob/master/HELIDON-CLI.md

$ helidon init --project helidon-weather-app --flavor MP --package cloud.nativ.flamewars --groupid cloud.nativ.flamewars --artifactid helidon-weather-app
$ cd helidon-weather-app
$ helidon dev

$ mvn package
$ mvn package -Pnative-image

Maintainer

M.-Leander Reimer (@lreimer), [email protected]

License

This software is provided under the MIT open source license, read the LICENSE file for details.

You might also like...

A simple expressive web framework for java. Spark has a kotlin DSL https://github.com/perwendel/spark-kotlin

Spark - a tiny web framework for Java 8 Spark 2.9.3 is out!! Changeset dependency groupIdcom.sparkjava/groupId artifactIdspark-core/a

Dec 29, 2022

A web MVC action-based framework, on top of CDI, for fast and maintainable Java development.

A web MVC action-based framework, on top of CDI, for fast and maintainable Java development.

A web MVC action-based framework, on top of CDI, for fast and maintainable Java development. Downloading For a quick start, you can use this snippet i

Nov 15, 2022

Tiny, easily embeddable HTTP server in Java.

NanoHTTPD – a tiny web server in Java NanoHTTPD is a light-weight HTTP server designed for embedding in other applications, released under a Modified

Jan 1, 2023

This is a Playwright Java Framework written in POM

This is a Playwright Java Framework written in POM

Playwright Java Framework Main Objective of this Framework is to Build an Automation Framework that can be scalable, Easily Configurable and Ready to

Oct 17, 2022

应用分身、模拟设备、模拟wifi、虚拟多开、钉钉打卡、企微打卡、插件开发、XP插件、模拟用户操作、java hook、c++ hook

VirtualApp11 original software This project is only for your use, please have any questions Wechat : serven_scorpion Email : [email protected] Teleg

Dec 26, 2022

A Java Framework for Building Bots on Facebook's Messenger Platform.

Racter A Java Framework for Building Bots on Facebook's Messenger Platform. Documentation Installation To add a dependency using Maven, use the follow

Dec 19, 2022

A server-state reactive Java web framework for building real-time user interfaces and UI components.

RSP About Maven Code examples HTTP requests routing HTML markup Java DSL Page state model Single-page application Navigation bar URL path UI Component

Jul 13, 2022

Javalin - A simple web framework for Java and Kotlin

Javalin is a very lightweight web framework for Kotlin and Java which supports WebSockets, HTTP2 and async requests. Javalin’s main goals are simplicity, a great developer experience, and first class interoperability between Kotlin and Java.

Jan 6, 2023
Owner
M.-Leander Reimer
Passionate developer. Proud father. #CloudNativeNerd. Leander works as a principal software architect for @qaware.
M.-Leander Reimer
Vaadin 6, 7, 8 is a Java framework for modern Java web applications.

Vaadin Framework Vaadin allows you to build modern web apps efficiently in plain Java, without touching low level web technologies. This repository co

Vaadin 1.7k Jan 5, 2023
Ninja is a full stack web framework for Java. Rock solid, fast and super productive.

_______ .___ _______ ____. _____ \ \ | |\ \ | | / _ \ / | \| |/ | \ | |/ /_\ \ / | \

Ninja Web Framework 1.9k Jan 5, 2023
Bootique is a minimally opinionated platform for modern runnable Java apps.

Bootique is a minimally opinionated java launcher and integration technology. It is intended for building container-less runnable Java applications. W

Bootique Project 1.4k Dec 29, 2022
The modular web framework for Java and Kotlin

∞ do more, more easily Jooby is a modern, performant and easy to use web framework for Java and Kotlin built on top of your favorite web server. Java:

jooby 1.5k Dec 16, 2022
Apache Wicket - Component-based Java web framework

What is Apache Wicket? Apache Wicket is an open source, java, component based, web application framework. With proper mark-up/logic separation, a POJO

The Apache Software Foundation 657 Dec 31, 2022
Micro Java Web Framework

Micro Java Web Framework It's an open source (Apache License) micro web framework in Java, with minimal dependencies and a quick learning curve. The g

Pippo 769 Dec 19, 2022
True Object-Oriented Java Web Framework

Project architect: @paulodamaso Takes is a true object-oriented and immutable Java8 web development framework. Its key benefits, comparing to all othe

Yegor Bugayenko 748 Dec 23, 2022
ZK is a highly productive Java framework for building amazing enterprise web and mobile applications

ZK ZK is a highly productive Java framework for building amazing enterprise web and mobile applications. Resources Documentation Tutorial ZK Essential

ZK 375 Dec 23, 2022
An Intuitive, Lightweight, High Performance Full Stack Java Web Framework.

mangoo I/O mangoo I/O is a Modern, Intuitive, Lightweight, High Performance Full Stack Java Web Framework. It is a classic MVC-Framework. The foundati

Sven Kubiak 52 Oct 31, 2022
Java Web Toolkit

What is JWt ? JWt is a Java library for developing web applications. It provides a pure Java component-driven approach to building web applications, a

null 48 Jul 16, 2022