w , ,

FajneFajne Dobre!Dobre! ŚwietnieŚwietnie SmuteczekSmuteczek

Angular dla programistów Java. Podobieństwa dzięki, którym szybko się go nauczysz

Angular dla programistów Java

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:

Angular dla programistów Java

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ą.

Struktura projektu Angular
Przykładowa struktura dla projektu napisanego w Angular

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 🙂

Napisane przez Przemysław Bykowski

Aktywny programista i energiczny trener. Specjalizuje się w Spring Boot i uczę go w ramach AkademiaSpring.pl. Po godzinach udzielam się na YouTubach. Więcej o mnie.

Dodaj komentarz

Angular, Spring Boot, Google Cloud Platform

Angular + Spring Boot + Google Cloud Platform! [Zapowiedź webinaru]

decorator wzorzec projektowy

Decorator – prosty sposób na zastąpienie trudnej hierarchii klas