Logo programu | |||
| Autor | |||
|---|---|---|---|
| Pierwsze wydanie | 2010 | ||
| Język programowania | JavaScript | ||
| Rodzaj | biblioteka programistyczna | ||
| Licencja | MIT | ||
| |||
| Strona internetowa | |||
AngularJS –otwartyframework oparty na językuJavaScript, wspierany i firmowany przezGoogle, wspomagający tworzenie i rozwój aplikacji internetowych na pojedynczej stronie[1]. Zadaniem biblioteki jest wdrożeniewzorcaModel-View-Controller (MVC) do aplikacji internetowych, aby ułatwić ich rozwój i testowanie.
Biblioteka wczytuje plikHTML zawierający dodatkowe specyficzne dla tej biblioteki tagi. Podążając za instrukcjami wydawanymi przez owe znaczniki, biblioteka przypisuje wejściowe i wyjściowe elementy strony do modelu, zapisanego jako zestaw zmiennych języka JavaScript. Wartości tych zmiennych można ustawić ręcznie lub pobrać z otrzymywanego statycznie lub dynamicznie źródłaJSON-a.
AngularJS nie należy mylić zAngularem, wydawanym również przez Google od 2016 roku. Jest to zupełnie nowa wersja, niekompatybilna z AngularJS, bez prostej możliwości migracji istniejących projektów[2].
Projekt nie jest już utrzymywany.
AngularJS został stworzony z przekonaniem, żeprogramowanie deklaratywne powinno być używane do budowy interfejsów i łączenia komponentów oprogramowania, podczas gdyprogramowanie imperatywne znajduje zastosowanie wlogice biznesowej[1].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 wDOM-ie i ułatwia testowanie.
Cele twórców:
Angular korzysta z wzorcaMVC 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 w AngularJS jest jego najważniejszą funkcją, która redukuje ilość kodu napisanego w trakcie uwalnianiabackendu serwera z odpowiedzialności zaszablony. Szablony są stworzone w prostym HTML-u 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 manipulowaniaDOM-u 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 procesiedirty-checking; w przeciwieństwie doEmber.js iBackbone.js, które czekają nazdarzenia zmiany wartości modelu.
W lipcu 2012 roku zespół programistów zajmujący się rozwojem Angulara stworzyłwtyczkę do przeglądarkiGoogle Chrome o nazwie Batarang[3]. Wtyczka ułatwiadebugowanie aplikacji internetowych stworzonych w oparciu o bibliotekę AngularJS oraz mierzenie wydajności i wskazywanie problematycznych miejsc w kodzie[4].
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.
W 2014 roku ogłoszono prace nad AngularJS 2.0, który miał być zupełnie nową, niekompatybilną wstecz wersjąframeworka[5]. Wyszła ona ostatecznie we wrześniu 2016 pod nazwą Angular (dla podkreślenia braku kompatybilności oraz ścieżki aktualizacji do nowej wersji)[6].
31 grudnia 2021 roku, po sześciomiesięcznym przedłużeniu z powodu pandemii Covid-19, ogłoszono koniec wspierania projektu, czyli tzw.End of Life (EOL)[7]. Oznacza to, że zespółprogramistów nie będzie już wspierał tej technologii. Oprogramowanie oparte na AngularJS nadal będzie działać, ale technologia nie dostanie żadnych nowych poprawek, nawet dla krytycznych problemów i kwestii bezpieczeństwa. Dlatego też wiele firm rozważa migrację do nowszej technologii –Angular (bez JS w nazwie)[8].