learndl zhaket triboon mymember

Node js چیست و چگونه در بک اند استفاده می شود؟

آموزش express js

وب اپلیکیشن چیست؟

قبل از شروع مبحث نود جی اس چیست، بهتر است که تعریفی از وب اپلیکیشن داشته باشیم. به هر اپلیکیشنی که به کمک اینترنت، میتوان به آن دسترسی داشت وب اپلیکیشن گفته می شود. وب سایت ها، اپلیکیشن های موبایلی آنلاین، PWA ها و… همگی وب اپلیکیشن محصوب می شوند.

هر وب اپلیکیشن را می توان به سه بخش تقسیم کرد.

  1. فرانت اند: فرانت اند یک وب اپلیکیشن، همان ظاهر آن سایت است که کاربران می بینند. به فرانت اند، client و UI هم گفته می شود.
  2. بک اند: بک اند یا سرور یک وب اپلیکیشن، به معنی کل کارهای پشت صحنه ی آن است. یعنی مثلا وقتی ما صفحه فروشگاه یک وب سایت را باز میکنیم، باید کل محصولات از دیتابیس گرفته شده و سپس برای نمایش، به فرانت اند فرستاده شوند. گرفتن این دیتا و فرستادن آن به فرانت را بک اند انجام می دهد.
  3. دیتابیس: مرجعی است که کل اطلاعات وب اپلیکیشن در آن ذخیره می شود. مثلا اطلاعات محصولات، اطلاعات کاربران و…

Node js چیست؟

شما میتوانید برای طراحی بک اند وب اپلیکیشن خود، از زبان ها و فریمورک های مختلفی استفاده کنید مثلا javascript، php، python و…

اگر بخواهیم از جاوااسکریپت برای طراحی بک اند یا سرور استفاده کنیم، باید از Node js استفاده کنیم. در واقع، ما کدهای جاوااسکریپتی را به دو صورت میتوانیم اجرا کنیم. نوع اول، این است که به کمک مرورگر اجرایشان کنیم. عین یک وب سایت عادی که علاوه بر کدهای html و css، کد js هم دارد. نوع دوم هم خارج از مرورگر است. مثلا برای طراحی یک سرور باید کد جاوااسکریپتی را خارج از مرورگر اجرا کنیم. برای این کار باید از نود جی اس استفاده کنیم. در واقع نود جی اس یک محیط run-time است که در کدنویسی سرور به ما کمک میکند و ما میتوانیم برنامه javascript را روی آن اجرا کنیم.

 چرا باید از Node js استفاده کنیم؟

  1. نود جی اس بر مبنای موتور V8 طراحی شده است. همان موتوری که گوگل هم بر مبنای آن طراحی شده است. این موضوع باعث می شود که بسیار سریع اجرا شود در نتیجه سرعت بالایی را به سایت ما میدهد.
  2. node.js بر مبنای زبان جاوااسکریپت طراحی شده است. یعنی یادگیری nodejs، نیازی به یادگیری زبان جدید مثل PHP ندارید…
  3. پردازش ویدئوها و صوت ها در وب سایت node js ای بسیار سریعتر است. چون پایه کدنویسی فرانت و بک اند وب اپلیکیشن شما، هر دو جاوااسکریپت است.
  4. nodejs توانایی کار با دیتابیس mongo را دارد که این کار به کمک پکیج mongoose انجام می شود. با کمی تحقیق می فهمید که مونگو دی بی بسیار سریعتر از sql هاست. علاوه بر این موضوع، توانایی کار با بیگ دیتا را هم دارد.

بررسی فریمورک Express js

کار کردن با نود جی اس، بسیار سخت و زمان بر است. به همین دلیل یک سری فریمورک بر مبنای node.js نوشته شده است که بهترین آنها، اکسپرس جی اس است.

برای آموزش express میتوانیم با یک مثال ساده شروع کنیم.

1.ابتدا باید به سایت نود جی اس بروید و node را دانلود کرده و سپس نصب کنید.

2.سپس در لپتاپتان، یک پوشه ایجاد کنید و این پوشه را در vscode باز کنید. حال درون این پوشه باید یک فایل server.js ایجاد کنید.

3. ترمینال vscode را باز کنید و npm init را بزنید. چند سوال از شما پرسیده می شود که همه را میتوانید با انتر پاسخ دهید. وقتی پاسخ به این سوالات تمام شد، یک فایل Package.json به پروژه شما اضافه می شود.

4. فایل server.js را باز کنید و این کد را در آن بنویسید

const express = require(‘express’)

const app = express()

app.get(‘/’, (req, res) => {

  res.send(‘Hello World!’)

})

app.listen(27017, () => {

  console.log(`app is ok}`)

})

5. حال اگر ترمینال vscode را باز کنید و npm start را بزنید و سپس گوگل را باز کنید و آدرس localhost:/27017 را در بخش آدرس وارد کنید، عبارت Hello World را در صفحه مرورگر می بینید. همچنین در بخش ترمینال vscode هم، عبارت app is ok را میبینید.

توضیحاتی در مورد کد Nodejs بالا

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

در خط بعدی app.get به این معنی است که وقتی روت اصلی یعنی localhost:27017 فراخوانی شد، ریسپانس یا پاسخ باید Hello World باشد.

در بخش بعدی هم که app.listen را میبینید، به اپلیکیشن گفته شده که باید روی پورت 27017 لپتاپ، پاسخ این اپلیکیشن را به نمایش در بیاورد.

اگر بخواهید که به یک دیتابیس آنلاین وصل شوید، میتوانید از کد پایین استفاده کنید.

آموزش node js

ویژگی‌ها و مزیت های Node js چیست ؟

  1. ناهمزمانی در مدیریت کدهای یک API
  2. مقیاس پذیری بالا
  3. سرعت بالای سرورهای نود جی اسی

ناهمزمانی در مدیریت کدهای یک API در Node js

رویدادها در نود جی اس، به صورت async یا ناهمزمان پرداخته می شوند. این موضوع یکی از مهمترین ویژگی های Nodejs است. این موضوع به این معنی است که در یک پروژه node js، وقتی یک API زده می شود که در این api، ابتدا باید یک دیتایی از دیتابیس خوانده شود و سپس یک سری کارهای دیگر انجام شود، نود جی اس، منتظر نمیماند که کار اول تمام شود و بعد، کارهای بعدی را شروع کنید. بلکه تا جای ممکن، کارها به صورت همزمان انجام می شود. ادر واقع، api های نود جی اسی، ماهیتی کاملا غیرمسدود کننده دارند.

مقیاس پذیری نود جی اس

مقیاس پذیری به این معنی است که سرور node.js ای، درخواست هایی که به صورت همزمان از کاربرهای مختلف فرستاده می شود را میتوانید به خوبی و بسیار سریع مدیریت کند. همچنین میتواند CPU سرور را به صورت متعادل برای پردازش ریکوئست های مختلف تقسیم بندی کند.

سرعت بالای Node js

همانطور که بالاتر توضیح داده شد، زمانی که نود جی اس طراحی شد، تیم Nodejs تصمیم گرفتند که از موتور گوگل یعنی V8 استفاده کنند. همین موضوع باعث بالا بودن سرعت آن شده است.

سرعت بالای پردازش کدهای بک اندی نود جی اس، باعث شده است که خیلی از فریمورک های فول استک جدید، از node.js به عنوان بک اند استفاده کنند. مثلا در نکست جی اس، پوشه‌ای به نام API وجود دارد که برای مدیریت بک اند از آن استفاده می شود. این پوشه کاملا بر مبنای Node js و Express.js طراحی شده است که برای آموزش Next js میتوانید کلیک کنید.

Socket io چیست؟

یکی از مهمترین کتابخانه های جاوااسکریپت که برای برقراری ارتباط دائمی بین فرانت و بک اند استفاده می شود، ساکت آی او است. در واقع این کتاب خانه معمولا با Node js به کار میرود. به همین دلیل، بهتر است که در مورد این کتابخانه هم، کمی توضیح داده شود.

کاربرد این کتابخانه، در وب اپلیکیشنهای پیام رسان است. در پیامرسان ها، باید یک کانتکشن دائمی بین کاربران وجود داشته باشد تا پیامهای جدید، در همان لحظه نمایش داده شود. شما میتوانید با طراحی یک سرور node.jsای در کنار کتابخانه socket io، خیلی ساده این موضوع را پیاده کنید.

معماری MVC چیست؟

یکی دیگر از سوالات مرتبط با طراحی nodejs، معماری ام وی سی است.

عبارت M به معنای مدل است. مدل همان موجودیت است. مثلا در یک فروشگاه اینترنتی، ما چندین مدل داریم. User – Product – Payment – Comment و…

اگر به عکسی که بالاتر قرار داده شد توجه کنید، در ساختار پروژه Node.js، پوشه models را میبینید. این پوشه به همین موضوع اختصاص پیدا کرده است.

عبارت V در معماری MVC به معنی view است. یعنی فرانت اند وب اپلیکیشن؛ که میتوانید با فریمورک های مختلف، فرانت اند اپلیکیشن خود را طراحی کنید مثلا نکست جی اس

عبارت C به معنی controller است. وظیفه کنترلرها، انجام کار سرور است. یعنی مثلا اگر شما بخواهید یک api برای گرفتن لیست همه محصولات فروشگاه طراحی کنید، باید یک پوشه Controllers مثل عکس بالا ایجاد کنید. سپس یک فایل products.js درون آن ایجاد کنید و به کمک دیتابیس، لیست کل محصولات را دریافت کرده و در پاسخ، به فرانت اند بفرستید.

آموزش معماری MVC در Node js

npm چیست؟

زمانی که شما با نود جی اس کار میکنید، قطعا بارها عبارت npm را شنیده اید. Npm به معنی node package manager است. در واقع کار ان پی ام، مدیریت پکیج های پروژه شماست. وقتی شما میخواهید پکیجی را به پروژه خود اضافه کنید، باید از این ابزار کمک بگیرید. مثلا دستور npm install cors

به کمک این دستور، میتوانید پکیج کورز که یکی از پکیج های امنیتی به حساب می آید را به پروژه اضافه کنید.

اطلاعاتی دیگر در مورد نود جی اس

سایت رسمی node js را میتوانید در این لینک ببینید. همچنین یکی از موارد جالب در مورد نود جی اس، شرکت هاییست که از آن استفاده کرده اند.

شرکت هایی مثل اوبر، نتفلیکس، ناسا، والمارت و…

جمع بندی:

امروزه یکی از بهترین ابزارها برای توسعه بک اند، Node js به همراه Express js است. نود جی اس بر مبنای جاوااسکریپت طراحی شده و با توجه به مزایای آن، میتوان گفت که یکی از سریعترین سرورها را در اختیار شما قرار می دهد. سرعت بالا هم به معنای سئوی بهتر برای وب سایت شماست پیشنهاد می شود که هرچه سریعتر، یادگیری nodejs را شروع کنید…

به این مطلب امتیاز دهید

امتیاز کلی : 4 / 5. تعداد آرا : 1

اولین نفر باید که به این مطلب امتیاز میدهید

وبیت این پست توسط نگارش شده است.

اسم من محمد پورداداش هست و متولد سال 1367 در خدمت شما هستیم . تخصص من طراحی گرافیک و کدنویسی وب است و سعی خواهم کرد بهترین خدمات را به شما وبمستران و گرافیست های عزیز ارائه کنم. به ترس هات غلبه کن تا در زندگی همیشه پیروز باشی.

در کانال وبیت عضو شو تا از آخرین اخبار ، آپدیت محصولات و تخفیف ها با خبر بشی ☺ عضویت در کانال تلگرام

اشترک گذاری

مقاله های پیشنهادی

وبیت این مطالب را به شما پیشنهاد میدهد

ارسال نظر ( 0 نظر تایید )

نظرات پس از رویت و تایید مدیران نمایش داده می شود
هنوز نظری ثبت نشده است ، اولین نفری باشید که نظر میدهید !
همکاران وبیت