Spring ve Spring Boot rakip araçlar değildir. Birbirini tamamlayan araçlardır. Aslında Spring Boot, Spring çerçevesinin üzerine inşa edilmiştir. Bu yüzden farkı anlamak, birini diğerine tercih etmekten çok her birinin ne sunduğunu bilmekle ilgilidir.
İlk olarak, geliştirme çerçevelerini değerlendirirken sık sık ortaya çıkan iki terimi açıklayalım: kuralcı olmayan ve kuralcı.
Kuralcı olmayan çerçeveler
Kuralcı olmayan bir çerçeve, geliştiricilere işleri istedikleri gibi yapılandırma özgürlüğü verir. Bu, maksimum esneklik sunar ve geliştirme ekibine daha fazla denetim sunar. Ancak bunun daha fazla uzmanlık ve uygulamayı yapılandırıp çalıştırmak için daha fazla başlangıç işi gerektirdiğini de unutmayın.
Kuralcı çerçeveler
Kuralcı bir çerçeve, çoğu ekip için çoğu durumda uygun çalışan, net ve iyi tasarlanmış bir yol sunar. Karar yorgunluğunu azaltır, kod temelleri arasında tutarlılığı destekler ve yeni geliştiricilerin hızla çalışmaya başlamalarını kolaylaştırır. Ödün verilen şey daha az esneklik olsa da, çoğu modern uygulama geliştirme senaryosu için bu değerli bir değiş tokuştur.
Spring çerçevesi tamamen yapılandırılabilir ve kuralsız bir yapıya sahiptir. Bu da uygulamanızı belirli bir şekilde geliştirmenizi belirtmediği anlamına gelir. Bu esneklik güçlüdür, ancak bir bedeli vardır: Geliştiricilerin çok sayıda kararı en başta vermesi ve gerçek uygulamayı geliştirmeye başlamadan önce önemli miktarda yapılandırma kodu yazması gerekir.
Spring Boot farklı bir yaklaşım benimser. Kuralcı olduğu için, sizin yerinize varsayılan kararlar alır. Böylece kurulum yerine uygulama mantığı yazmaya odaklanabilirsiniz. Hız ve sadelik için tasarlanmıştır. Geliştiricileri sıfırdan çalışan bir uygulamaya, yalnızca Spring çerçevesi ile çalışmaya kıyasla çok daha kısa sürede ulaştırır.
Spring Boot’un kuralcı yaklaşımını bu kadar etkili kılan temel özellik otomatik yapılandırmadır. Geliştiricilerin bir uygulamanın her bileşenini tek tek manuel olarak bağlamasını gerektirmek yerine, Spring Boot sınıf yolunda ne olduğunu otomatik olarak algılar ve uygulamayı buna göre yapılandırır. Geliştirme ekiplerinin hızlı hareket etmeleri gerektiğinde ama kaliteyi düşürmek istemediklerinde Spring Boot çerçevesini tercih etmelerinin en büyük nedenlerinden biri budur.