Angular to jeden z najpopularniejszych frameworków frontendowych. Poza jego licznymi zaletami przyczyn popularności może się doszukiwać w tym, że jest to technologia, która zawiera dużo podobieństw spotykanych w rozwiązaniach backendowych. Dlatego programiści Java nie mają problemów z nauką Angulara, a przy jego eksplorowaniu można dobrze się bawić 🙂
W tym artykule wskazuje podobieństwa pomiędzy Angular, a Java, natomiast jeśli interesuje Cię praktyczny poradnik jak z lekkością przyswoić Angulara w 45 min to zapraszam Cię do obejrzenia mojego materiału na YouTube:
1. Dobre praktyki w Angular
Angular posiada podzieloną strukturę na klasy, interfejsy, komponenty, serwisy i pozostałe elementy w zależności od odpowiedzialności jakie pełnią.

Ponadto jasny podział odpowiedzialności wymusza tworzenie rozwiązań zamkniętych na modyfikacje, a otwartych na rozbudowę. Podobnie całość uzupełniają modyfikatory dostępów, które umożliwiają na odpowiednie zarządzanie zależności.
2. Silne typowanie i wnioskowanie typów
Przede wszystkim język – TypeScript, który jest wykorzystywany do tworzenia kodu projektu Angular’owego, jest składniowo zbliżony do Java. Wspiera on silne typowanie, a również konwencja jest bliska Javie, ponieważ wykorzystywany jest camelCase:
result: string; messageForUser = 'Hello!'; // wnioskowanie typu
// przyklad metody
checkValue(value: number) {
if (value > this.rootObject.rates.PLN) {
this.result = 'podales wartość za dużą';
} else {
this.result = 'udało się, gratulacje!';
}
}
3. Angular i wstrzykiwanie zależności
Rzeczą często wykorzystywaną w pracy ze Spring Boot, EJB czy podobnym rozwiązaniu jest możliwość wykorzystywania wstrzykiwania zależności. Podobnie Tworząc aplikacje w Angular również możesz ze swobodą korzystać z mechanizmu Dependency Injection.
A oto przykład wstrzyknięcia klienta HTTP do konstruktora w TypeScript
constructor(private httpClient: HttpClient) {
}
4. Repozytorium zależności Maven vs NPM
Z wykorzystaniem systemu budowania możemy w łatwy sposób zarządzać fazami budowania lub zautomatyzować pobieranie zależności w projekcie. Znany plik Java developerom – pom.xml zawierający szczegółowe informacje na temat projektu, oraz wszystkie uwzględnione w nim zależności. Ma on również swój odpowiednik w Angular, co prawda nie jest to XML, ale równie czytelny JSON:
{
"name": "currency-game",
"version": "0.0.0",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
"private": true,
"dependencies": {
"@angular/animations": "~9.1.0",
"@angular/common": "~9.1.0",
"@angular/compiler": "~9.1.0",
"@angular/core": "~9.1.0",
"@angular/forms": "~9.1.0",
"@angular/platform-browser": "~9.1.0",
"@angular/platform-browser-dynamic": "~9.1.0",
"@angular/router": "~9.1.0",
"rxjs": "~6.5.4",
"tslib": "^1.10.0",
"zone.js": "~0.10.2"
}
Natomiast managerem odpowiadającym za zarządzanie paczkami jest NPM – Node package manager.
5. IntelliJ IDEA
Przede wszystkim IntelliJ IDEA daje pełne wsparcie do zakładania i zarządzania projektem. Jego wsparcie wręcz prowadzi programistów za rączkę.

Dlatego świetnie sprawdza się w podpowiadaniu składni, dawania sugestii rozmieszczenia kodu i wiele innych rad, które na początkowym etapie nauki są na cenę złota 🙂
Podsumowanie
Podobieństw jest znacznie więcej – czy to na poziomie składniowym czy też architektonicznym. Jednak korzystanie z tego rozwiązania dostarcza wiele radości i warto spróbować w ramach oderwania się od ciągłej walki z Javą i napisanie przykładowego projektu, który na pewno wciągnie na dużo dłużej niż wstępnie zakładaliśmy 🙂
Oczywiście zapraszam Cię do obejrzenia mojego video, które jest na początku artykułu, aby zapewnić sobie szybki start w ten framework 🙂
A jakie podobieństwa Ty jeszcze widzisz? Co najbardziej urzeka Cię w tym frameworku? Jestem ciekawy dyskusji 🙂
Szkolenia live dla developerów • praktyczna wiedza, realne case’y, zero lania wody 


