Tworzenie serwisów i aplikacji webowych bez Springa

2

Cześć,

Zakładam ten temat jako dyskusję poza wątkiem Czy warto zainwestować swój czas w Java EE, ponieważ dotyczy tworzenia serwisów oraz aplikacji webowych bez użycia Springa/Spring Boota.

Jak wspomniałem w tamtym temacie, stosuję podejście @jarekr000000 i @KamilAdam i używam Scali oraz Akki HTTP do pisania serwisów bez użycia jakiegokolwiek frameworka, stosując same zasady SOLID, Clean Architecture, a właściwie Ports&Adapters/Hexagonal Architecture i moim zdaniem do pisania serwisów świetnie sprawdza się :D

Potencjalne zalety takiego podejścia

  • Niezależność od frameworka (Oczywiście można to osiągnąć w Springu stosując Hexagonal Architecture, moduły Mavena i fasady)
  • Logika biznesowa jest całkowicie wolna od frameworka
  • Ułatwia debugowanie, bo skupiamy się na logice biznesowej, a nie co dzieje się we frameworku

Potencjalne wady:

  • W przypadku braku znalezienia biblioteki, która oferuje to co framework, możemy być zmuszeni do implementacji danego rozwiązania samemu?

Natomiast pytanie brzmi nastepująco: Co w przypadku ze stosowaniem takiego podejścia bez frameworka, kiedy chcemy napisać zwykłą aplikację webową np. z wymaganiami typu autentykacja, i18n (wielojęzyczność)?
Możemy oczywiście znaleźć biblioteki, które obsługują te funkcjonalności i dodać je jako dependencies do projektu, ale może zdarzyć się, że ich nie będzie, a frameworki szybko pozwalają na integrację takich rozwiązań jak np. Spring Security ze Spring Bootem.

W Scali mamy framework Lagom do pisania aplikacji webowych, ale czy jest on gdzieś w ogóle jeszcze używany?

Czy pisząc aplikację webową np z obsługą wielu języków i autentykacji, staralibyście się uniknąć Spring Boota, który, co by nie powiedzieć, ma bardzo dobre wsparcie do takich funkcjonalności (MessageSource i Spring Security) i wykorzystać podejście "libraries over frameworks" i możliwości jakie oferuje język np. Scala czy raczej lepiej już skorzystać ze Spring Boota, pomijając wady jakie ma?

Zapraszam do dyskusji :D

0

Wydaje mi się, że dałeś się ponieść dogmatyzacji programowania, tj. zamiast decydować co w twoim przypadku będzie najbardziej efektywne to kierujesz się jakimiś dogmatami, których nie rozumiesz. Da się pisać mikroserwisy bez frameworków, ale po co?

Jeśli ktoś by mi duże pieniądze zapłacił za napisanie czegoś takiego bez frameworka, to bym sobie go sam stworzył. Ewentualnie bibliotekę. Natomiast rzeczywistość jest taka, że wynajdywanie koła po raz dziesiąty jest żmudne, nudne i nieefektywne więc wolę poużerać się przez dzień nawet z tym nieszczęsnym Springiem, którego zbytnio nie lubię niż przez dwa miesiące użerać się z własnym rozwiązaniem łatając jakieś warunki brzegowe.

1

@wartek01:

Doskonale rozumiem, że najważniejsze jest dostarczenie funkcjonalności biznesowej i dobranie języka programowania i narzędzi do projektu, który mam dostarczyć, bo to biznes płaci pieniądze za soft, a masz mnie za jakiegoś tępaka, który nie wie co mówi.

Chciałem zapytać tylko o alternatywy dla Springa, ale widzę, że nie ma to sensu, bo bije tu arogancją jak cholera. Nie ma sensu ciągnąć tematu, i można go usunąć.

0

@seba_bootcampowicz: o_O

Napisałeś dosyć rozlazły post o swoim podejściu. Spoko, wolno.
Wyraziłem swoją opinię, bez jakichkolwiek ocen twojej osoby. Norma. Ty to odebrałeś jako atak na ciebie. Dlaczego?

Dorośnij, nie jesteś jakiś wyjątkowy. Takie zbytnie skupianie się na tworzeniu "fajnego" kodu zamiast na funkcjonalności to pułapka, w którą zdarza się wpaść najlepszym. Zwłaszcza, gdy dostaną nowy superświeży framework do ręki.
Skoro chciałeś zapytać o alternatywy dla Springa to czemu po prostu nie napisałeś "jakie znacie frameworki do RESTa poza Springiem?".

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