Node.js چیست؟
25 مهر 1400 1400-08-09 12:28Node.js چیست؟
Node.js یک پلتفرم کدنویسی سمت سرور است که بر پایه موتور جاوا اسکریپت مرورگر گوگل کروم کدنویسی شده است. این پلتفرم توسط رایان داهل در سال ۲۰۰۹ ایجاد شده است و در حال حاضر آخرین نسخه آن ورژن 0.10.36 میباشد.
بر اساس اعلان مستندات رسمی تعریف Node.Js به شکل زیر عنوان میشود:
Node.js یک پلتفرم ایجاد شده بر پایه موتور جاوا اسکریپت گوگل کروم است که باعث سهولت ایجاد و مقیاسپذیری برنامههای تحت شبکه میشود. این پلتفرم از یک مدل I/O رویداد محور استفاده میکند که مسدود نشونده (non-blocking) است و همین امر باعث کاهش فشار موجود بر روی سرور و افزایش کارآیی میشود و این امر برای اجرای برنامههای مبتنی بر داده که بصورت بلادرنگ (Real-Time) بر روی سرورهای نامتمرکز استفاده میشوند بسیار مناسب است.”Node.js یک پلتفرم کد باز برای گسترش برنامههای سمت سرور و تحت شبکه میباشد. این پلتفرم بر اساس زبان جاوا اسکریپت نوشته شده است و میزبانی و هاست Nodejs قابلیت پیادهسازی بر روی سیستمعاملهای ویندوز، لینوکس و سیستم عامل کامپیوترهای اپل را دارد.این فریم ورک کتابخانهای عظیم از ماژولهای مختلف جاوا اسکریپت را فراهم میکند که سهولت در گسترش وباپلیکیشن ها را تا حد زیادی فراهم میآورد.
روش کار Node js
nodejs (نود جی اس) از مدل io استفاده می کند. مدل i/o یک انتخاب عالی برای پیاده سازی برنامه های Real time است. این مدل در Node js به ما این امکان را می دهد تا برنامه هایی که دارای ورودی/خروجی بالایی هستند سرعت بهتری را تجربه کنیم و تبادل اطلاعات با سرعت بالایی انجام می گیرد. برنامه های Real time برنامه هایی هستند که تبادل اطلاعات در آنها با سرعت بالا و لحظه ای صورت می گیرد. از مهمترین برنامه های Real time میتوان شبکه های اجتماعی و ابزارهای چت را نام برد. امروزه به علت سرعت پردازش بالای اطلاعات توسط Node js و پاسخگویی به تعداد بالایی از درخواست ها در لحظه و همچنین راحتی پیاده سازی برنامه های Real time به علت وجود کتابخانه های خوبی مانند Socket.io بسیاری از برنامه نویسان و سایت ها به خصوص استارتاپ های بزرگ به Node js کوچ می کنند.

ویژگیهای Node.JS:
در زیر برخی از مهمترین ویژگیهای این پلتفرم که باعث میشود انتخاب اول برنامهنویسها در طراحی سایت باشد ذکر شده است:
_ غیرهمزمانی و رویداد محوری: همهی API های کتابخانه Node.js غیرهمزمان میباشند که همین امر باعث مسدودناپذیری (non-blocking) آن میشود. این بدان معناست که که Node.js در بستر سرور هیچگاه در انتظار بازگشت اطلاعات از API نمیماند. سرور پس از صدا زدن یک API به سمت API بعدی حرکت میکند و برای اطلاع از وضعیت API قبلی از مکانیزم ثبت رویداد استفاده میکند.
_ سرعت بالا: با توجه به این که نود جی اس بر پایه نسخه ۸ موتور جاوا اسکریپت گوگل کروم پیادهسازی شده است در اجرای کدها بسیار سریع عمل میکند.
_ تک موضوع اما بسیار مقیاس پدیر: نود جی اس از یک مدل تک موضوعی به همراه حلقه رویددادها استفاده میکند. مکانیزم رویداد باعث میشود که سرور به صورت مسدود نشونده پاسخها را ارسال کند و همین امر باعث میشود بر خلاف مکانیزمهای سنتی که سرور را محدود به چند درخواست برای پردازش درخواستها میکرد سرور بسیار مقیایسپذیر شود.
_ نود جی اس از یک برنامه تک موضوعی استفاده میکند و همان برنامه میتواند سرویسی برای تعداد بسیار بیشتری از درخواست ها نسبت به مکانیزمهای قدیمی سرور مثل HTTP سرور آپاچی فراهم کند.
_ عدم وجود بافرینگ: این پلتفرم هیچ دادهای را بافر نمیکند و دادههای خروجی را به صورت تکهتکه منتشر میکند.
برای حرفه ای تر شدن در زمینه برنامه نویسی به تو پیشنهاد میکنم از اینجا بقیه مقاله های مارا مطالعه کنی.
آیا یادگیری NODE JS آینده ی روشنی دارد؟
در سراسر دنیا تعداد مخاطبین استفاده کننده از اینترنت روز به روز در حال افزایش است و میزان نیاز به زبان ها و تکنولوژی های قدرتمندتر و سیع تر در دنیای برنامه نویسی یکی از مهم ترین دغدغه های برنامه نویس هاست. برخی زبان های برنامه نویسی در حال پس رفت هستند و زبانهای برنامه نویسی جدید یا رو به رشد درحال جایگزین شدن آنها میباشند. زبان برنامه نویسی جاوا اسکریپت با انعطاف بسیار بالایی که در توسعه ی چاچوب ها و پلتفرم هایی مانند node js داشته است هر روز خود را با نیاز ها همگام کرده است. سریع تر بودن node js نسبت به دیگر زبان های برنامه نویسی سمت سرور، این زبان را به الویت اول برنامه نویس ها تبدیل کرده است. نمودار زیر میزان جست و جوی node js را در موتور جست و جوی گوگل نشان میدهد.

ازجمله پروژه ها، نرمافزارها و شرکتهایی که از Node.js استفاده میکنند ، میتوان eBay, General Electric, GoDaddy, Microsoft, PayPal, Uber, Wikipins, Yahoo! و … را نام برد.
برخی از موقعیتهایی که نود جی اس به عنوان یک پلتفرم کارا معرفی شده است:
– نرمافزارهای محدوده I/O (ورودی و خروجی)
– نرمافزارهای جریان دادهای (Data Streaing)
– دادههای نرمافزارهای بلادرنگ (Real-Time)
– برنامههای مبتنی بر JASON API
– برنامههای تک صفحهای

جمع بندی
وقتی از برنامه نویسی سمت سرور صحبت می کنیم، احتمالا اولین چیزی که به ذهنتان می رسد PHP است، بعد هم احتمالا ذهنتان به سمت مایکروسافت و تکنولوژی ASP.Net می رود. اما جاوا اسکریپت هم با معرفی نود جی اس و امکانات قابل قبول در حوزه برنامه نویسی سمت سرور هم ورود کرد. نود جی اس یک محیط اجرایی رایگان برای زبان جاوا اسکریپت است که کارهای متنوعی انجام می دهد. نود جی اس رایگان است، یک جامعه بزرگ از برنامه نویسان پشت آن قرار دارند و یک پکیج منیجر بسیار قدرتمند به نام NPM یا Node Package Manager برای آن ساخته شده که نزدیک به نیم میلیون پکیج در آن قرار دارد. هر چقدر بیشتر با این پلتفرم کار کنید این سوال برایتان به وجود می آید که چرا زودتر سراغ نود جی اس نرفتم.
پست های مرتبط
VDI چیست و چه کاربردی دارد؟
مزایا و معایب اس ام اس مارکتینگ چیست؟
فریم ورک چیست؟
توپولوژی مش چیست؟
دلایل عدم اتصال دامنه جدید به هاست چیست؟
اعضا
-
Active ماه 3, 4 هفته قبل
-
Active ماه 8 قبل
-
Active ماه 8 قبل
-
Active ماه 9, 1 هفته قبل
-
Active ماه 11, 2 هفته قبل
بروز رسانی
سمیرا مردانی's بروزسانی مشخصات انجام شد 1 سال, ماه 4 قبل
محمد جواد محمدی's بروزسانی مشخصات انجام شد 1 سال, ماه 4 قبل
مریم نوری's بروزسانی مشخصات انجام شد 1 سال, ماه 4 قبل
محمد امین طاهری's بروزسانی مشخصات انجام شد 1 سال, ماه 4 قبل
نگار حجتی's بروزسانی مشخصات انجام شد 1 سال, ماه 4 قبل