Dlaczego Spring jest zły?

0

No właśnie, często na tym forum przewijają się wypowiedzi naszych jedi programowania dotyczące tego, że Spring to wcale nie jest taka fajna technologia i należałoby jej unikać szerokim łukiem a Ci co jeszcze jej używają powinni zostać wyklęci z programistycznego zakonu Javy. Ale, co się w tym springu dzieje tak niewyobrażalnie złego, że odradzane jest jego używanie?

Nie ukrywam, że wywołuje tutaj głównie naszych naczelnych anty-springowców :D @jarekr000000 @Tomek Pycia @Shalom @Wibowit @Charles_Ray

6

Nie che mi się powtarzać - w wideo poniżej się spuszczam na Springa - tyle co mi się udało w 50 minut... mógłbym więcej.

To nie jest tak, że wszystko w Springu jest złe. Dużo jest dobrze zrobionych rzeczy, ale centralne koncepty: Beany, DI na kontenerze i aspekty to zło wcielone.

0

A dlaczego JSF jest zły?Wg mnie genialny framework

1

Część ludzi przestała wierzyć w to, że jest możliwy ciekawy projekt z użyciem springa i traktują go jako synonim legacy kodu. Może stąd się to bierze (oczywiście nie u wszystkich)

0

Narzekanie na Springa to jak narzekanie na samochód z manualem. Jak nie pasuje to można jeździć na wakacje rowerem, albo kupić automat. Póki co większość jest manuali (nie mam danych, pisze na potrzeby przykładu) i jest to spoko kompromis :)

1

Głownym problemem Spinga są przeciekające abstrakcje. Tzn ze Springa da sie sensownie korzystac jako tako, ale trzeba miec sporą wiedze jak to działa "pod spodem" np. że używa ThreadLocali. Spring jako kontener IoC + różne dodatkowe bajery jak JdbcTemplate, RestTemplate/WebClient jes jeszcze ok.
Problemem jest AoP:

1

To nie jest tak, że Spring jest zły. W dużej mierze zachęca do wykorzystywania wielu mechanizmów bez ich szczegółowej znajomości - przykład @Transactional.

7

Używanie Springa to jak kupowanie samochodu z manualem, bo większość ludzi jeździ manualem.

W dużej mierze zachęca do wykorzystywania wielu mechanizmów bez ich szczegółowej znajomości

Dobre narzędzie powinno pozwalać dać się bezpiecznie wykorzystywać bez pamiętania o szczegółach implementacyjnych.
Niestety te szczegóły ze springa (i innych podobnych) wszędzie wyciekają, co kończy się:

  • trudno odtwarzalnymi błędami na produkcji,
  • przerwami w developmencie (ten piatek, kiedy magia przestaje działać)
  • poważnymi lukami w bezpieczeństwie lub spójności danych (ten moment jak aspekty przestają działać, nie mamy sprawdzania security, a do tego updaty do bazy lecą na autocommit)

Najlepsze, że każdy prawie zespół uważa, że tych problemów nie ma...

1

Spring i tak lepszy niż te wszystkie hipsterskie technologie, których nikt nie używał na produkcji.

Śmieszy mnie ten hejt na Springa.
Pragnę tylko zwrócić uwagę, że na takiego Springa ogromny wpływ miał netflix, który jednak ma trochę inne problemy niż standardowy crud-development.

0
karsa napisał(a):

Spring i tak lepszy niż te wszystkie hipsterskie technologie, których nikt nie używał na produkcji.

Nie jeden proof-of-concept w hipsterskiej technologii wylądował na produkcji, bo nie było czasu przepisać go do nie hipsterskiej XD

4

Spring swojego czasu namieszał i rozruszał web w Javie i jest z nim jak z żoną którą się spędziło 20 lat. Są na rynku młodsze i gorętsze sztuki, ale wiele osób woli "sprawdzony" grunt ponieważ wiedzą czego się po nim spodziewać i jak radzić sobie z jego kaprysami. Nowe modele oferują przygodę, stare i sprawdzone rozwiązania dają stabilność. Czy Spring jest bardzo najlepszym rozwiązaniem na nowy projekt? Oczywiście nie, po prostu nie jest aż tak zły jak ludzie twierdzą.

Do tego trzeba dodać kilka ważnych faktów:

  • Spring to nie tylko JDBC, DI i tak dalej to także Data, microservices i wiele innych poważnych podprojektów niedostępnych w innych frameworkach, które dostarczają wiele fajnych rzeczy
  • ma ogromne wsparcie i rzeszę użytkowników
  • popularność spring sama się napędza, framework jest popularny, powstaje w nim wiele rozwiązań, więcej osób jest do niego przyuczanych, więcej nowych projektów jest tworzonych bo więcej osób go zna itd.

Ale zgadzam się z wieloma zarzutami antyspringowców, jak nie chcesz sobie zrobić kuku, musisz wiedzieć jak Spring działa pod spodem (abstraction leak).

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