Nowoczesne aplikacje webowe oparte o JEE7 oraz AngularJS

LICZBA DNI: 5 (40h)

KOD KURSU: JEE7/ANG

# web-application

# jee7

# html

# html5

# angularjs

# angular

# javascript

Autor szkolenia:
Łukasz Andrzejewski

Szkolenie na zamówienie

Szkolenie dostosowane do potrzeb Twojego zespołu. Dostępne WYŁĄCZNIE na zamówienie.

  • Dostosowany program
  • Indywidualna wycena
  • Dowolny termin

Interesuje Cię ta tematyka i szukasz szkolenia tylko dla siebie?

O szkoleniu

DLA KOGO?

Szkolenie adresowane do programistów Java wykorzystujących platformę JEE, pragnących uporządkować posiadaną wiedzę i uzupełnić ją o najnowsze technologie związane z warstwą prezentacji.

WYMAGANIA

Od uczestników wymagana jest podstawowa umiejętność programowania w języku Java oraz znajomość relacyjnych baz danych i języka SQL.

ZALETY

Warsztatowy charakter szkolenia - w czasie zajęć uczestnicy wraz z prowadzącym realizują przez 5 dni jedną, dużą aplikację.

Szkolenie nie koncentruje się na jednej technologii, ale demonstruje przekrojowo jak użyć całego stosu programistycznego w celu stworzenia realnego rozwiązania.

Poruszane są życiowe problemy oraz dobre praktyki stosowane w kontekście integracji i wykorzystania poszczególnych technologii.

Cele szkolenia

Nauka projektowania i tworzenia aplikacji na platformie JEE wykorzystujących framework AngularJS.

Zdobycie umiejętności tworzenia skalowanych aplikacji, zgodnie z arkanami sztuki: od komponentów biznesowych po ergonomiczne i funkcjonalne interfejsy wpisujące się w nurt WEB 2.0.

Program

  • Platforma / specyfikacja Java Enterprise Edition
  • Model komponentowy
  • Serwery aplikacyjne
  • Klasyfikacja kontenerów i komponentów
  • Wdrażanie i uruchamianie aplikacji
  • Klasyfikacja i charakterystyka poszczególnych komponentów
  • Cykl życia
  • Implementacja
  • Konfiguracja
  • Wykorzystanie (inne komponenty, aplikacje klienckie)
  • Wykorzystanie interceptorów
  • Komunikacja asynchroniczna
  • Inicjalizacja aplikacji przy starcie
  • Wstrzykiwanie zależności i zasobów
  • Testowanie
  • Usługa Timer Service
  • Specyfikacja JPA
  • Obiekty encyjne - tworzenie i konfiguracja
  • Encje zarządzane vs. niezarządzane
  • Jednostki utrwalania
  • Usługa EntityManager
  • Mapowanie encji (adnotacje, XML)
  • Klucze główne i strategie ich generowania
  • Mapowanie relacji
  • Propagacja kaskadowa
  • Odwzorowywanie dziedziczenia
  • Język JPA QL (składnia, operatory, klauzule, wyrażenia funkcjonalne)
  • Obsługa transakcji
  • Standard JSR-299
  • Beany zarządzane
  • Inwersja kontroli i wstrzykiwanie zależności
  • Zasięgi i konteksty
  • Metody producentów (Producer methods)
  • Interceptory (Interceptors)
  • Dekoratory (Decorators)
  • Zdarzenia (Events)
  • Stereotypy (Stereotypes)
  • Alternatywy (Alternatives)
  • Aplikacje internetowe w Javie
  • Technologia Servletów
  • Facelets jako technologia widoku
  • Podstawy technologii JavaServer Faces
  • Podstawowe założenia
  • Protokół HTTP w kontekście REST
  • Hypermedia
  • Projektowanie interfejsu usług
  • Wsparcie z poziomu Javy
  • Standard JAX-RS i jego implementacje
  • Budowa, wdrażanie i konfigurowanie usług
  • Mapowanie zasobów
  • Wyrażenia URI
  • Kontekst żądania
  • Wstrzykiwanie parametrów i konwersja typu
  • Obsługa nagłówków i ciasteczek
  • Statusy odpowiedzi i mapowanie wyjątków
  • Negocjacja treści i implementacja maperów
  • Wprowadzenie i najważniejsze cechy języka
  • Typy danych
  • Instrukcje sterujące
  • Operatory
  • Konwersja typów
  • Funkcje - klasyfikacja , charakterystyka, wzorce użycia
  • Zasięg zmiennych oraz hoisting
  • Kontekst this i bindowanie
  • Closures
  • Programowanie obiektowe (założenia, prototyp obiektu , dziedziczenie)
  • Obsługa wyjątków
  • Zdarzenia czasowe
  • Praca z kodem asynchronicznym - callbacks, promises API, JavaScript Rx
  • Praca z przeglądarką
  • Wykorzystanie DOM API
  • Reużywanie kodu
  • Uzyskiwanie modularnych i bezpiecznych rozwiązań
  • Testowanie
  • Automatyzacja pracy i zarządzanie zależnościami (narzędzia bower, gulp)
  • Interpolacja tekstu
  • Domyślne parametry funkcji
  • Operator spread
  • Arrow functions
  • Symbols
  • Mapy i zbiory
  • Iteratory i generatory
  • Klasy
  • Moduły
  • Przegląd mniejszych zmian
  • Narzędzia typu JavaScript transpiler / compiler na przykładzie Babel
  • Charakterystyka frameworku
  • Wzorce MVVM I MVM
  • Struktura aplikacji
  • Bindowanie modelu
  • Przegląd podstawowych komponentów
  • Konfiguracja narzędzi deweloperskich
  • Tworzenie podstawowej struktury projektu
  • Dobre praktyki (AngularJS style guide)
  • Zarządzanie zależnościami projektu (Bower)
  • Moduły - rola, zasięg, konfiguracja
  • Budowanie i ładowanie widoków
  • Dyrektywy standardowe
  • Wyrażenia i filtry
  • Kontrolery
  • Obiekt $scope
  • Wstrzykiwanie zależności
  • Propagowanie i nasłuchiwanie zdarzeń
  • Budowa i walidacja formularzy
  • Rola, sposoby deklaracji, konfiguracja
  • Wybrane usługi wbudowane
  • Współdzielenie danych
  • Zarządzanie zależnościami
  • Komunikacja z serwerem
  • Promises API
  • Klasyfikacja
  • Dyrektywy wbudowane
  • Tworzenie i konfiguracja
  • Zarządzanie zasięgiem
  • Przekazywanie i współdzielenie danych
  • Transkluzja
  • Zagnieżdżanie
  • Zasada działania
  • Ładowanie szablonów
  • Porównanie ngRoute i UI Router
  • Przekazywanie informacji
  • Konfiguracja i podstawy użycia bibliotek Jasmine i Karma
  • Testy jednostkowe na poziomie poszczególnych komponentów
  • Typowe problemy i dobre praktyki
  • Testy end-to-end z wykorzystaniem Protractor

POLITYKA COOKIES:

Korzystamy z plików cookies, by móc jak najlepiej dostosować stronę do Twoich potrzeb oraz wyświetlać Ci przydatne i adekwatnych dla Ciebie reklamy w serwisie i poza nim. Możesz kontrolować ustawienia ciasteczek w swoich ustawieniach swojej przeglądarki. Odwiedzając tę stronę, wyrażasz zgodę na wykorzystywanie przez nas plików cookies.