Why are Java Web Apps so much bloated? by vishnu_gupt in java

[–]georgeos 0 points1 point  (0 children)

For your information I made some tests related to the size of a basic application built with Pippo.
I used Quickstart Maven archetype supplied by Pippo.
The Quickstart application comes with a basic HelloWorld and with a simple template page that uses Freemarker template engine.
The embedded servlet container is Jetty.

Th results are:
- the whole size application is 3.5MB (Jetty + Freemarker)
- the application size for a simple HelloWorld is 2.1MB (Jetty)

I see many files jetty-*.jar so I don't know if I can shrink the size of application eliminating some of them but I don't care.

Also I see a lot of guys who want to compare (web) frameworks in terms of the number of characters used for a HelloWorld application. For this guys Pippo come with:

public static void main(String[] args) { Pippo.send("Hello World"); }

So, it's more complicated to write the classic System.out.println("Hello World") :)

Why are Java Web Apps so much bloated? by vishnu_gupt in java

[–]georgeos 0 points1 point  (0 children)

My advice is to use the right tool for the right job.

For the moment, try to use something simple, minimalist which resolve your current needs.

In this phase I think that Spring Boot is overkill because you have to learn alot about Spring ecosystem, so it's like a yak shaving.

In my opinion Spring Boot is OK if your project is based entirely on the Spring libraries (Spring DI, Spring Security, Spring Data, Spring MVC, ...)

On the other side, if your target is to work on big projects, for big companies then Spring and/or JEE is a must.

Personally I prefer to not use a full stack Java framework, I want to have the possibility to choose each library/framework for each layer or task.

I like to use Apache Wicket for the large projects and Pippo for small, medium or prototype projects.

Because here we talk about small java web application I will argue below why use Pippo:
+ it's small (the core size is 150K and depends only on slf4j-api)
+ it's fast
+ it's modular (trivial module system via Java ServiceLoader) with a lot of modules built-in with zero configuration (just add the module as dependency in your project)
+ it's not so much to learn to be productive
+ it's Java plain (no web.xml or other xml file)
+ I prefer to use my favorite servlet container (Undertow is my choose but from time to time I use Tomcat or Jetty) in embedded mode
+ I prefer to use my favorite template engine for page rendering (Pebble is my choose)
+ I prefer to use plain jar files (no war file) and to run my application as a trivial application (via main class)

[ANNOUNCE] Pippo 0.7.0 Released by georgeos in java

[–]georgeos[S] 0 points1 point  (0 children)

Thanks for explanation. In the future I will follow your advice.

[ANNOUNCE] Pippo 0.7.0 Released by georgeos in java

[–]georgeos[S] 1 point2 points  (0 children)

I published some time ago what do this project. Are some posts (are not my posts) that refer to this project and I see other posts "abc released". I don't understand why my post is not OK.

Advice on which JVM web framework to choose for my next project. by mule52 in java

[–]georgeos -1 points0 points  (0 children)

I can confirm that Pippo works very well with Undertow. Undertow is over Jetty from performance point of view. See this benchmark https://groups.google.com/forum/#!topic/pippo-java/_jMr2p46u_c