Warsztat Java #5 - Building tools
What you'll learn
- Zdobycie wiedzy na temat narzędzi do automatyzacji budowania aplikacji Java.
- Umiejętność zarządzania zależnościami i konfigurowania projektów przy użyciu Maven i Gradle.
- Zrozumienie procesu tworzenia samowystarczalnych plików JAR.
- Praktyczne doświadczenie w pracy z Maven i Gradle poprzez realizację zadań i projektów.
Requirements
- Uczestnik powinien być zaznajomiony z podstawowymi konstrukcjami językowymi Javy, takimi jak klasy, interfejsy, pętle i warunki.
Description
Warsztat "Building Tools" koncentruje się na narzędziach do automatyzacji budowania aplikacji Java oraz zarządzania zależnościami. Kurs ten ma na celu nauczenie uczestników, jak efektywnie korzystać z narzędzi takich jak Maven i Gradle, które są kluczowe w nowoczesnym procesie tworzenia oprogramowania. Uczestnicy dowiedzą się, jak automatyzować procesy budowania, zarządzać zależnościami, oraz tworzyć pliki wykonywalne zawierające całą aplikację.
Tematyka Warsztatu:
1. Maven:
Czym jest Maven?
Wprowadzenie do narzędzia Maven, jego rola i zastosowania w procesie budowania aplikacji.
POM (Project Object Model):
Struktura i znaczenie pliku POM.xml, który jest sercem projektu Maven.
Dependencies:
Zarządzanie zależnościami w Maven, jak dodawać i aktualizować biblioteki zewnętrzne.
Repositories:
Rejestry Maven, skąd pobierać zależności i jak konfigurować własne repozytoria.
Plugins:
Używanie wtyczek Maven do rozszerzania funkcjonalności procesu budowania.
Fat Jar:
Tworzenie samowystarczalnych plików JAR, które zawierają wszystkie zależności aplikacji.
Test 1 i Zadania:
Sprawdziany wiedzy i praktyczne zadania pozwalające na utrwalenie zdobytych umiejętności.
2. Gradle:
Czym jest Gradle?
Wprowadzenie do narzędzia Gradle, jego cechy i zalety w porównaniu do innych narzędzi budujących.
Konfiguracja projektu Java w Gradle, Gradle Wrapper:
Tworzenie i konfigurowanie projektu Java w Gradle oraz użycie Gradle Wrapper do zapewnienia spójności wersji.
Dependencies:
Zarządzanie zależnościami w Gradle, jak definiować i kontrolować zewnętrzne biblioteki.
Gradle czy Maven? Maven czy Gradle?
Porównanie Gradle i Maven, analiza zalet i wad obu narzędzi, aby pomóc w wyborze odpowiedniego narzędzia dla danego projektu.
Test 2 i Zadania:
Sprawdziany wiedzy i praktyczne zadania pozwalające na zastosowanie zdobytej wiedzy w rzeczywistych projektach.
Ten warsztat został nagrany w Java 17. Testy w tym warsztacie również odnoszą się do Java 17. Ma to o tyle znaczenie, że jeżeli będziesz korzystać z nowszych wersji Java, to teoretycznie mogły tam nastąpić jakieś kosmetyczne zmiany. Dlatego dla spójności, zalecamy korzystanie z JDK 17, żeby Twoje przykłady zachowywały się tak jak na nagraniach, ale nie zabraniamy korzystać z nowszego JDK.
Jeżeli natomiast chodzi o wersje narzędzi, to struktura warsztatu została przygotowana w ten sposób, że bazowe mechanizmy Maven i Gradle (są to narzędzia, o których będziemy rozmawiać) są wyjaśnione na Maven 3 i Gradle 7. Jeżeli w nowszych wersjach tych narzędzi pojawią się funkcjonalności, które są istotne (naszym zdaniem) na tym poziomie nauki, to zakres warsztatu będzie rozszerzany i będziemy do niego dodawać kolejne materiały. Dlatego jeżeli chcesz uniknąć problemów wynikających z różnych wersji narzędzi u Ciebie i u nas, pracuj z wymienionymi wyżej wersjami. Możesz oczywiście pracować z wersjami najnowszymi (do których będziemy przechodzić w pewnym momencie kursu), ale na tym etapie może to spowodować pewne rozbieżności. Z drugiej strony to dobrze, bo jak będziesz mieć jakiś problem, to cały Internet stoi przed Tobą i możesz wtedy szukać rozwiązania takiego problemu.
Warsztat ten jest piątym warsztatem w ramach ścieżki Zajavka. Oczywiście możesz go realizować niezależnie od innych moich materiałów.
Kurs ten jest idealny dla programistów, którzy chcą nauczyć się, jak efektywnie korzystać z narzędzi Maven i Gradle, aby zautomatyzować procesy budowania aplikacji Java oraz zarządzania zależnościami.
Who this course is for:
- Osoby chcące rozszerzyć swoje umiejętności o automatyzację procesu budowania i zarządzania zależnościami.
- Profesjonaliści, którzy chcą zautomatyzować procesy budowania i zarządzania zależnościami w swoich projektach.
- Uczestnicy bootcampów, którzy chcą pogłębić swoją wiedzę na temat narzędzi budujących i przygotować się do pracy w zespole programistycznym.
- Studenci chcący uzupełnić akademicką wiedzę o praktyczne umiejętności związane z automatyzacją procesu budowania aplikacji.
- Osoby hobbystycznie zajmujące się programowaniem, które chcą nauczyć się korzystania z nowoczesnych narzędzi do budowania projektów.
Instructors
Zajavka to kompletny, profesjonalny i pasjonujący roczny kurs programowania. Zajavkę stworzyliśmy z myślą o tych, którzy pragną rozpocząć swoją intensywną przygodę z programowaniem i w ciągu 12 miesięcy osiągnąć poziom profesjonalnego programisty Javy. Zacznij naukę od bootcampu od podstaw i kontynuuj ją w warsztatach, które krok po kroku, intensywnie i w ciągu kilku miesięcy przygotują Cię do pełnienia roli profesjonalnego programisty Javy.
Jestem programistą Java z ponad 9 letnim doświadczeniem komercyjnym. Zajmuję się głównie technologiami Java i JVM oraz tworzeniem stron aplikacji webowych wykorzystujących technologie Java, Spring, Kafka. Mam również doświadczenie w tworzeniu aplikacji opartych o React. Stawiam przede wszystkim na ciągły rozwój osobisty, zdobywanie nowych umiejętności i podnoszenie jakości swojej pracy. W swojej karierze zawodowej spędziłem dużo czasu ucząc innych, prowadząc szkolenia i nagrywając materiały wideo w celach edukacyjnych.