AngularJS
Wprowadzenie
Dariusz Tomaszewski
Front-end developer w PGS Software
O czym będziemy rozmawiać ?
- Czym jest Angular ?
- Dlaczego Angular?
- Główne cechy
- Jak się go nauczyć ?
- Kilka słów o przyszłości
- Przykład aplikacji
Czym jest AngularJS ?
Biblioteka Framework JavaScript 100% po stronie klienta
Wykorzystywany do tworzenia SPA
Czym jest AngularJS ?
ANGULAR IS WHAT HTML WOULD HAVE BEEN, HAD IT BEEN DESIGNED FOR APPLICATIONS
Proces kompilacji
Dlaczego Angular ?
- Kompletne rozwiązanie
- Łatwy do rozpoczęcia nauki
- Utrzymywany przez Google
- Bardzo popularny
- Testowalny
Kompletne rozwiązanie
Łatwy do rozpoczęcia nauki
Bardzo popularny
Utrzymywany przez Google
Testowalny
Główne cechy
- Two way data binding
- Kontrolery
- Serwisy
- Filtry
- Dyrektywy
- Dependency Injection
- Pełna separacja frontendu i backendu
Two way data binding
Angular Controller
Kontroler jest to obiekt JavaScript, którego zadaniem jest przekazywanie danych do widoku.
Aby dodać kontroler używamy dyrektywy ng-controller
W kontrolerach nie wykonujemy żadnej logiki biznesowej
W kontrolerach w żaden sposób nie modyfikujemy drzewa DOM
Angular Service
Zadaniem serwisów jest wykonywanie logiki biznesowej
Wykorzystywane są również do komunikacji pomiędzy kontrolerami i dyrektywami.
W serwisach w żaden sposób nie modyfikujemy drzewa DOM
W przeciwieństwie do kontrolerów serwisy w angularze są tworzone jako singletone
Angular Filters
Filtry są to małe funkcje wykorzystywane najczęściej do formatowania danych
Mogą być używane zarówno w widoku jak i w kodzie kontrolera, serwisu lub dyrektywy
Powinny zawierać tylko lekkie operacje ponieważ łatwo mogą doprowadzić do spadku wydajności
Angular Directives
Dyrektywy pozwalają nam tworzyć dowolne elementy html o zdefiniowanej przez nas funkcjonalności
Funkcjonalność każdej aplikacji w AngularJS opiera się na dyrektywach
Wszystkie przedstawione wcześniej elementy html (ng-app, ng-controller etc.) to dyrektywy
Dyrektywy to miejsce gdzie można manipulować drzewem DOM
Dependency injection
Zastosowanie wzorca projektowego, które pozwala nam wstrzykiwać potrzebne zależności do miejsc, w których chcemy ich użyć
Pozwala nam zachowywać modułowość aplikacji
Dzięki DI możemy zastępować core'owe moduły Angulara modułami 3rd party
Pełna separacja frontendu i backendu
Aplikacje w AngularJS są aplikacjami w 100% po stronie klienta.
AngularJS dostarcza bardzo dobre narzędzia do obsługi REST API
Komunikacja z backendem opiera się na REST API
Dla naszej aplikacji nie ma żadnego znaczenia w jakim języku napisany jest backend.
Najczęściej popełniane błędy
- Używanie jQuery
- Manipulowanie DOM poza dyrektywami
- Logika biznesowa w kontrolerach/dyrektywach
- Zbyt rozrośnięte kontrolery/dyrektywy
- Niespójne nazewnictwo
- Brak modułowości
- Brak testów
Jak się go nauczyć?
Kilka słów o przyszłości
Przykład aplikacji
Bonus
http://tinyurl.com/piwonapg
Dziękuję !
AngularJS Podstawy
By Dariusz Tomaszewski
AngularJS Podstawy
- 697