Cześć!
Zastanawiam się nad zaletami i wadami zastosowania Scali w projektach, które są typowymi aplikacjami webowymi.
Po obejrzeniu kilku świetnych filmików z @jarekr000000 (Dzięki za kawał dobrej wiedzy! :D) zwłaszcza o patologii Spring, Jakarta EE oraz wadach adnotacji, a także w oparciu o własne doświadczenie jak magia Springa może przeszkadzać i dlaczego warto używać Hexagonal architecture/Ports&Adapters itp, pomyślałem o tym jakie moga być potencjalne zalety/wady użycia konkretnej kombinacji języka oraz bibliotek/frameworków do aplikacji webowych.
Obecnie pracuję nad aplikacją webową, w której wykorzystuję Java, Spring Boot, Spring Cloud, a same komponenty są podzielone na mikroswerwisy wg Bounded Context w DDD i oczywiście domena w każdym mikroserwisie jest całkowicie odseparowana od jakiejkolwiek frameworka zgodnie z Hexagonal architecture/Ports&Adapters.
Jakie wady/zalety widzielibyście w przepisaniu aplikacji i ogólnie stosowaniu konkretnych poniższych języków/frameworków do typowych aplikacji webowych, ale które mogą okazać się bardziej skomplikowane niż przysłowiowy CRUD?
- Scala + Play do budowy mikroserwisów
- Kotlin + Spring Boot
- Java + Spring Boot jako najbardziej standardowy tech stack + użycie Vavr, co na pewno da większe możliwości
Zastanawiam się nad przepisaniem całej aplikacji na Scale i całkowitej rezygnacji z Javy i Springa, głównie z powodu tego, że Scala daje potężne możliwości, zwłaszcza jeśli chodzi o functional programming, oraz samym znudzeniem Java.
Jak wygląda zastosowanie Scali/Kotlina w aplikacjach webowych nad którymi pracujecie i czy warto użyć zwłaszcza Scali do pisania aplikacji webowych trochę bardziej skomplikowanych niż zwykły CRUD, poza oczywistymi zastosowaniami typu Big Data i Machine Learning?
Z góry dzięki!