Node.JS چیست
Node.JS چیست: به عنوان یک runtime javascript مبتنی بر رویداد ، برای ایجاد برنامه های شبکه مقیاس پذیر طراحی شده است. در واقع یک پلتفرم سمت سرور مبتنی بر موتور جاوا اسکریپت میباشد. در Node.JS بسیاری از اتصالات را می توان به طور همزمان مدیریت کرد. پس از هر اتصال ، callback روشن می شود ، اما اگر کاری برای انجام وجود نداشته باشد ، Node.JS می خوابد. در واقع Node.JS همه ی چیزهایی که برای اجرای یک برنامه نوشته شده به زبان جاوا اسکریپت را نیاز دارید برای شما فراهم میکند.به عبارتی یک قابلیت از سمت سرور برای اجرای کدهای جاوا اسکریپت است.
در سال 2009 اقایی به اسم رایان دال ( Ryan Dahl ) با معرفی کردن Node.JS نشان داد که جاوا اسکریپت خیلی قدرتند است و فقط برای پویاسازی صفحات وب در فرانت اند استفاده نمی شود. (اگرچه به صورت قراردادی از JS به عنوان پسوند نام های جاوااسکریپت استفاده میشود اما این عبارت در نام Node.JS اشاره به پروندهٔ خاصی ندارد و صرفاً قسمتی از نام این محصول است) نسخهٔ اولیهٔ نود جیاس تنها از سیستمعامل لینوکس و مک او اس پشتیبانی میکرد.
معنای واقعی آن این است که Node.js یک پلت فرم جدید نیست که بر دنیای توسعه وب تسلط داشته باشد. در عوض ، این یک پلت فرم است که نیاز خاصی را برآورده می کند. و درک این امر بسیار ضروری است. شما قطعاً نمی خواهید از Node.js برای عملیات فشرده CPU استفاده کنید. در واقع ، استفاده از آن برای محاسبات سنگین تقریباً تمام مزایای آن را از بین می برد. جایی که Node واقعاً می درخشد در ساخت برنامه های شبکه سریع و مقیاس پذیر است ، زیرا قادر به مدیریت تعداد زیادی از اتصالات همزمان با توان بالا است که برابر با مقیاس پذیری بالا است.
Node.JS از نظر طراحی تحت تاثیر سیستم های Ruby’s Event Machine و Python’s Twisted است. بسیاری از شرکتها از Node.JS استفاده می کنند شرکتهای معروفی شامل eBay ، جنرال الکتریک ، GoDaddy ، مایکروسافت ، PayPal ، Uber ، Wikipins ، Yahoo! و Yammer می باشد.
چرا Node.JS؟
Node.js یک زمان اجرا جاوا اسکریپت است که بر روی موتور جاوا اسکریپت V8 Chrome ساخته شده است. مرورگر JavaScript و Node.js بر روی موتور زمان اجرا V8 JavaScript اجرا می شوند. این موتور کد جاوا اسکریپت شما را می گیرد و به کد ماشین سریعتر تبدیل می کند. کد ماشین یک کد سطح پایین است که کامپیوتر می تواند بدون نیاز به تفسیر اولیه آن را اجرا کند.
Node.js از یک مدل ورودی/خروجی بدون وقفه و رویداد محور استفاده می کند که آن را سبک و کارآمد می کند. شبکه های مبتنی بر موضوع نسبتاً ناکارآمد هستند و استفاده از آنها بسیار مشکل است. علاوه بر این ، کاربران Node.JS از هیچ گونه نگرانی برای قفل کردن فرآیند خودداری می کنند ، زیرا هیچ قفلی وجود ندارد. تقریباً هیچ عملکردی در Node.JS مستقیماً ورودی یا خروجی را انجام نمی دهد ، بنابراین این فرایند هرگز مسدود نمی شود یعنی ناهمگام می باشد. در واقع به کمک Node.JS زبان برنامه نویسی جاوا اسکریپ به جای اجرا درمرورگر در محیط سرور اجرا میشود.
Node.JS به شما اجازه میدهد به آسانی و سادگی برنامههای تحت شبکه مقیاس پذیر و بزرگ بنویسید. به سادگی پس از اجرای اسکریپت ورودی وارد حلقه رویداد می شود. Node.js هنگامی که دیگر فراخوانی برای انجام وجود ندارد ، از حلقه رویداد خارج می شود. این رفتار مانند جاوا اسکریپت مرورگر است (حلقه رویداد از دید کاربر پنهان می شود).
I/O به ورودی/خروجی اشاره دارد. این می تواند شامل خواندن/نوشتن فایل های محلی گرفته تا درخواست HTTP تا API باشد. I/O زمان می برد و از این رو توابع دیگر را مسدود می کند.
اکوسیستم بسته Node.js ، npm ، بزرگترین اکوسیستم کتابخانه های منبع باز در جهان است.
Node.JS چه فوایدی دارد؟
- Node.js بازدهی و انعطاف بالایی دارد. گفتیم که Node.js بر روی موتور جاوا اسکریپت V8 Chrome ساخته شده است که سرعت بسیار بالایی دارد. علاوه بر سرعت بخشیدن به ان بازدهی بسیار بالایی دارد و مشکلات امنیتی را رفع میکند.
- Node.js کراس پلتفرم است. کراس پلتفرم تکنولوژی خاصی است که برنامه نویسان را قادر می سازد تا همگی تحت یک زبان برنامه نویسی خاص و مشترک بتوانند یک بار اپلیکیشن خود را طراحی کنند و آن را در پلتفرم های مختلف مورد استفاده قرار دهند.
- Node.js میتواند با میکروسرویسها ترکیب شود. میکروسرویس روشی به منظور تقسیمبندی کردن یک اپلیکیشن یا نرم افزار به بخشها یا سرویسهای کوچک، سبُک، مستقل از یکدیگر و قابلمدیریت است. در واقع میکروسرویس یک معماری توسعهٔ نرمافزار به اصطلاح Distributed است.
چرا Node.js بد است؟
Node.js ، به صورت تک رشته ای ، ممکن است انتخاب بدی برای سرورهای وب باشد که به عنوان سرورهای محاسباتی دو برابر می شوند ، زیرا محاسبات سنگین پاسخگویی سرور را مسدود می کند. با این حال ، Node.js خود بد نیست: این فناوری کاملاً بالغ است و برای انواع مختلف سرورها بسیار مورد استفاده قرار می گیرد.
جمع بندی
Node.js یک محیط زمان اجرا JavaScript سمت سرور است. این منبع باز است ، از جمله موتور V8 گوگل ، برای سازگاری بین پلتفرم ها و یک کتابخانه اصلی می باشد. قابل ذکر است ، Node.js یک شیء “پنجره” جهانی را نشان نمی دهد ، زیرا در مرورگر اجرا نمی شود.
Node.js به دلیل ماهیت تک رشته ای ، در درجه اول برای سرورهای مسدود نشده و رویداد محور استفاده می شود. این برنامه برای وب سایت های سنتی و خدمات API پشتیبان استفاده می شود ، اما با در نظر گرفتن معماری های زمان واقعی و مبتنی بر فشار طراحی شده است.
دلیل محبوبیت Node.js این است که علاوه بر موثر بودن در کارهایی که انجام می دهد ، بسیار محبوب است زیرا دارای یک اکوسیستم عظیم ، فعال ، منبع باز و مبتنی بر جاوا اسکریپت است. همچنین ، تمایل ندارد که سازگاری بین نسخه ها را به روشهای عمده از بین ببرد.
افزودن نظر