Node.js مختلف شغل می نماید.
بیایید نگاهی به هر مرحله ای که طی می طراحی اپلیکیشن در مشهد نماید بیاندازیم :
Node.js یک دسته فن محصور را برای ارائه درخواست ها نگهداری می نماید.
هر مجال که درخواستی میآید ، Node.js آن را در یک صف قرار میدهد.
در حال حاضر ، “Event loop” تک فن ای ، کامپوننت اساسی ، وارد میشود.
این Event loop به صورت نامحدود درانتظار درخواست ها میباشد.
وقتی که یک درخواست وارد میگردد ، رینگ آن را از صف تعیین می نماید و نظارت می نماید که آیا به عملیات blocking input/output (I/O) نیاز داراست یا این که نه.
در غیر این شکل ، درخواست را پردازش می نماید و پاسخی را ارسال می نماید.
چنانچه درخواست دارنده عملیات blocking برای اجرا باشد ، Event loop یک فن از مخزن نخ داخلی برای پردازش درخواست تخصیص میدهد.
Event loop درخواستهای blocking را دنبال مینماید و بعد از پردازش عمل blocking ، آن ها را در صف قرار می دهد.
از آنجایی که Node.js از Thread های کمتری به کار گیری می نماید، از منابع/خاطر کمتری به کار گیری می نماید و در سود اجرای شغل سریعتر جاری ساختن میشود.
بدین ترتیب برای هدف ها ما، این معماری تک حرفه ای متساوی معماری چندین فن ای میباشد.
هنگامی که شخص نیاز به پردازش وظایف فشرده داده داراست، به کارگیری از گویش های یک سری حرفه ای مانند جاوا بسیار منطقی خیس میباشد.
ولی برای نرم افزار های ریل تایم ، Node.js گزینش بدیهی و صحت میباشد.
خصوصیت های مهم node.js
1. یادگیری سهل
Node با جاوا اسکریپت درج شده میباشد.
جاوا اسکریپت یک کدام از دوستداشتنی ترین گویش های نرم افزار نویسی میباشد و حدوداً هر بسط دهنده ای با آن شناخت دارااست.
براین اساس، یادگیری Node به سعی و فرصت کمتری نیاز داراست، حتی برای یک نرم افزار نویس جونیور جاوا اسکریپت.
2. Full Stack js
توسعه و گسترش اینترنت Full stack وقتی میباشد که یک بسط دهنده روی کل جنبه های اپلیکیشن شغل می نماید : بسط front-end ، توسعه و گسترش back-end ، رئیس مقر داده و غیره.
پیش از Node ، گسترش دهندگان full stack ناچار بودند تعدادی گویش را حافظه بگیرند.
با Node ، صرفا می بایست جاوا اسکریپت را بدانید تا به بک اند و فرانت اند مسلط باشید.
۳. تقاضای بازار
تقاضا برای گسترش دهندگان فول استک زیاد میباشد و ما شاهد زمان های شغلی بیشتری هستیم که نیاز به مهارت Node داراهستند.
این بدان معناست که اضافه کردن Node.js به رزومه شما ، راه و روش خیر و خوبی برای توسعه و گسترش زمان های شغلی شما تحت عنوان یک توسعه و گسترش دهنده بک اند یا این که فرانت اند میباشد.
۴. آزادی در تشکیل داد نرم افزار ها
برخلاف لهجه هایی مانند Ruby که آیین نامهها و شرایطی را برای بسط اپ اجبار مینماید،
Node آزادی شغل بیشتری را در ایجاد کرد اپلیکیشنها آماده مینماید.
۵. جامعه فعال
Node.js یک فریمورک اوپن سورس با یک جامعه بسیار فعال و مالامال جنب و جوش متشکل از بسط دهندگان میباشد که به صورت مداوم در بهبود آن شرکت کردن دارا هستند.
این دستور یادگیری را راحت خیس می نماید چون در هر مرحله از بسط به چاره های زیادی دسترسی دارید.
۶. مقیاس پذیر
Node.js مقیاس پذیری وسیع ای را برای نرم افزار ها مهیا می نماید.
Node.js که تک فن ای میباشد ، میتواند تعداد متعددی اتصال هم زمان با قدرت عملیاتی بالا را رئیس نماید.
۷. سرعت
اجرای Non-blocking حرفه، Node.js را سریعخیس و کارآمدتر مینماید.
۸. پکیج ها
تیم عظیمای از پکیج های منبع گشوده Node.js مو جود میباشد که می تواند عمل شمارا معمولی نماید.
امروزه بیشتراز یک میلیون پکیج در اکوسیستم NPM وجود داراست.
۹. کراس پلتفرم
تامین از پلتفرم های متعدد به شما قابلیت و امکان میدهد تا سایت ، اپلیکیشن های دسکتاپ و حتی اپلیکیشن های موبایل را با استعمال از Node.js تولید فرمایید.
۱۰. بک اند قدرتمند
Node.js به لهجه های C و C++ درج شده میباشد که سرعت آن را ارتقاء میدهد و خصوصیت هایی مانند هواخواهی از کانال را اضافه می نماید.