Kotlin do mikroserwisów, CLI (laik w świecie JVM)

0

Hej, jak to jest z Kotlinem w kontekście tworzenia mikroserwisów, CLI?

W pracy używam głównie PHP z Symfony (to taki framework i zestaw bibliotek/pakietów) i relacyjna baza (MariaDB lub PostreSQL) - aplikacje uruchamiane w kontenerach (Docker) na produkcji i lokalnie.

Przeglądałem oficjalną stronę Kotlina i widzę, że pod backend wylistowano tam frameworki w tym dwa (główne?) - spring i Ktor. Ponadto do dyspozycji są Micronaut, Quarkus, Vaadin... No wybór jakiś jest i w sumie zastanawiam się, co by tu wybrać, co jest takim odpowiednikiem Symfony w świecie JVM? Albo może inaczej zapytam - co polecacie?

Przy okazji jeszcze dwa pytania:

  1. Czy z Intellij IDEA Community Edition da się wycisnąć coś więcej niż pure Java and Kotlin development? Mam na myśli jakieś wsparcie pod framework, bo choć jestem posiadaczem licencji do PhpStorm, to do zabawkowych projektów preferują póki co, coś darmowego.
  2. Z tego co wywnioskowałem to w Kotlinie/Javie (JVM) projekty tworzy się w oparciu o system budowania np. Gradle lub Maven. Czy to mniej więcej odpowiedniki takiego menadżera pakietów Composer czy np. npm lub yarn z JS albo pip z Pythona tzn. można z poziomu terminala utworzyć projekt, pobrać biblioteki/pakiety?
1

Moja rada - nie zaczynaj od mikroserwisów. Zrób chociaż jedną, dobrze zmodularyzowaną aplikacje najpierw.

Odpowiadając na pytanie, gradle i maven to coś bardziej jak: npm+webpack, tzn pozwala Ci ściągać zależności, ale też budować i dystrybuować aplikację.

3

Co do robienia serwisów HTTP w Kotlinie.
Osobiście polecam Ktor. Do obsługi bazy danych JDBI lub JOOQ.

Najbardziej popularny jest Spring, który dobrze działa z kotlinem, z tym, że spring to takie troche konfigurowanie, a nie programowanie - proste rzeczy są nieco prostsze niż z takim Ktorem, trudniejsze rzeczy stają się mocno pokomplikowane (ale nie oszukujmy się większość serwisów jest "prosta"). Osobiście dawno temu porzuciłem Springa, bo znudziło mi się ciągle rozwiązywanie tych samych problemów, ale większości ten spring działa i ludzie są zadowoleni.

Quarkus i Micronaut - sensowne alternatywy do springa, ale dla mnie to nadal Spring jeśli chodzi o sposób pisania kodu. Znasz jedno to w reszcie się odnajdziesz.

Vaadin to gui (webowe) - zupełnie inny temat - polecam unikać (choć ma swoich wyznawców).

Co do budowania - tak gradle, tak odpowiednik npm + node (repozytorium + skrypty budujące).

1 użytkowników online, w tym zalogowanych: 0, gości: 1