آموزش Node.js

معرفی Node.js

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

رایان دال به کمک زبان های سی، سی پلاس پلاس و جاوااسکریپت یک پلتفرم سمت سرور به نام Nude.js را بر اساس موتور جاوا اسکریپت گوگل V8 طراحی کرد که بر روی سیستم عامل های mac، linux و ویندوز قابل اجرا است.

Node.js چیست؟

Node.js توسط Ryan Dahl در سال 2009 توسعه یافت. Node.js فریمورک زبان جاوااسکریپت، چندسکویی و متن باز است که برای توسعه اپلیکیشن های سمت سرور و شبکه مورد استفاده قرار می گیر. با این فریمورک تنها یک thread ایجاد کنید و همه ی درخواست‌ها را به صورت event مدیریت کنید.

Node.js همچنین یک کتابخانه غنی از ماژول های مختلف جاوا اسکریپت را فراهم می کند که توسعه برنامه های وب را با استفاده از آن به میزان قابل توجهی ساده می کند.

هدف از طراحی این پلتفرم بهبود عملیات I/O بوده است. Nude.js در نوشتن برنامه ای که بصورت realtime باشد کاربرد دارد. این پلتفرم می تواند اجرای برنامه را تسریع بخشد و فشار زیاد ناشی از بازدیدهای بالا را از سرور کم کند.

 

ویژگی های Node.js

  • غیرهمزمانی و مبتنی بر رویداد

تمام API های کتابخانه Node.js غیرهمزمان هستند. ساسا به این معنی است که یک سرور مبتنی بر Node.js هرگز منتظر API برای بازگشت داده ها نیست. سرور بعد از فراخوانی آن به API بعد حرکت می کند و مکانیزم اعلان رویدادهای Node.js به سرور کمک می کند تا از فراخوانی API پیشین پاسخی دریافت کند.

  • بسیار سریع

از آنجاییکه در V8 جاوا اسکریپت گوگل کروم ساخته شده است، کتابخانه Node.js در اجرای کد بسیار سریع می باشد.

  • تک Threaded اما بسیار مقیاس پذیر

Node.js از یک مدل Threaded با حلقه رویداد استفاده می کند. مکانیزم رویداد به سرور کمک می کند که به یک روش غیر مسدود کننده پاسخ دهد و سرور را بسیار مقیاس پذیر می کند، به نحوی که در مقایسه با سرورهای سنتی که threads محدودی را برای رسیدگی به درخواست ایجاد می کنند، Node.js از یک برنامه ی تک threaded استفاده می کند و همان برنامه می تواند برای سرویس تعداد زیادی درخواست فراهم کند که از سرویس های سنتی مثل Apache HTTP Server بیشتر می باشد.

  • بدون Buffering

اپلیکیشن های Node.js هرگز هیچ داده ای را بافر نمی کنند. این برنامه ها به سادگی داده ها را درون chunks قرار می دهند.

  • مجوز

Node.js تحت مجوز MIT منتشر می شود.

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

شرکت هایی نظیر eBay، General Electric، GoDaddy، مایکروسافت، PayPal، Uber، Wikipins، یاهو و Yammer از آن استفاده می کنند.

کاربرد Nodejs

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

از Nodejs در موارد زیر استفاده می شود:

  • طراحی وب
  • طراحی وب سرویس
  • در IoT
  • اپلیکیشن های مبتنی بر JSON APIs
  • اپلیکیشن های تک صفحه ای
  • Data Intensive Real-time Applications (DIRT)
  • اپلیکیشن های جریان داده
  • اپلیکیشن های I/O bound
  • آموزش رندر سمت سرور در فریمورک React

آموزش رندر سمت سرور در فریمورک React

شنبه ۲۹ اردیبهشت ۱۳۹۷ - ساعت ۰۳:۰۰
  • آموزش DevOps با AWS CodePipeline  و Jenkins و AWS CodeDeploy

آموزش DevOps با AWS CodePipeline  و Jenkins و AWS CodeDeploy

پنج شنبه ۲۷ اردیبهشت ۱۳۹۷ - ساعت ۰۲:۰۰
  • آموزش طراحی API در Node.js به همراه Express و Mongo

آموزش طراحی API در Node.js به همراه Express و Mongo

شنبه ۱۵ اردیبهشت ۱۳۹۷ - ساعت ۱۱:۰۰
  • آموزش Node.js – استقرار اپلیکیشن ها

آموزش Node.js – استقرار اپلیکیشن ها

دوشنبه ۱۰ اردیبهشت ۱۳۹۷ - ساعت ۱۷:۰۰
  • آموزش Node.js – ایمن سازی RESTful API

آموزش Node.js – ایمن سازی RESTful API

دوشنبه ۱۰ اردیبهشت ۱۳۹۷ - ساعت ۱۵:۰۰
  • آموزش کامل MEAN stack در یک ویدئو

آموزش کامل MEAN stack در یک ویدئو

پنج شنبه ۰۶ اردیبهشت ۱۳۹۷ - ساعت ۰۵:۰۰
  • آموزش کامل Jade) Pug) در یک ویدئو

آموزش کامل Jade) Pug) در یک ویدئو

چهارشنبه ۰۵ اردیبهشت ۱۳۹۷ - ساعت ۱۳:۰۰
  • آموزش الگوهای طراحی در Nodejs

آموزش الگوهای طراحی در Nodejs

یکشنبه ۰۲ اردیبهشت ۱۳۹۷ - ساعت ۰۳:۰۰
  • آموزش MEAN Stack – قسمت 2 – Scaffolding و فریمورک ها

آموزش MEAN Stack – قسمت 2 – Scaffolding و فریمورک ها

دوشنبه ۲۷ فروردین ۱۳۹۷ - ساعت ۰۱:۰۰
  • آموزش MEAN Stack – قسمت 1 – مقدمه

آموزش MEAN Stack – قسمت 1 – مقدمه

یکشنبه ۲۶ فروردین ۱۳۹۷ - ساعت ۲۱:۰۰
  • آموزش کامل Node.js در Windows 

آموزش کامل Node.js در Windows 

دوشنبه ۲۱ اسفند ۱۳۹۶ - ساعت ۰۷:۰۰
  • آموزش فریمورک Node.js

آموزش فریمورک Node.js

دوشنبه ۲۱ اسفند ۱۳۹۶ - ساعت ۰۵:۰۰
  • آموزش بسته های Node.js

آموزش بسته های Node.js

دوشنبه ۲۱ اسفند ۱۳۹۶ - ساعت ۰۴:۰۰
  • آموزش Nodejs – ساخت Rest Api با Sails.js

آموزش Nodejs – ساخت Rest Api با Sails.js

پنج شنبه ۰۳ اسفند ۱۳۹۶ - ساعت ۱۸:۰۰
  • آموزش از پایه تا پیشرفته ساخت BOTS با Dialogflow و NodeJS

آموزش از پایه تا پیشرفته ساخت BOTS با Dialogflow و NodeJS

پنج شنبه ۱۹ بهمن ۱۳۹۶ - ساعت ۲۳:۰۰
  • اموزش محاسبات بدون سرور در Azure با Node.js 

اموزش محاسبات بدون سرور در Azure با Node.js 

یکشنبه ۱۵ بهمن ۱۳۹۶ - ساعت ۱۲:۰۰
  • آموزش توسعه وب با Node.js، MongoDB و Express 

آموزش توسعه وب با Node.js، MongoDB و Express 

چهارشنبه ۱۱ بهمن ۱۳۹۶ - ساعت ۰۳:۰۰
  • آموزش برنامه نویسی همزمان وب در Node.js با Socket.IO

آموزش برنامه نویسی همزمان وب در Node.js با Socket.IO

سه شنبه ۱۰ بهمن ۱۳۹۶ - ساعت ۰۹:۰۰
  • آشنایی با فریمورک Node.js

آشنایی با فریمورک Node.js

دوشنبه ۰۹ بهمن ۱۳۹۶ - ساعت ۱۱:۰۰
  • آموزش ساخت RESTful Web API با Node.js و Express

آموزش ساخت RESTful Web API با Node.js و Express

یکشنبه ۰۸ بهمن ۱۳۹۶ - ساعت ۱۶:۰۰
  • آموزش توسعه وب Full Stack با HTML ،CSS ،React و  Node

آموزش توسعه وب Full Stack با HTML ،CSS ،React و Node

یکشنبه ۰۱ بهمن ۱۳۹۶ - ساعت ۰۱:۳۰