Choosing the right technology to build your applications on is hard. There’s already a myriad of frameworks, tools, languages out there in the wild and it will get more with the next hype cycle.
How are you going to pick the right one which works longterm for your company!?!?
While this article can’t give you a complete answer, it picks one of the most proven solutions and shows you why it is an excellent choice.
The solution is Spring Boot and the Spring Framework.
Spring Boot is based on the Spring Framework. The Spring Framework itself was developed over 15 years ago as a lightweight alternative to the Java Enterprise stack. It enables developers to build enterprise-grade applications without the bloat of the traditional JEE stack.
The core and central modules in the Spring ecosystems are stable for a long time, and most changes are backward compatible. Breaking changes are announced long before a release, and there is usually a smooth migration path available on time.
Based on the Java Virtual Machine
Spring is Java-based and thus depends on the Java Virtual Machine (JVM). Java and the JVM are a proven stack of running mission-critical applications for over 20 years now. Theoretically, Spring Boot apps can be developed in a JVM language with being Java and Kotlin first-class citizens in the Spring ecosystems.
Open Source but Company-backed
Spring Boot and the major Spring modules in the ecosystem are open source software. However, it is heavily maintained and backed by Pivotal, a company offering platforms and tools for building better software. Spring is a cornerstone of their business.
It’s free to use and it will probably stick around for another decade.
Spring Boot follows the deployment-principles of cloud applications and is ready for the cloud out of the box. Together with Spring Cloud you can build distributed systems in a breathe.
Run it on your own server, VMs, Containers or host on Heroku, AWS or alike. It is up to you. Spring supports it.
With Spring you can easily connect your application to relational databases, NoSQL databases or queue services. All with a Spring typic hassle-free way.
Supports Oracle, PostgreSQL, MySQL, MongoDB, Redis, Solr, ElasticSearch, Rabbit MQ, ActiveMQ and many, many more.
With Spring Boot you can develop typical server-side rendered web applications, RESTful and other Web-APIs, or even create batch jobs and regular command line applications.
Developers love it
Developers love programming with Spring Boot. They are more productive, enjoy the benefits of the Spring ecosystem and the peace of mind of running production systems. One common theme I hear often is:
There wasn’t a single production issue since we went live with our Spring Boot based systems a few months ago.
When developers love their tech stack, they are generally more productive. You can triple that by using Spring Boot with Kotlin.
Plenty of Resources
A usual problem with open source software are resources like documentation and dev talents on the market. Got a bug or production issue and need help? Can be hard to find a dev. Not so with Spring, you will quickly find developers and companies with experience in Spring, and there are plenty of books, videos, and training available.
I’d pick it anytime as it lets me Get. Sh!t. Done.
Still unsure if it is a good fit for you? I can help you getting clarity on that.