Skip to content
/ mangooio Public
forked from svenkubiak/mangooio

An Intuitive, Lightweight, High Performance Full Stack Java Web Framework.

License

Notifications You must be signed in to change notification settings

wdile/mangooio

 
 

Repository files navigation

Maven Central Travis Build Status

mangoo I/O

mangoo I/O is an Intuitive, Lightweight, High Performance Full Stack Java Web Framework.

Development of mangoo I/O started in mid 2015 out of the interest on how difficult it would be to create an intuitive, developer friendly, full stack Java web framework in from scratch. After I had a fresh new breeze of Java development for the web with the Play Framwork - Version 1, contributions to the Ninja Framework, and having seen a lot of cumbersome "Enterprise" applications, I thought it was time for yet another full stack Java web framework.

For me, developing mangoo I/O will always be about having a developer friendly, fluent and easy to understand web framework with a small learning curve for the Java ecosystem. This will be the untouchable base line.

At its core, mangoo I/O is a classic MVC-Framework. The foundation of mangoo I/O is the high performant Undertow web server from JBoss. On top of that, standard, production ready Java libraries are used - no reinventing of the wheel, no bytecode manipulation, no magic whatsoever.

The main reason for using Undertow was that it is based on non-blocking I/O in the form of XNIO. And although Undertow does support the servlet API, one is not bound to use it in any way, giving a Java developer the opportunity to work fully stateless and being independent to the servlet API.

As I did some contributions to the Ninja Web Framework, mangoo I/O is in some parts inspired by the Ninja Web Framework. If you have worked with Ninja you probably feel comfortable from the start.

Here are some key features of mangoo I/O in a nutshell:

  • Intuitive convention-over-configuration
  • Highly scalable using a share-nothing stateless architecture
  • Hot-Compiling development mode for high productivity
  • Easy to use template engine
  • Support for Web Sockets
  • Support for Server-Sent Events
  • Simple and self-explaining form handling and validation
  • Plain scheduling for recurring tasks
  • Easy handling of JSON in- and output
  • Simple form handling and validation
  • Strong cryptography and enforced security
  • Build-in asset minification in development mode
  • Flexible testing tools
  • Build-in authentication tools
  • Support for OAuth with Twitter, Google and Facebook
  • Simple Deployment and CI-Integration
  • Preprocessor for LESS and SASS
  • i18N Internationalization
  • Any many more...

One main focus of mangoo I/O was to have a very good and well documented code base. Therefore, mangoo I/O is constantly checked against SonarQube with a rule set of more than 1000 checks. Additionally each build is checked against Loader.io to ensure, that code changes don't decrease the framework performance.

Here are some used libraries and their purpose in mangoo I/O.

Homepage
https://mangoo.io

Documentation
https://mangoo.io/documentation

Discuss
https://mangoo.io/discuss

Changelog
https://mangoo.io/changelog

Apidocs
https://mangoo.io/apidocs

Twitter
https://twitter.com/mangoo_io

About

An Intuitive, Lightweight, High Performance Full Stack Java Web Framework.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 85.7%
  • JavaScript 4.9%
  • FreeMarker 4.3%
  • HTML 4.0%
  • CSS 1.1%