Kategorie
Junior Developer Regular Developer

Biblioteki Java, które warto znać

Warto pamiętać, że ekosystem Javy to nie tylko Spring Framework. Mamy w nim wiele fajnych i wartościowych narzędzi. W artykule przedstawiam biblioteki Java, które warto znać i stosować w projektach.

Lecimy!

Junior Java Developer Handbook

Caffeine

Cache to bardzo ważny element w wielu aplikacjach. Czasem potrzebujemy biblioteki, która pozwoli nam w szybki i łatwy sposób zająć się tym tematem. Bez rozwlekłego API i bez zbędnych komplikacji. I tu właśnie pojawia Caffeine. Bardzo fajna i łatwa w obsłudze biblioteka, dzięki której rozwiążemy kwestie cache’owania w błyskawiczny sposób.

Link: https://github.com/ben-manes/caffeine

Dokładniejszy opis Caffeine cache zamieściłem w artykule Caffeine cache, super szybka pamięć podręczna

Guava

Guava od Google to biblioteka niemal kultowa. W jej skład wchodzą m. in.:

  • kolekcje, których nie ma w bibliotece standardowej, np. Multimap i Mulitset.
  • kolekcje niezmiennicze (ang. immutable collections),
  • klasy wspierające dla kolekcji,
  • predykaty,
  • świetne wsparcie dla zakresów poprzez Range,
  • EventBus,
  • i wiele innych.

Z sukcesami można ją wykorzystywać i dziś. Ale z radością można ją dodać do takich starszych, trochę już legacy projektów przed Javą 8, żeby nabrały trochę smaku. A docenić można wówczas idiomy funkcyjne, które w Guavie pojawiły się dużo przed JDK 8.

Link: https://github.com/google/guava

O Google Guava możesz przeczytać więcej w artykule Guava – multibiblioteka od Google. Warto zainteresować się tą bibliotekę również obecnie, ma bardzo bogate API rozwiązujące wiele problemów.

Hazelcast

Czasem potrzebujemy mechanizmu, który pozwoli nam rozproszyć nasze dane pomiędzy wiele instancji aplikacji. Z jednej strony może wynikać to z potrzeby skalowalności i rozłożenia zasobów, z innej chcemy osiągnąć wyższą niezawodność.

W takich momentach możemy skorzystać z Hazelcasta. Ta biblioteka w świetny sposób wesprze nas w tego typu działaniach.

Począwszy od rozproszone przechowywania lista, map i zbiorów, poprzez modele subskrypcyjne kolejek i topików, aż po tworzenie locków. Możliwości Hazelcasta są bardzo duże i warto go poznać.

Hazelcast jest świetną biblioteką. Poświęciłem mu cały artykuł Hazelcast, czyli In-Memory Data Grid. Zachęcam do przeczytania.

RxJava

RxJava, czyli implementacja Reactive Extensions dla Javy. Jeśli nie wiesz, jak działa wzorzec obserwatora, to nie zabieraj się za tę bibliotekę. A jeśli wiesz, to koniecznie musisz ją poznać i zrozumieć koncepcje za nią stojące. Ale uważaj, nie jest to biblioteka, z którą łatwo pracować – zwłaszcza na początku kariery.

A tak przy okazji, Rx mają już implementacje w tylu językach, że tak, czy inaczej w końcu na nie trafisz.

O RxJava możesz przeczytać więcej w artykule RxJava po prostu. To duża dawka wiedzy o ReactiveX. Myślę, że może Ci się przydać.

Vavr

Jak zapisać w Javie pewne rzeczy lepiej, bardzie estetycznie. Tak, żeby nasz kod był bardziej czytelny i zawierał mniej tzw. boilerplate kodu. Może w sposób bardziej funkcyjny?

Vavr oferuje kilka bardzo ciekawych API. T między innymi:

  • fajny pattern matching,
  • monad Try,
  • Optional z Javy zrobiony … lepiej, czyli Option w Vavr,
  • i bardzo fajne API dla streamów.

Hey! A o Vavr możesz poczytać więcej tutaj: Vavr, czyli Java funkcyjnie. Zdecydowanie polecam!

Biblioteki Java – podsumowanie

Powyższa lista to parę wybranych bibliotek, które moim zdaniem warto znać i stosować w projektach. Ich API jest przystępne, przykłady często bardzo rozbudowane, a możliwości ogromne.

Te biblioteki Java rozwiązują niektóre problemy, na które natykamy się w czasie rozwoju oprogramowania. Oczywiście nie wszystkie. A Ty? Z jakich bibliotek Ty korzystasz i możesz je polecić?

Junior Java Developer Handbook

Jeśli chcesz poczytać o karierze w IT, tak z lekkim przymrużeniem oka, ale przy okazji z opisem wpływu bieżącej pandemii na rynek pracy, to ten artykuł Cię zaciekawi Kariera w IT w kilku aktach

A może zastanawiasz się, jak połączy kodowanie z Javie z frontendem. Tak? To 5 powodów, żeby zostać Full Stack Developer będzie dla Ciebie fajnym tekstem.

Czy Java jest ok i jest fajna … czy to dobry język na początek? Sprawdź tutaj: Czy Java to dobry język na początek?

0 0 vote
Article Rating
Subscribe
Powiadom o
guest
2 komentarzy
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Jakub
Jakub
2 miesięcy temu

„Ale uważaj, nie jest to biblioteka, z którą pracować zwłaszcza na początku kariery.” chyba zjadło jakieś słowo 😛