Definicja #
AngularJS (Angular 1.x) to framework JavaScript stworzony przez Google i opublikowany w 2010 roku. Był pionierskim rozwiązaniem dla budowy Single Page Applications (SPA) w przeglądarkach. Nie należy go mylić z Angular (Angular 2+) — to dwa całkowicie różne frameworki, mimo podobnej nazwy.
Kluczowe cechy AngularJS:
- Dwukierunkowe wiązanie danych — automatyczna synchronizacja między modelem (JavaScript) a widokiem (HTML) przez
ng-model - Dyrektywy — rozszerzenia HTML:
ng-repeat,ng-if,ng-show,ng-class,ng-click - Kontrolery — JavaScript controllers zarządzające logiką widoku i
$scope - Serwisy i fabryki — wzorzec serwisów do enkapsulacji logiki biznesowej i komunikacji HTTP (
$http,$resource) - Dependency Injection — wbudowany kontener DI do wstrzykiwania zależności przez nazwy
- Routing —
ngRoutelubui-routerdo nawigacji SPA - Filtery — transformacje danych w szablonach (currency, date, orderBy, filter)
Status: AngularJS osiągnął End of Life w grudniu 2021 roku. Google nie wydaje już aktualizacji bezpieczeństwa. Organizacje z legacy aplikacjami AngularJS powinny migrować do Angular 2+ lub innych nowoczesnych frameworków. AngularJS jest nadal obecny w ogłoszeniach, bo wiele starszych systemów enterprise nie zostało jeszcze zmigrowanych.
Zastosowania #
AngularJS stosuje się do:
- Utrzymania i modernizacji legacy aplikacji — wiele systemów enterprise z lat 2012-2018 nadal działa na AngularJS i wymaga wsparcia technicznego
- Migracji do Angular 2+ — stopniowa migracja przez ngUpgrade pozwala uruchamiać AngularJS i Angular równolegle w jednej aplikacji
- Zrozumienia historii SPA — AngularJS był pionierem dwukierunkowego bindowania, komponenty i DI w przeglądarce
Uwaga: dla nowych projektów nie używaj AngularJS — wybierz Angular 17+, React, Vue lub Svelte.
Ścieżka nauki #
Nauki AngularJS nie zaleca się dla nowych developerów — framework jest wycofany. Jeśli musisz pracować z istniejącą aplikacją AngularJS:
- Dokumentacja: docs.angularjs.org (archiwalna)
- Kluczowe koncepcje:
$scope, kontrolery, dyrektywy, serwisy, fabryki,$http - Routing:
ngRoutelubui-router(najpopularniejszy router) - Testowanie: Karma + Jasmine (stack testowy AngularJS)
Plan migracji z AngularJS:
- Używaj ngUpgrade — oficjalne narzędzie do stopniowej migracji AngularJS → Angular
- Zacznij od nauki nowoczesnego Angular (TypeScript, komponenty standalone, Signals API)
- Migruj komponent po komponencie — uruchamiaj AngularJS i Angular równolegle przez
UpgradeModule - Docelowo: kompletna aplikacja Angular lub przepisanie w React/Vue jeśli zmiana architektury jest korzystna
FAQ #
- Czym różni się AngularJS od Angular?
- AngularJS (Angular 1.x) to framework JavaScript z 2010 roku oparty na $scope, kontrolerach i dwukierunkowym bindowaniu. Angular (2+, obecny) to całkowite przepisanie z 2016 roku w TypeScript, z komponentami, RxJS, hierarchicznym DI i znacznie lepszą wydajnością. To dwa różne frameworki — kod nie jest kompatybilny.
- Czy AngularJS jest nadal używany?
- Tak — mimo End of Life w 2021 roku wiele firm nadal utrzymuje aplikacje AngularJS, bo migracja dużych systemów jest kosztowna i czasochłonna. Oferty pracy z AngularJS pojawiają się głównie dla ról maintenance i migracji. Nie warto budować czegoś nowego na AngularJS.
- Jak migrować z AngularJS do Angular?
- Oficjalna ścieżka to ngUpgrade — pozwala uruchamiać AngularJS i Angular równolegle. Migruje się komponent po komponencie. Alternatywnie można przepisać aplikację od zera w Angular, React lub Vue. Wybór zależy od rozmiaru aplikacji i zasobów zespołu.
- Czy AngularJS jest pytany na rozmowach rekrutacyjnych?
- Rzadko w nowych projektach. Pytania o AngularJS pojawiają się w ofertach maintenance starszych systemów enterprise. Rekruterzy często mylą AngularJS z Angular — warto doprecyzować, które pytają (Angular 1.x czy 2+). Znajomość AngularJS nie jest atutem dla większości nowych ról frontendowych.