Monolit-IT - Blog

24.06.2020

Nest.js, czyli Angular i Spring na backendzie.

Jeżeli masz pozytywne doświadczenia ze Springiem w Javie oraz lubisz mechanizm dependency injection, jaki proponuje Angular, wówczas framework Nest.js jest czymś, co powinno cię zainteresować.

Nest.js jest frameworkiem do pisania aplikacji webowych dla node.js. Konstrukcja kodu wzorowana jest na Angularze, czyli mamy tutaj przede wszystkim moduły i serwisy, oraz wstrzykiwanie zależności. I co najważniejsze, aplikację tworzy się w języku TypeScript.

Nest.js jest tym dla JavaScriptu, czym dla Javy jest Spring, czyli dostarcza mechanizmów do tworzenia kontrolerów. Korzysta wówczas z dekoratorów - dla oznaczenia metod obsługujących konkretne metody, czyli np. @Get, @Post itd., oraz dla oznaczenia samych kontrolerów poprzez dekorator @Controller() (parametrem tego dekoratora jest ścieżka do zasobu). Do klas usług, które będą wstrzykiwane, dodajemy z kolei dekorator @Injectable.

Podobnie jak w Angularze mamy również do dyspozycji narzędzie do tworzenia inicjalnego projektu oraz jego poszczególnych składowych (moduł, kontroler, usługa i wiele innych).

Co warte odnotowania, projekt jest rozwijany przez Polaka - Kamila Myśliwca.

Framework korzysta z dobrodziejstw innych bibliotek i frameworków. Przede wszystkim pod maską znajdziemy domyślnie express js jako serwer http. Opcjonalnie można skorzystać z innego silnika - architektura teoretycznie pozwala na podpięcie dowolnego serwera http.

Do autentykacji jest używany popularny framework passport js. W przypadku, gdy do tego celu używamy standardowej metody użytkownik/hasło, jego użycie sprowadza się do napisania usługi i zaimplementowania jednej metody.

W zestawie jest również klient bazy danych wraz z mapowaniem relacji na obiekty - tutaj jest wykorzystywana biblioteka typeorm. Jeżeli ktoś używa MongoDb, to na pokładzie znajdzie również Mongoose.

Framework integruje kilka innych bibliotek oraz dostarcza mechanizmów do realizacji wielu różnych scenariuszy (jak np. mikroserwisy lub graphql). Jest bardzo dobrze udokumentowany - na oficjalnej stronie z dokumentacją przedstawiony jest szczegółowo każdy aspekt tej biblioteki wraz z przykładami. Próg wejścia jest bardzo niski, zwłaszcza jeżeli masz już doświadczenie z technologiami wspomnianymi na wstępie (podobieństwo do Angulara jest wręcz uderzające :-).

Moim zdaniem jest to bardzo udany projekt, który kompleksowo podchodzi do tworzenia backendu korzystając przy tym z wielu sprawdzonych rozwiązań. O jego popularności i dojrzałości niech świadczy to, że na githubie w momencie pisania tych słów projekt ma 23 tysiące gwiazdek. Jeżeli rozważasz tworzenie aplikacji webowej na platformie node.js, to jest to bardzo dobry punkt startu.

Michał Gierwatowski

Michał Gierwatowski

Programista wszechstronny, od języka Progress4GL począwszy, przez Javę, na TypeScripcie kończąc. Ponad piętnastoletnie doświadczenie w wytwarzaniu różnego rodzaju systemów informatycznych. Ostatnio interesuje się nowinkami w ekosystemie JavaScript/node.js

Michał.Gierwatowski(at)monolit-it.pl

Zobacz wszystkie artykuły danego autora >>

INTERESUJE CIĘ TEN TEMAT?
SKONTAKTUJ SIĘ Z NAMI! NIE CZEKAJ!


 
 

Tagi

Blog technologiczny Monolit IT

W Monolit IT chętnie dzielimy się wiedzą z zakresu technologii, rozwiązań IT, programowania, projektów czy budowy infrastruktury informatycznej. Naszego bloga piszemy sami. Macie wiedzę z pierwszej ręki od naszych inżynierów i wdrożeniowców z wieloletnim doświadczeniem. Zapraszamy!

czytaj więcej

kontakt

Z naszą wiedzą i doświadczeniem tworzymy profesjonalne i niezawodne rozwiązania IT.

Monolit IT Sp z o.o. Sąd Rejonowy Gdańsk-Północ w Gdańsku VIII Wydział Gospodarczy Krajowego Rejestru Sądowego, KRS: 0000280291 NIP: 958-155-93-85 REGON: 220431534 Wysokość kapitału zakładowego: 50 500 PLN





Monolit IT Sp. z o.o.
81-341 Gdynia
ul. Warsztatowa 12

tel: +48 58 763 30 00
fax: +48 58 763 30 10
e-mail: biuro@monolit-it.pl

Mapa Serwisu
Polityka Cookie
Projekty Unijne



Wszelkie Prawa zastrzeżone ©2020