NestJS چیست؟چه کاربردی دارد؟

25/07/2020 02:47

امروز در این مقاله از آکادمی اِرونیک قصد داریم فریم ورک فوق العاده ی Nest JS را به شما دوستان معرفی کنیم

 

Nest توسط Kamil Myśliwiec توسعه داده شد و به عنوان چارچوبی برای ساخت سریع برنامه های سمت سرور طراحی شده است. Kamil به شدت از Angular الهام گرفته بود و در ساختار یک برنامه Nest کاملا این موضوع مشخص است.الهام از انگولار کاملا در Controllers, Providers, Modules, Pipes قابل مشاهده است. همه ی این موارد وقتی ساختار دو برنامه Angular  و Nest را در کنار هم قرار میدهید مشخص است.

نِست جی اس! منحصر به فرد و جذاب!

Nest چارچوبی برای ایجاد برنامه های کارآمد و مقیاس پذیر Node.js در سمت سرور است. این فریم ورک از جاوا اسکریپت مدرن استفاده می کند ،و از تایپ اسکریپت کاملاً پشتیبانی می کند (اما با این وجود برنامه نویسان میتوانند فقط با جاوا اسکریپت کد نویسی کنند).

Nest کاملا از عناصر OOP (برنامه نویسی شیء گرا) ، FP (برنامه نویسی کاربردی) و FRP (برنامه نویسی واکنشی کاربردی) پیروی میکند.

 

حالا کاپوت را بزنیم بالا و ببینیم نِست از چه چیز هایی ساخته شده است؟!

در زیر کاپوت ، Nest از فریم ورک های سرور HTTP قوی مانند Express (پیش فرض) استفاده می کند و به صورت اختیاری می تواند پیکربندی شود تا از Fastify نیز استفاده کند!

Nest یک مفهومی بالاتر از فریم ورک های مشترک نود جی اس یعنی  (Express / Fastify) فراهم می کند ، اما API های آنها را مستقیماً در اختیار توسعه دهنده قرار می دهد. این به توسعه دهندگان این امکان را می دهد تا از هزاران ماژول شخص ثالث که برای پلتفرم اصلی در دسترس هستند استفاده کنند.

 

 

فلسفه Nest JS!

در سال های اخیر ، به لطف Node.js ، جاوا اسکریپت تبدیل شده است به “زبان مشترک برنامه نویسان” در هر دو سمت Front-End و Back-End.این امر منجر به ایجاد پروژه های بسیار جذاب مانند Angular ، React و Vue می شود که بهره وری توسعه دهنده را بهبود می بخشند و امکان ایجاد برنامه های Frond-End سریع ، قابل آزمایش و گسترده را فراهم می کنند.

با این حال ، در حالی که تعداد زیادی کتابخانه عالی ، یاری دهنده و ابزار برای Node (و JavaScript سمت سرور) وجود دارد ، هیچکدام از آنها به طور موثری مشکل اصلی معماری را حل نمی کنند.

Nest یک معماری کاربردی را در اختیار شما قرار می دهد که به توسعه دهندگان و تیم ها امکان می دهد برنامه های قابل تست ، مقیاس پذیر ، کاملاً همراه و قابل گسترش ایجاد کنند.

تایپ اسکریپت در Nest!

برنامه های Nest در TypeScript نوشته شده اند ، اما می توانید نوشتن آنها را نیز در JavaScript انتخاب کنید (که توصیه نمی کنم). TypeScript یک مجموعه از JavaScript است و انعطاف پذیری جاوا اسکریپت را با ایمنی و استحکام یک زبان تایپ شده فراهم می کند.

TypeScript به جاوا اسکریپت کامپایل شده است و بنابراین کامپایلر می تواند خطاهای احتمالی در زمان اجرا را در حین گردآوری مشاهده کند. تایپ اسکریپت خود را “جاوا اسکریپت مقایس پذیر” می نامد و همچنین می خواهد یک معماری عمیق مقیاس پذیر را ارائه دهد ، بنابراین تایپ اسکریپت انتخاب خوبی خواهد بود!

علاوه بر این ، من کاملاً به شما توصیه می کنم از TypeScript در فریم ورک Front-End که در حال حاضر استفاده می کنید,استفاده کنید. انگولار تایپ اسکریپت را تحت یک فریم ورک فراهم می کند ، البته می توانید از آن در سایر فریم ورک های معروف مانند React یا Vue نیز استفاده کنید.

به این ترتیب یک زبان مشترک در Front-End و Back-End خود دارید که در آن حتی می توانید تعاریف نوع خود را به اشتراک بگذارید. این روش به شدت باعث کاهش تلفات کارآیی توسط سوئیچ های متن از یک زبان به زبان دیگر می شود و به طور کلی می تواند عملکرد تیم شما را افزایش دهد.

 

تست های واحد

Jest به عنوان فریم ورک تست واحد(Unit Test) در Nest Js استفاده می شود. در صورت استفاده از همان چارچوب آزمون در Front-End نیز می تواند بسیار مفید باشد و عملکرد تیم شما را بهبود بخشد.

 

تست End to End

با تست های End to End ، نه فقط یک عملکرد خاص بلکه تمام عملکرد API خود را آزمایش می کنید.

 

سوگگر(Swagger)

اگر یک API عمومی را توسعه میدهید ، لازم است از مشخصات OpenAPI (Swagger) برای توصیف API های RESTful استفاده کنید. Nest یک ماژول برای ادغام در آن ارائه می دهد.

چگونه Nest JS را نصب کنیم؟

برای شروع ، می توانید با Nest CLI پروژه را بسازید،و یا یک پروژه استارتر را کلون کنید (هر دو نتیجه یکسان را به دست می آورید).

برای ساخت یک پروژه با Nest CLI ، دستورات زیر را اجرا کنید. با این کار یک دایرکتوری جدید از پروژه ایجاد می شود ، و دایرکتوری ها را با پرونده های اصلی Nest و ماژول های پشتیبانی کننده ایجاد می کنید و یک ساختار پایه معمولی را برای پروژه خود ساخته اید.

برای کاربرانی که برای بار اول قصد تجربه Nest را دارند توصیه میکنیم یک پروژه جدید بسازید.(از طریق روش زیر)

$ npm i -g @nestjs/cli
$ nest new project-name

روش دوم

برای نصب پروژه اولیه Nest(یک پروژه کامل همراه با تایپ اسکریپت) از طریق Git:

$ git clone https://github.com/nestjs/typescript-starter.git project
$ cd project
$ npm install
$ npm run start

حالا مرورگر خود را باز کنید و آدرس http://localhost:3000 بروید

برای نصب نِست جی اس با طعم JavaScript ، در دستور بالا در خط اول به جای typescript-starter.git از javascript-starter.git استفاده کنید.

 

همچنین می توانید با نصب هسته و پشتیبانی از پرونده ها با npm (یا Yarn) یک پروژه جدید را از ابتدا ایجاد کنید.

$ npm i --save @nestjs/core @nestjs/common rxjs reflect-metadata

 

نتیجه گیری

به نظر من ، Nest از طریق تایپ اسکریپت برای یک نرم افزار کامل وب به عالی است ، به خصوص اگر Angular را در قسمت Front-End انتخاب کنید.

ساختار پوشه و الگوهای طراحی در Nest به شدت مبتنی بر Angular است. با توجه به این ساختار ساده و مشابه ، ما به عنوان توسعه دهندگان می توانیم به جای اتلاف وقت برای ساختار برنامه ، بیشتر روی طراحی EndPoints تمرکز کنیم.

Nest بسیاری از کد های Node.js بهم ریخته و جاوا اسکریپت زشت را در پشت ساختارها و الگوهای مخفی خود پنهان می کند. به لطف TypeScript رفتن از Backend به Frontend پروژه،کمتر دردناک است و کمتر سوئیچ سینتکسی وجود دارد.

در حال حاضر ، Nestjs / core در هفته حدود 74،000 بار در شبانه روز دریافت میشود.و اگر این مقاله را مطالعه کرده اید ، من شما را تشویق می کنم که تعدادی از ماژول های Nest را بارگیری و آنها را امتحان کنید.

آخرین دیدگاه ها

هنوز نظری درج نشده است. شما اولین نفر باشید.

ثبت دیدگاه شما

نظر خود را درباره این مطلب بنویسید.

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

18 + شش =