Kotlin - biblioteki/frameworki dla backendu

0

Cześć,

Zastanawiam się nad użyciem Kotlina do zbudowania backendu dla aplikacji webowej. Jej zadania będą obejmować m.in. wystawianie REST endpointów, przetwarzanie zapytań, kontakt z relacyjną bazą danych, do tego przydałyby się kwestie związane z autoryzacją. W związku z tym zastanawiam się nad tym jakie biblioteki/frameworki warto zastosować. Chciałbym raczej pracować z takimi narzędziami, które są używane w komercyjnych zastosowaniach i które niekoniecznie znikną za kilka miesięcy ;) Dla stacku Javowego najbardziej kojarzę Springa, ale jednocześnie kilkukrotnie widziałem (między innymi tutaj na forum) i słyszałem krytykę tego frameworku, w związku z tym chciałem zapytać jakie inne rozwiązania możecie polecić?

3

Sprawdz KTora

0

Bardziej myślisz kategoriami swojego rozwoju, czy pracy za 20k ? Bo to przeciwieństwo w obszarze Java<->Kotlin i Spring<-> "coś innego" zachodzi.

jest w Helionie ksiażką Kotlin+Spring, widocznie jest to możliwe. Nawet ją posiadam, ale nie czytałem jeszcze.

0
stivens napisał(a):

Sprawdz KTora

Potrafisz porównać RatPak <-> Ktor ?
W kategoriach:

  • aktywności i rozwijania projektu
  • filozofii: podobne / lepiej / gorzej
2

Powinieneś napisać tak aplikacje żeby framework/bibliotekę dało się podmienić i wtedy problem częściowo znika, no chyba że piszesz CRUDa ;)

1

Możesz również rozważyć Micronaut'a, bliżej mu Springa niż KTor'a, aczkolwiek do wyżej wymienionych zastosowań wystarczył by i Ratpack(ktoś używa komercyjnie ?)

0
AnyKtokolwiek napisał(a):

Bardziej myślisz kategoriami swojego rozwoju, czy pracy za 20k ? Bo to przeciwieństwo w obszarze Java<->Kotlin i Spring<-> "coś innego" zachodzi.

jest w Helionie ksiażką Kotlin+Spring, widocznie jest to możliwe. Nawet ją posiadam, ale nie czytałem jeszcze.

W dużej mierze pod kątem rozwoju, takiego przydatnego, potencjalnie też w pracy, nawet jeśli nie w tym momencie to w perspektywie kilku lat ;) I trochę pod kątem tego, żeby gdyby ktoś kiedyś postanowił ciągnąć to dalej to mógł wejść w miarę przyjazny zbiór technologii.

scibi92 napisał(a):

Powinieneś napisać tak aplikacje żeby framework/bibliotekę dało się podmienić i wtedy problem częściowo znika, no chyba że piszesz CRUDa ;)

To wiadomo! :) Natomiast nadal fajnie byłoby uniknąć niepotrzebnych podmian.

1

Użycie Springa nie oznacza że
1)Wszystko musi być "beanem"
2)Musisz wszędzie stosować rozwiązania Springowe. Np. możesz do bazy danych SQL wykorzystać Jooq-a (ale wygodny tez jest JdbcTemplate), cachować możesz normalnie przez kompozycje obiektów (wzorzec proxy)/higher-order functions + jakieś biblioteki (np. Guava).

0

Pytanie przy okazji - próbował ktoś używać DropWizarda z Kotlinem?

2

Używam Ktora, ale projekty które na tym lecą to na razie bardziej dema niż komercyjne. Swego czasu trochę mnie zdenerwował magią korutyn, ale za to jak przyjrzałem sie bliżej jak jest zrobiony to jednak nie jest tak źle (np. jestem w stanie sterować wątkami w miarę sensownie).
Co do innych to różnie - korzystam z javowych biltiotek jooq i jdbi (ma plugin dla kotlina).
jest wiele natywnych dla kotlina bibliotek - warto przeglądać:
https://github.com/mcxiaoke/awesome-kotlin

Ale różnie bywa - Exposed (kotlinowy orm) używa threadLocal przy sterowaniu transakcjami - dla mnie no-go.

0

Czemu REST a nie GraphQL?

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