Ratpack Framework

So, I heard that Java is not only about Spring or Java EE  🙂 There are also: Ratpack, Lagom, SparkJava, Akka…Below, you will find great informations about Ratpack 🙂 Check this first.

“Ratpack’s goals from docs  are:

  1. To be fast, scalable, and efficient (Ratpack server  is up in 1 second)
  2. To allow applications to evolve in complexity without compromise
  3. To leverage the benefits of non-blocking programming and reduce the costs
  4. To be flexible and unopinionated when it comes to integrating other tools and libraries
  5. To allow applications to be easily and thoroughly tested

Ratpacks’s goals are not:

  1. To be a fully integrated, “full stack” solution
  2. Provide every feature you might need in a neat box
  3. To provide an architecture or framework for “business logic”
When to use Ratpack?
  • Micro-services
  • High-througthput apps
  • Lightweight apps
  • Cloud Deployments”

Resources:

  1. Rapid Java Web Application Development with Ratpack + github + video
  2. Devoxx Poland 2016 – Laurent Doguin – A practical RxJava example with Ratpack +github
  3. A CRUD REST API with Couchbase, RxJava and Ratpack
  4. Modern Java Web
  5. Ratpack & Spring Boot and here
  6. Sping & Ratpack Slideshare
  7. Great post About Ratpack by Rafael Salerno
  8. Testing [1], [2],[3]
  9. Often jOOQ is used with Ratpack, instead of Hibernate.

Go Language – First Impressions

Just wrote something small with Go Language. Simple CRUD/webservice with MySQL using gorilla mux and sqlx, but it is almost plain golang. If anything wrong about it, tell me 😉
https://github.com/kgoralski/go-crud-template

Here are my impressions about it:

  • it feels pragmatic from the beginning
  • probably you don’t need any frameworks at all to use it
  • simpler = better, simplicity as a feature
  • quite easy to write REST application
  • the build in package manager ‘go get’ is cool thing
  • compilation & running time of go server is much faster than java
  • it doesn’t eat much of resources
  • you can use many text editors or IDEs for it (IntelliJ has Go Plugin)
  • gofmt – one and the only code formatter
  • designed for special needs, not for everything
  • it is easy to find examples by googling it, good enough community
  • return multiple values from Go functions – nice feature
  • syntax not beautiful like Python but still good
  • the build in ‘testing’ package – ok, but too simple (testify looks better)
  • concurrency – believe that it is nice, but didn’t tried it yet
  • it is much different than Scala – complexity vs simplicity
  • I think that I could be very productive with Go if i will get used to it
  • Docker, Kubernetes, CoreOs,  Consul, Flynn, Lime, Google, Dropbox…
  • heard that golang is good for ‘real time apps’ – want to try it soon
  • it seems to be good for building command-line tools
  • it is different than Java, little bit tricky at beginning, but easy to start 😉
  • ‘good when you need to write something yourself instead of using library’
  • need to find idea for real project, because I kinda like Go

Links:

Wildfly CRUD example with Docker

I’m not that familiar with pure Java EE stack. My experience is mostly mixing Java EE with Spring. So, I just wanted to play with it. You can find it here:
https://github.com/KrzysztofGoralski/wildfly-template

Java EE
JAX-RS – RESTEasy
Apache Deltaspike (similiar to Spring Data)
H2 Database
Docker
Maven

It is just an example and far from real application. It will be required to add tests for sure and it would be interesting to do it this way:
Docker with Arquillian Cube

Continue reading

Interesting Stuff – Volume VII

  1. Stack Overflow Developer Survey Results
  2. Rust Programming Language
  3. Left-pad npm Node.js Drama
  4. Analyzing Scala popularity
  5. Scala Center
  6. Lightbend Lagom – Reactive Microservices
  7. DevTools in Spring Boot 1.3 (LiveReload included) and here 
  8. Free IT Stuff from Bottega
  9. Java Concurrency Essentials Tutorial
  10. Understanding Callable and Spring DeferredResult
  11. Spark Testing Base
  12. Spring Boot Cucumber Example
  13. 10 Awesome Python Tutorials to Kick-Start your Projects
  14. Four Strategies for Organizing Code
  15. Jinkubator #41 – Kotlin – Paweł Byszewski