نود جی اس

درباره نود جی اس چه می دانید؟در این مقاله ب طور خلاصه به معرفی نود جی اس می پردازم.

نود جی اس (Node.js) چیست؟

Node.js یک پلتفرم ایجاد شده بر پایه موتور جاوا اسکریپت گوگل کروم است که باعث سهولت ایجاد و مقیاس پذیری برنامه های تحت شبکه می شود. این پلتفرم از یک مدل I/O رویداد محور استفاده می کند که مسدود نشونده است و همین امر باعث کاهش فشار موجود بر روی سرور و افزایش کارآیی می شود و این امر برای اجرای برنامه های مبتنی بر داده که به صورت بلادرنگ (Real-Time) بر روی سرور های نامتمرکز استفاده می شوند بسار مناسب است.

چرا Node.js  ؟

نود جی اس از امنیت بیشتری در مقابل بار اضافی اعمال شده به سرور برخوردار است،  به خصوص در زمان وقوع حمله های DDOS که بقیه نرم افزار های سرور مانند SSH قابل دسترسی و پاسخ دهنده باقی می مانند.

بیشترین موارد استفاده از نود جی اس مربوط به نوشتن API است، که باعث می شود توسعه دهنده های سمت کلاینت بتوانند به اطلاعات دسترسی داشته و از آن ها استفاده کنند.

پایین بودن زمان پاسخ گویی در Node.js : Node.js یک پلتفرم single-threaded و asynchronous است. هیچ کدام از پردازش های مرتبط با I/O سایر پردازش ها را متوقف نمی کنند.

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

بسیاری از وب سرور ها بر مبنای تکنیک Threading کار می کنند یعنی برای هر درخواست یک thread ایجاد می کند و به تبع آن بخشی از رم (مثلا 1 مگابایت) از RAM سرور اشغال می شود و این کار تا جایی که RAM سرور اجازه دهد ادامه می یابد. تکنیک Threading برای کارهایی که نیاز به تعداد بالایی کانکشن هم زمان دارند مناسب نیست.

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

کدهای جاوااسکریپت در Thread اصلی و عملکردهای مرتبط با I/O در Thread های دیگری اجرا می‌شوند.

ماشین مجازی (Google V8) در Node.js که کدهای جاوا اسکریپت را اجرا می کند دارای ویژگی کامپایل در زمان اجرا می باشد. وقتی این ماشین مجازی کدهای جاوا اسکریپت را می‌گیرد در زمان اجرا آنها را به کدهایی نزدیک به کدهای زبان ماشین کامپایل می‌کند.

این کار باعث می‌شود توابعی که به دفعات صدا زده می‌شوند با تبدیل شدن به کدهای شبیه کد ماشین به طور قابل ملاحظه‌ای سرعت اجرای کدها را بهبود دهد.

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

هدف از به وجود آمدن Node.js :

هدف این پلتفرم این است که سرعت اجرای برنامه تحت شبکه را بالا ببرد و فشار زیاد ناشی از بازدید های بالا را از سرور کم کند. شما به راحتی می توانید از تکنولوژی Ajax در این پلتفرم استفاده کنید و حتی پیشرفته تر از قابلیت های Ajax آزادی عمل دارید.

کاربرد های Node.js :

در زیر برخی از موقعیت هایی که نود جی اس خودش را به عنوان پلتفرم اول معرفی میکند آمده است:

1.     نرم افزار های محدوده  I/O 

2.     نرم افزار های جریان داده ای (Date Streaing)

3.     داده هاینرم افزار های در لحظه (Real-Time)

4.     برنامه های مبتنی بر Json API

5.     برنامه های تک صفحه ای

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

توسط گروه تبلیغاتی کاپنا - تاریخ : 27 بهمن 1398