Przejdź do zawartości

AngularJS

Z Wikipedii, wolnej encyklopedii
To jest stara wersja tej strony, edytowana przez Piotr.knapik (dyskusja | edycje) o 18:22, 3 sty 2016. Może się ona znacząco różnić od aktualnej wersji.
AngularJS
Logo AngularJS
Logo programu
Autor Google
Pierwsze wydanie 2009
Aktualna wersja stabilna 1.4.8 / 19 listopada 2015; ponad 9 lat temu[1]
Język programowania JavaScript
Rodzaj biblioteka programistyczna
Licencja MIT
Strona internetowa

AngularJS - otwarta biblioteka języka JavaScript, wspierana i firmowana przez Google, wspomagająca tworzenie i rozwój aplikacji internetowych na pojedynczej stronie. Zadaniem biblioteki jest wdrożenie wzorca Model-View-Controller (MVC) do aplikacji internetowych, aby ułatwić ich rozwój i testowanie.

Biblioteka wczytuje plik HTML zawierający dodatkowe specyficzne dla tej biblioteki tagi. Podążając instrukcjami wydawanymi przez owe tagi, biblioteka przypisuje wejściowe i wyjściowe elementy strony do modelu, zapisanego jako zestaw zmiennych JavaScriptowych. Wartości tych zmiennych można ustawić ręcznie, lub pobrać z otrzymywanego statycznie lub dynamicznie źródła JSONa.

Filozofia Angular

AngularJS został stworzony z przekonaniem, że programowanie deklaratywne powinno być używane do budowy interfejsów i łączenia komponentów oprogramowania, podczas gdy programowanie imperatywne znajduje zastosowanie w logice biznesowej.[2] Framework przystosowuje i rozszerza możliwości tradycyjnego HTML-a do lepszej obsługi dynamicznych treści, co umożliwia automatyczną synchronizację pomiędzy modelem i widokiem. W ten sposób Angular ogranicza manipulacje w DOMie i ułatwia testowanie.

Cele twórców:

  • Oddzielenie manipulacji w DOMie od logiki aplikacji. Ułatwia to testowanie kodu.
  • Ukazanie testowania kodu jako tak samo ważne jak pisanie kodu. Testowanie kodu jest dramatycznie ograniczane przez jego złą strukturę.
  • Oddzielenie warstwy klienckiej aplikacji od warstwy serwerowej. Umożliwia to na pracę równoczesną i ułatwia pracę zespołową.
  • Pokazanie twórcom oprogramowania całej ścieżki: od projektowania interfejsu, poprzez pisanie logiki biznesowej, aż do testowania.

Angular korzysta z wzorca MVC i promuje utrzymywanie słabych zależności (loose coupling) pomiędzy warstwą logiki, prezentacji i danych. Angular wprowadza tradycyjne serwerowe technologie, takie jak kontrolery zależne od widoku do aplikacji klienckich. W wyniku takiego działania, można w łatwy sposób uprościć back-endową część aplikacji, odchudzając cały projekt.

Dwukierunkowe wiązanie danych (two-way binding)

Dwukierunkowe wiązanie danych w AngularJS jest jego najważniejszą funkcją, która redukuje ilość kodu napisanego w trakcie uwalniania backendu serwera z odpowiedzialności za szablony. Szablony są stworzone w prostym HTMLu zgodnie z danymi zawartymi w zakresie (scope) zdefiniowanym przez model. Serwis $scope w Angular wyłapuje zmiany w modelu i modyfikuje HTML w widoku poprzez kontroler. Podobnie, wszelkie zmiany w widoku widać w modelu. To pozwala ominąć potrzebę aktywnego manipulowania DOMu i ułatwia samodzielne i szybkie tworzenie aplikacji internetowych. Angular wyłapuje zmiany w modelach przez porównanie wartości z wartościami zgromadzonymi we wcześniejszym procesie dirty-checking; w przeciwieństwie do Ember.js i Backbone.js, które czekają na zdarzenia zmiany wartości modelu.

Plugin do Chrome

W lipcu 2012 roku zespół programistów zajmujący się rozwojem Angulara stworzył plugin do przeglądarki Google Chrome pod nazwą Batarang.[3] Plugin ułatwia debugowanie aplikacji internetowych stworzonych w oparciu o bibliotekę AngularJS oraz mierzenie wydajności i wskazywanie problematycznych miejsc w kodzie.[4]

Historia rozwoju

AngularJS został stworzony w 2009 roku przez Miško Hevery'ego i Adama Abronsa jako część własnego startupu. Po zawieszeniu prac postanowiono, że Angular zostanie wydany jako otwarta biblioteka.

Abrons opuścił projekt, jednak Hevery, który obecnie pracuje w Google, zajmuje się nadal rozwojem projektu, wraz z innymi pracownikami Google, Igorem Minárem i Vojta Jína.