All Projects → bentolor → microframeworks-showcase

bentolor / microframeworks-showcase

Licence: Apache-2.0 License
A simple grocery list webapplication implemented with the Microframeworks Spark Java, Jodd, Ninja, Javalite, Pippo and Ratpack

Programming Languages

java
68154 projects - #9 most used programming language
HTML
75241 projects
groovy
2714 projects

Projects that are alternatives of or similar to microframeworks-showcase

broom
A disk cleaning utility for developers.
Stars: ✭ 38 (+31.03%)
Mutual labels:  gradle, ninja
gradle-cleaner-intellij-plugin
Force clear delaying & no longer needed Gradle tasks.
Stars: ✭ 26 (-10.34%)
Mutual labels:  gradle, intellij
Gradle Multi Project Example
Gradle 多项目管理示例
Stars: ✭ 283 (+875.86%)
Mutual labels:  gradle, intellij
Pac4j
Security engine for Java (authentication, authorization, multi frameworks): OAuth, CAS, SAML, OpenID Connect, LDAP, JWT...
Stars: ✭ 2,097 (+7131.03%)
Mutual labels:  ratpack, sparkjava
Gradle Dependencies Plugins Helper Plugin
This is an IntelliJ IDEA plugin for searching dependencies/plugins from JCentral/GradlePlugins inside Gradle projects.
Stars: ✭ 31 (+6.9%)
Mutual labels:  gradle, intellij
openjfx-docs
Getting started guide for JavaFX 11
Stars: ✭ 70 (+141.38%)
Mutual labels:  gradle, intellij
Hexagon
Hexagon is a microservices toolkit written in Kotlin. Its purpose is to ease the building of services (Web applications, APIs or queue consumers) that run inside a cloud platform.
Stars: ✭ 336 (+1058.62%)
Mutual labels:  gradle, micro-framework
Jodd
Jodd! Lightweight. Java. Zero dependencies. Use what you like.
Stars: ✭ 3,616 (+12368.97%)
Mutual labels:  micro-framework, jodd
Gradle Intellij Plugin
Plugin for building plugins for IntelliJ IDEs
Stars: ✭ 912 (+3044.83%)
Mutual labels:  gradle, intellij
Minecraftdev
Plugin for IntelliJ IDEA that gives special support for Minecraft modding projects.
Stars: ✭ 645 (+2124.14%)
Mutual labels:  gradle, intellij
Gittoolbox
GitToolBox IntelliJ plugin
Stars: ✭ 284 (+879.31%)
Mutual labels:  gradle, intellij
Downlords Faf Client
Official client for Forged Alliance Forever
Stars: ✭ 121 (+317.24%)
Mutual labels:  gradle, intellij
Samples
JavaFX samples to run with different options and build tools
Stars: ✭ 352 (+1113.79%)
Mutual labels:  gradle, intellij
Gradle Changelog Plugin
Plugin for parsing and managing the Changelog in a "keep a changelog" style.
Stars: ✭ 102 (+251.72%)
Mutual labels:  gradle, intellij
Idea Gradle Dependencies Formatter
Gradle dependencies formatter for IntelliJ IDEA
Stars: ✭ 156 (+437.93%)
Mutual labels:  gradle, intellij
lanceroid
Lancer, Berserker, Ninja Barrage/Punish/HarmoniusBurningBreath Auto Attack Macro
Stars: ✭ 11 (-62.07%)
Mutual labels:  ninja
bamboo-soy
An intellij plugin supporting Closure Template language (Soy)
Stars: ✭ 42 (+44.83%)
Mutual labels:  intellij
GLAU BCSC0002
This is the official repository for the course Object-Oriented Programming BCSC0002 for GLA University 2019
Stars: ✭ 46 (+58.62%)
Mutual labels:  intellij
IdeaSingletonInspection
Inspection for detecting of inappropriate use of Singleton pattern in Java
Stars: ✭ 14 (-51.72%)
Mutual labels:  intellij
vlsi-release-plugins
A set of plugins to simplify Gradle release tasks
Stars: ✭ 30 (+3.45%)
Mutual labels:  gradle

Purpose of this project

This Java/Gradle based repository illustrates a selection of Java-based microframeworks.

It implements a functionally identical grocery list application with Spark, Ninja, Ratpack, Jodd, Pippo, JavaLite, and a few others.

It was originally meant as supplement for my article on heise developer online (german) but is also the basis for my talk Schlank in den Service: Der große Java-Microframework-Test! on the Javaland conference 2018.

Grocery list overview Grocery list edit

Prerequisites Build Status

  • Installed JDK 8+ with proper set JAVA_HOME environment variable

This repository comes with a pre-bundled Gradle Wrapper gradlew or gradlew.bat (Windows) which will download the appropriate build dependencies automatically on the first run.

Optional (recommended for development):

  • Gradle 4.5+
  • Lombok Plugin for your IDE of choice (Guide: IDEA, Eclipse, …)
  • IntelliJ IDEA (preferably Ultimate Edition for full Framework support)

Spark Java

Spark Logo

Spark is a tiny Sinatra inspired framework for creating web applications in Java 8 with minimal effort

Starting the demo application

Option #1: Using Gradle

Run the demo with gradle :spark:run and access http://localhost:8080/

Option #2: Using IntelliJ IDEA

Open the project using IntelliJ IDEA Ultimate and execute the Spark: Run Example run configuration.

Option #3: As standalone JAR

Let gradle build the all-in-one UberJAR and directly execute it with Java (preferrably in the spark/ directory to leverage from the example grocerylists.json.

 gradlew :spark:shadowJar
 cd spark
 java -jar build/libs/spark-1.0-SNAPSHOT-all.jar

Ninja

Ninja Logo

Ninja is a opinionated, full stack framework including dependency injection, a optimized development mode and support for relational DBs.

Starting the demo application

Option #1: Using Gradle

Run the demo with gradle :ninja:run and access http://localhost:8080/ and http://localhost:8080/hello

Option #2: Using IntelliJ IDEA

Open the project using IntelliJ IDEA and execute the Ninja: Run Example run configuration.

Option #3: As standalone JAR

Let gradle build the all-in-one UberJAR and directly execute it with Java (preferrably in the ninja/ directory to leverage from the example grocerylists.json.

 gradlew :ninja:shadowJar
 cd ninja
 java -jar build/libs/ninja-1.0-SNAPSHOT-all.jar

Ratpack

Ratpack Logo

Ratpack is a reactive-oriented, type-safe microframework heavily based on Java 8 lambdas and Netty for non-blocking IO.

Starting the demo application

Option #1: Using Gradle

Run the demo with gradle :ratpack:run and access http://localhost:8080/.

Option #2: Using IntelliJ IDEA

Open the project using IntelliJ IDEA and execute the Ninja: Run Example run configuration. ``

Option #3: As standalone JAR

Let gradle build the all-in-one UberJAR and directly execute it with Java (preferrably in the ratpack/ directory to leverage from the example grocerylists.json.

 gradlew :ratpack:shadowJar
 cd ratpack
 java -jar build/libs/ratpack-1.0-SNAPSHOT-all.jar      

Jodd

Jodd Logo

Jodd is set of Java micro frameworks, tools and utilities, under 1.7 MB. The framework consists of micro components, which can be used more or less independently.

Starting the demo application

Option #1: Using Gradle

Run the demo with gradle :jodd:run and access http://localhost:8080/.

Option #2: Using IntelliJ IDEA

Open the project using IntelliJ IDEA and execute the Jodd: Run Example run configuration. Jodd by default has no embedded servlet container bundled. The example includes and configures a Undertow server as embedded server.

Option #3: As deployable WAR

This module originally did not provide an all-in-one UberJAR. Follow these steps to build a WAR file:

 gradlew :jodd:war
 cp jodd/build/libs/jodd-1.0-SNAPSHOT.war [tomcat]/webapps

Option #4: Using a Jetty ctonainer

Run the demo with gradle :jodd:jettyRun and access http://localhost:8080/jodd/.

Pippo

 ____  ____  ____  ____  _____
(  _ \(_  _)(  _ \(  _ \(  _  )
 ) __/ _)(_  ) __/ ) __/ )(_)( 
(__)  (____)(__)  (__)  (_____)

Pippo is set of Java micro framework in the spirit of Sinatra but also offers a Controller-based approach. The core is small (around 140 KB) and can be extended with various modules for template engine or embedded web servers.

Starting the demo application

Option #1: Using Gradle

Run the demo with gradle :pippo:run and access http://localhost:8080/.

Option #2: Using IntelliJ IDEA

Open the project using IntelliJ IDEA and execute the Pippo: Run Example run configuration.

Option #3: As standalone JAR

Let gradle build the all-in-one UberJAR and directly execute it with Java (preferrably in the pippo/ directory to leverage from the example grocerylists.json.

 gradlew :pippo:shadowJar
 cd pippo
 java -jar build/libs/pippo-1.0-SNAPSHOT-all.jar      

Spring Boot 2 – Spring 5 – WebFlux

Spring Logo

Spring Boot favors convention over configuration and is designed to get you up and running as quickly as possible. Spring WebFlux is the reactive successor of Spring MVC and a is fully non-blocking, back pressure-supporting web framework.

Starting the demo application

Option #1: Using Gradle

Run the demo with gradle :spring5:run and access http://localhost:8080/.

Option #2: Using IntelliJ IDEA

Open the project using IntelliJ IDEA and execute the Spring 5: Run Example run configuration. Potentially this requires IDEA Ultimate Edition.

Option #3: As standalone JAR

Let gradle build the all-in-one UberJAR and directly execute it with Java (preferrably in the spring5/ directory to leverage from the example grocerylists.json.

 gradlew :spring5:shadowJar
 cd spring5
 java -jar build/libs/spring5-1.0-SNAPSHOT-all.jar      

Developing hints

This project uses Gradle 4.6+ as build tool and IDEA IntelliJ inspections together with my idea-cli-inspector tool for quality assurance.

The great Travis CI service acts as CI service executing Tests and IDEA inpsection.

If you want to perform the IDEA Inspections within your own IDE:

  • Select Analyze > Inspect Code …
  • The select Custom Scope: "Showcase Sources" & include test sources
  • As inspection profile exxcellent-2017 should be preselected.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].