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