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

# VPN #AMD #Angular #Audyt oprogramowania #Bezpieczeństwo IT #Certum #Dell #Dell EMC PowerStore #Dell Precision 7920 Rack #Dell Vostro 5490 #DellEMC #Forcepoint #HFC Monitoring #Huawei IdeaHub Pro #IBM #IBM FlashSystem 5200 #Intel #Java #JavaScript #Kamera termowizyjna USS-TIC-600 #Lenovo ThinkPad #Monolit IT Dream Team #MonolitIT_DNA #NGFW #NetQM #Nvidia #Odreczny Podpis Biometryczny #Oprogramowanie na zamówienie #Outourcing IT #Predictive Maintenance #Produkcja Oprogramowania #SD-WAN #Serwis oprogramowania #SignaturiX #Sport #Spring #ThinkPad X1 Extreme #ThinkPad X1 Fold #ThinkPad X1 Nano #Wytwarzanie oprogramowania #Xeon #Zaufana Strona Trzecia #aplikacje mobilne #bezpieczeństwo IT #bezpieczne podpisywanie #bramki do pomiaru temperatury #chmura hybrydowa #ciągłość pracy #cyberbezpieczeństwo #czas wolny #dostęp zdalny #dysk SCM #framework nest.js #framework passport js. #hardware #home office #kamera USS-TIC600 #kamera termowizyjna #komputer PC #komputer stacjonarny Dell #komputery Dell #laptop #macierz #macierz IBM #macierz dyskowa #monitoring #narzędzia do pracy zdalnej #notebook #notebook Dell #nowoczesna organizacja #ochrona ludzi #odręczny podpis elektroniczny #oprogramowanie macierzy #podpis biometryczny #podpis na smatfonie #podpis na tablecie #praca grupowa #praca zdalna #procesor Intel 11. generacji #procesory mobilne #projekty IT #przemysł 4.0 #ransomware #serwer #serwis IT 24/7 #sieci rozległe #sieci rozproszone #software #stacja robocza Dell #storage #testowanie aplikacji #usługi chmurowe #zdalny dostęp do aplikacji

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 ©2021