Page icon

Spring Boot (Java / Kotlin)

Sekilas tentang Spring Framework

💡
Spring Framework adalah Fullstack Web Framework yang dikembangkan oleh Pivotal menggunakan bahasa bahasa JVM (seperti Java, Kotlin dan Groovy).
Spring sendiri telah mengalami evolusi sampai beberapa kali, diantara lain :
Spring MVC. Aplikasi spring edisi ini untuk masih dikonfigurasi secara manual, sehingga dalam development masih lambat. Web Server juga masih terpisah sehingga harus di deploy secara manual.
Spring MVC yang di wrap dengan Spring Boot. Dengan adanya Spring Boot, setup project menjadi lebih cepat dan mudah. Web server juga sudah di embed sehingga tidak perlu di deploy secara manual. Secara default menggunakan Tomcat Web Server.
Spring Webflux yang di wrap dengan Spring Boot. Spring Webflux menawarkan Reactive Programming yang Non Blocking. Web Server default diganti dengan netty yang lebih leightweight. Sehingga performa dari aplikasi spring dapat meningkat.
Sejauh ini secara pribadi spring merupakan framework paling lengkap yang pernah saya temui. Spring dapat mengatasi permasalahan mulai dari masalah REST API sampai Microservice.
Framework ini merupakan compiled framework karena dalam menjalankannya harus di compile terlebih dahulu. Oleh karena itu Spring memiliki performa yang lumayan bagus. Saya pernah melakukan benchmark menggunakan wrk untuk melakukan hit API mendapatkan hasil sekitar 30.000an request per detik. Lebih detailnya dapat di cek di Laman Berikut.
Walaupun memiliki performa yang lumayan, framework ini memiliki waktu startup yang relatif lama, sekitar 10 detik lebih. Sehingga apabila anda memiliki RAM lebih saya menyarankan menggunakan build tool Gradle daripada Maven untuk mempercepat proses kompilasi.

Roadmap Belajar Spring

Berikut sekilas peta jalan yang dapat anda pelajari untuk dapat membuat aplikasi spring. Happy Coding :D.

Basic

Template Engine

Database

Security

Report

Microservice

Email

Repositories

I've already developed some project, and you can find it at this link.