Skip to content

Latest commit

 

History

History
40 lines (27 loc) · 2.48 KB

spring.asciidoc

File metadata and controls

40 lines (27 loc) · 2.48 KB

Spring

Spring is the most famous and established Java framework. It is fully supported by devonfw as an option and alternative to quarkus.

Pros

Spring offers the following benefits:

  • highly flexible
    Spring is famous for its great flexibility. You can customize and integrate nearly everything.

  • well established
    While JEE application servers including very expensive commercial products turned out to be a dead-end, spring has guided projects through the changing trends of IT throughout decades. It may be the framework with the longest history track and popularity. As a result you can easily find developers, experts, books, articles, etc. about spring.

  • non-invasive and not biased
    Spring became famous for its non-invasive coding based on patterns instead of hard dependencies. It gives you a lot of freedom and avoids tight coupling of your (business) code.

See Why Spring? for details.

Cons

Spring has the following drawbacks:

  • history and legacy
    Due to the pro of its long established history, spring also carries a lot of legacy. As a result there are many ways to do the same thing while some options may be discouraged. Developers needs some guidance (e.g. via devon4j) as they may enter pitfalls and dead-ends when choosing the first solution they found on google or stackoverflow.

  • lost lead in cloud-native
    While for the last decades spring was leading innovation in Java app development, it seems that with the latest trends and shift such as cloud-native, they have been overtaken by frameworks like quarkus. However, spring is trying to catch up with spring-native.

Spring-Boot

Spring-boot is a project and initiaitve within the spring-ecosystem that brought a lot of innovation and simplification into app development on top of spring. As of today we typically use the terms spring and spring-boot rather synonymously as we always use spring together with spring-boot.

Spring-Native

Spring-native adds cloud-native support to the spring ecosystem and allows to build a spring app as cloud-native image via GraalVM. This feature is currently beta. You may also consider quarkus if you are interested in building cloud-native images.