Event: Comparing Native Java REST API Frameworks with Matt Raible
Manchester Java Community hosted a meetup with a fantastic speaker Matt Raible in Infinity Works's office. Matt compared the startup performance and memory usage of Spring Boot, Micronaut, Quarkus and Helidon frameworks. He built a REST API application secured by OAuth 2.0 and ran the application in Docker with the four frameworks respectively.
His slides and related resources can be found at Comparing Native Java REST API Frameworks - Manchester JUG 2022. Here is my thought after the talk:
- Java is still hugely popular and widely used (Yay!). The community should contribute to the language to encourage more younger generation to adopt it.
- Use SDKMAN to manage multiple JDK in a local computer
- Use HTTPie which is better than cURL for testing API
- Test OpenID Connect requests and debug responses with OpenID Connect debugger
- Build optimized Docker images for your Java applications with Jib
- Compare with startup time which does matter for Serverless
- Take MicroProfile as the baseline platform for Java microservices architecture.
- Secure API with OAuth 2.1 to capture best practices of 2.0 with extensions
- Spring provides much better testing support. It can mock up all the things before you reach endpoints. Spring has the strongest and dominent community and ecosystem.
- Quarkus does not need compilation again when changed
- Frameworks ease the development. On the other hand, the sophisticated frameworks hide the complexity which developers may not deep-dive it. Thus it may incur a risk of unwanted side effects of other libraries they are not aware of.
- Spring framework comes with other sister projects like Spring Data and Spring Security. It is not straightforward to migrate from Spring due to dependency of sister projects.
Comments