O sobie. Adam Kowalski. Absolwent informatyki Uniwersytetu Wrocławskiego Full-stack Developer w firmie Synergy Codes.

Podobne dokumenty
Full Stack JavaScript z Angular i Nest. Dni: 5. Opis: Adresaci szkolenia

Framework Angular4. Alicja Frankowicz Weronika Węglińska

WYKŁAD 1 ANGULARJS CZĘŚĆ 1

ANGULAR 2+ Waldemar Korłub. Aplikacje i Usługi Internetowe KASK ETI Politechnika Gdańska

ANGULAR 2+ Waldemar Korłub. Aplikacje i Usługi Internetowe KASK ETI Politechnika Gdańska

Tytuł szkolenia: Angular 4 - budowanie nowoczesnych i wydajnych aplikacji przeglądarkowych

ANGULARJS TWORZENIE APLIKACJI INTERNETOWYCH

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

REACT NATIVE. Anna Maziejuk Kamil Jankowski

Aplikacje SPA, Angular, TypeScript. dr hab. inż. Marek Wojciechowski

Laboratorium 4: Routing

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, O STRUKTURZE PRZEDMIOTOWEJ

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Szczegółowy opis zamówienia:

Laboratorium 2: Portfolio zdjęciowe, p.1

MVVM i XAML w Visual Studio 2015 / Jacek Matulewski. Gliwice, cop Spis treści

PRZEWODNIK PO PRZEDMIOCIE

Aplikacje SPA, Angular, TypeScript. dr hab. inż. Marek Wojciechowski

Kurs ASP.NET ASP.NET CORE APLIKACJE WEBOWE

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

W czystym JavaScripcie zasięgi zmiennych tworzone były poprzez funkcje anonimowe, w AngularJS posiadamy kontrolery, które także są funkcjami.

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

MOBILNE APLIKACJE HYBRYDOWE

Laboratorium 2: Portfolio zdjęciowe, p.1

Efektywne tworzenie aplikacji webowych z wykorzystaniem AngularJS, HTML5 i JavaScript

Użycie filtrów w widoku

Program szkolenia: JavaScript Craftsmanship

Wstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008

Microsoft.NET: ASP.NET MVC + Entity Framework (Code First)

Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor

Podstawy programowania. Wprowadzenie

Zaawansowane Techniki WWW (HTML, CSS i NODE.JS)

MonoGame. Wieloplatformowe gry w C# Mateusz Cicheński

ASP.NET MVC. Grzegorz Caban 20 stycznia 2009

Dotacje na innowacje. Inwestujemy w waszą przyszłość.

Poznaj ASP.NET MVC. Kamil Cieślak Microsoft Student Partner

Referat Pracy Dyplomowej

1 90 min. Aplikacje WWW Harmonogram spotkań, semestr zimowy (studia stacjonarne)

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Programowanie MorphX Ax

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Zakres treści Czas. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

5-6. Struktura dokumentu html. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

Dokumentacja techniczna. Młodzieżowe Pośrednictwo Pracy

Piotr Bubacz Cloud Computing

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.)

Imię, nazwisko i tytuł/stopień KOORDYNATORA (-ÓW) kursu/przedmiotu zatwierdzającego protokoły w systemie USOS Dr Adam Naumowicz

Szkolenie. IBM Lotus - Podstawy projektowania aplikacji w Domino Designer 8.5. Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje

REFERAT PRACY DYPLOMOWEJ

Front-end: solidne podstawy. Wszystko, co warto wiedzieć o HTML, CSS, JavaScript i Bootstrap.

Szkolenie wycofane z oferty

WYMAGANIA EDUKACYJNE. Witryny i Aplikacje Internetowe klasa I

Backend Administratora

Rok akademicki: 2012/2013 Kod: ZIE s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Aplikacje webowe z wykorzystaniem Node.js oraz Express

Aplikacje webowe w obliczu ataków internetowych na przykładzie CodeIgniter Framework

Część I Rozpoczęcie pracy z usługami Reporting Services

Angular, cz. II. Tworzenie serwisów Web 2.0. dr inż. Robert Perliński

REFERAT O PRACY DYPLOMOWEJ

Instrukcja laboratoryjna

PRZEWODNIK PO PRZEDMIOCIE

Popularne dostępne rozwiązania. Najpopularniejsze środowiska programistyczne:

Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej. Wstęp. Programowanie w Javie 2. mgr inż.

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Full Stack Developer

Bazy danych i strony WWW

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017

Aplikacje Internetowe

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Wybrane działy Informatyki Stosowanej

Warszawa, Wytyczne dla projektu Biblioteka GUI

Plan. Aplikacja. Architektura aplikacji. Architektura aplikacji Tworzenie aplikacji Application Builder podstawy

Wzorce architektoniczne

KARTA PRZEDMIOTU. Programowanie aplikacji internetowych

Pliki zorganizowano w strukturze drzewiastej odzwierciedlając strukturę logiczną aplikacji:

Spring Web MVC, Spring DI

Aplikacje WWW i PHP - opis przedmiotu

Szkolenie wycofane z oferty. Programowanie w JavaScript (zawiera jquery)

Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.)

Modele danych walidacja widoki zorientowane na model

Projekt warsztatów. Full Stack Developer. Autor: Kamil Wołczyk

Patryk Jar Meet.js, Gdańsk 11 marca 2013 r. MODULARNY JAVASCRIPT

app/ - folder zawiera pliki konfiguracyjne dla całej aplikacji Można wybrać sposób zapisu konfiguracji: YML, XML, PHP

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:

Deduplikacja danych. Zarządzanie jakością danych podstawowych

Odseparowanie kodu PHP i warstwy prezentacji od dawna było celem

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i

Aplikacje Internetowe

HTML, CSS i JavaScript / Laura Lemay, Rafe Colburn, Jennifer Kyrnin. Gliwice, cop Spis treści

Projekt: Mikro zaprogramowane na sukces!

Program szkolenia: REST i Microservices w PHP

4 Web Forms i ASP.NET Web Forms Programowanie Web Forms Możliwości Web Forms Przetwarzanie Web Forms...152

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe

SYSTEMY ZARZĄDZANIA TREŚCIĄ WORDPRESS

Wydział Ekonomiczno-Informatyczny w Wilnie. 1. Podstawy programowania strukturalnego (C) 2. Wstęp do programowania obiektowego

Spring Framework - wprowadzenie i zagadnienia zaawansowane

Wybrane działy Informatyki Stosowanej

Transkrypt:

Wstęp do Angulara

O sobie Adam Kowalski Absolwent informatyki Uniwersytetu Wrocławskiego Full-stack Developer w firmie Synergy Codes adam.kowalski@synergycodes.com https://www.synergycodes.com

Plan wykładu Angular czym jest i do czego służy? Typescript przypomnienie najważniejszych informacji typy, klasy, interfejsy, funkcje, moduły Dekoratory Środowisko pracy z Angularem template aplikacji komponenty (definicja, data bindings, komunikacja, cykl życia) serwisy routing formularze (Template driven, Reactive Forms)

Framework Angular Otwarty framework i platforma do tworzenia SPA stworzona i wspierana przez Google. Pierwsza wersja Angulara (wersja 2.0) została wydana w maju 2016 roku (aktualna stabilna wersja 7.0, październik 2018) Najważniejsze cechy frameworka Angular: Napisany w Typescript, Modularność Zorientowanie na komponenty (lepsze odseparowanie warstwy logiki od warstwy prezentacji danych) Własne dyrektywy (elementy dodawane do HTML-owych tagów) Możliwość tworzenia własnych HTML-owych tagów Nie powoduje przeładowań strony Modyfikuje strukturę dokumentu DOM na żywo

Angular vs AngularJS AngularJS nie należy mylić z Angularem Początkowo Angular 2.0 miał być wydany jako kolejna wersja frameworka AngularJS, ale zbyt duże różnice spowodowały, że Google zdecydował się wydać go jako osobny byt (brak kompatybilności wstecznej, brak prostej ścieżki aktualizacji aplikacji napisanych w AngularJS do Angular 2) Najważniejsze zmiany wprowadzone w Angular 2.0: Renderowanie po stronie serwera Przepisanie z JS-a do Typescripta Lepsze wsparcie dla przeglądarek mobilnych Narzędzia konsolowe ułatwiające rozwijanie aplikacji w Angularze W ramach ciekawostki -> https://angularjs.org/

Typescript https://www.typescriptlang.org/ Język programowania stworzony przez Microsoft jako nadzbiór języka Javascript. Cechy Typescript: Otwarty kod źródłowy (licencja Open Source) Wprowadzenie typów umożliwia statyczną weryfikację kodu Możliwość programowania obiektowego zorientowanego na klasach Typescript kompiluje się do Javascript Wsparcie wielu narzędzi programistycznych

Typescript Typescript udostępnia programiście elementy składni z nadchodzących edycji ECMAScript jak i dodatkowe możliwości: Typowane zmienne, argumenty funkcji Zasięg zmiennych (var, const, let) Klasy Interfejsy Moduły Enum Opcjonalne parametry funkcji Dekoratory Array functions

Środowisko pracy z Angularem Node.js https://nodejs.org/en NPM https://www.npmjs.com Visual Studio Code https://code.visualstudio.com Typescript https://www.typescriptlang.org Visual Studio Code Extension Angular Extension Pack Angular CLI https://cli.angular.io/

Angular Component Angular CLI - ng generate component /nazwa_komponentu/ Aplikacja Angularowa budowana jest z komponentów Komponent powiązany jest z plikiem html i plikiem od styli (np. css) Komponent posiada dekorator @Component selector - informacja o selektorze (tag html) templateurl informacja o pliku z widokiem html styleurls tablica ścieżek do plików ze stylami danego (css, scss) W komponencie kryje się logika odpowiedzialna za wyświetlenie danych w widoku html Komponent musi być przypisany do NgModule, aby mógł być używany Komponent może być wielokrotnie używany w aplikacji

Wyświetlanie danych w widokach HTML-owych Dyrektywy wyświetlania danych: Interpolacja stringów {{nazwa}} Wyrażenie warunkowe *ngif Pętla *ngfor (możliwe odwołanie do indeksów: index, odd, even, first, last) <ng-container></ng-container> Dyrektywa <ng-template #nazwa_taga></ng-template> [ngswitch] = hobby *ngswitchcase= football *ngswitchdefault= art Formatowanie danych (Pipes) Symbol przykład: {{nazwa uppercase }} https://angular.io/guide/pipes https://angular.io/api?type=pipe

Data Binding Powiązanie danych komponentu z informacjami wyświetlanymi w widoku html komponentu Property Binding [target]= wyrażenie Two-Way-Binding[(ngModel)]= wyrażenie Event Binding (target)= wyrażenie

Interakcja/komunikacja komponentów Inne sposoby Dekorator @ViewChild() dodany w komponencie rodzica i lokalna referencja dodana w selektorze komponentu dziecka Content projection - <ng-content></ng-content>

Cykl życia komponentów Interfejsy OnInit Uruchamia się raz podczas inicjalizacji komponentu Po konstruktorze komponentu i po ngonchange OnChanges Uruchamia się na początku (przed OnInit) Sprawdza czy zmieniły się zbindowane pola komponentu DoCheck Uruchamia się przy każdej zmianie komponentu, wywołaniu eventu OnDestroy Uruchamiany po usunięciu komponentu z drzewa DOM (np. ngif)

Cykl życia komponentów Interfejsy AfterViewInit Uruchamia się po inicjalizacji widoku AfterViewChecked Uruchamia się po każdej zmianie widoku AfterContentInit Uruchamia się po inicjalizacji AfterConentChecked Uruchamia się po każdej zmianie

Serwisy Angular CLI ng generate service nazwa-serwisu Powody dla których warto tworzyć serwisy: Pomagają w komunikacji z zagnieżdżonymi komponentami Zawierają logikę odpowiedzialną za komunikację z serwerem Odpowiadają za komunikację z bazą danych Mogą zawierać powtarzającą się logikę/obliczenia Zawierają logikę biznesową Aby użyć metod serwisu w komponencie należy: wstrzyknąć instancję serwisu do komponentu przez konstruktor Dodać serwis do tablicy providers: [] w dekoratorze @Component w definicji serwisu w dekoratorze @Injectable przypisać właściwość providedin: root serwis dostępny globalnie (od wersji 6 Angulara)

Routing Utworzenie nowego modułu i rejestracja ścieżek Rejestracja modułu w app.module W pliku index.html należy dodać <base href="/">

Routing Dodanie taga <a> z ustawioną właściwością [routerlink]=[ /path ] (path to jedna ze ścieżek zdefiniowana w module app-routing.module) Dodać dyrektywę <router-outlet></router-outlet> w komponencie w którym chcemy wyświetlać komponenty wskazywane przez ścieżki routingu

Formularze Template driven W Angularze można implementować formularze na dwa sposoby https://angular.io/guide/forms Proste w użyciu Dobre rozwiązanie dla prostych formualrzy Konfiguracja po stronie widoku HTML Bindowanie za pomocą Two-Way Binding Mało kodu w komponencie Trudne testowanie (testy jednostkowe) Walidacja formularza - https://angular.io/guide/form-validation

Formularze Reactive Forms https://angular.io/guide/reactive-forms Trudniejsze w implementacji Dużo kodu w komponencie Mało kodu w widoku HTML Bardziej elastyczne duże możliwości modyfikacji formularza Możliwość dynamicznego dodawania komponentów Proste w testowaniu

Dziękuję za uwagę adam.kowalski@synergycodes.com https://www.synergycodes.com