I develop my back end sites with Kotlin + DropWizard and on multiple clouds (Heroku and EC2 so far), but I'm always curious about other approaches. I've been wondering about Spring for a while but I'm really not a fan of what I see. First of all, Maven as a default build system. Then proprietary annotations like
, while my code base is 100% Jersey compliant, so easy to port.
Am I too harsh toward Spring?
02/06/2020, 8:43 PM
Maybe a bit 🙂 its about what works best for the product and engineering team and context in question. For me personally and professionally, Spring has helped myself and my teammates deliver value at a fast pace. I also used Dropwizard in a previous job that helped us deliver value at a fast pace. I can’t really say one is better or worse then the other. To my knowledge, Maven isn’t the default build system for Spring. Gradle works great too especially for Kotlin projects and I use it a lot too. As for the proprietary annotations, I’m not a fan of annotations leaking all over the codebase no matter what library or framework I use so I usually keep code with annotations separate from core code so that it can plug into core code and core code can remain annotation free 🙂 Then again, sometimes if a service is so thin and simple, it can be overkill to separate out the annotation based code - so its all about context. The value for me with Spring Boot is when its used with Spring Cloud - it makes delivering a set of microservices much quicker and easier for me than when I used Dropwizard before and had to do more heavy lifting around service discovery, configuration, async communication etc . But maybe some projects require that flexibility - so its all context at the end of the day 🙂