Node.js در سال ۲۰۰۹ متولد شد ، بر اساس موتور جاوا اسکریپتی گوگل، موسوم به V8 طراحی شده است. اگر بخواهیم دربارهی این موتور توضیحی مختصر بدهیم باید بگوییم که این موتور توسط گوگل طراحی شده تا کدهای جاوا اسکریپتی را درون خودش سریعتر از قبل کامپایلر و اجرا نماید. این موتور به صورت متن باز منتشر شده و به زبان برنامهنویسی ++C نوشتهشده است. ضمن اینکه از استاندارد اکما اسکریپت نیز بهره میبرد. هر جا که شما دوست دارید تا جاوا اسکریپت را اجرا کنید، این موتور میتواند به شما کمک کند. امروزه یکی از دلایل استفاده زیاد از Node.js را همین موتور قدرتمند میدانند.
در این مقاله قصد داریم همه چیز را درباره Node.js مورد بررسی قرار دهیم. Node.js پلتفرمی است که برای اجرای جاوا اسکریپت مورد استفاده قرار میگیرد.
Node.js برای اپلیکیشن های موبایل که اساسا به API Server برای سرویس دادن به درخواست های همزمان وابسته است، ایده آل می باشد. از جمله اپلیکیشنهای چت یا بازیهای آنلاین.
بنابراین میتوان گفت که از این پلتفرم میتوان در اپلیکیشنهای زیر استفاده کرد:
- تجارت الکترونیک
- شبکه های اجتماعی
- سرویس های بلادرنگ
- جریان دادهها
کاربرد های Node.js
۱- نرم افزارهای محدوده ی I/O
۲- نرم افزارهای جریان دادهای (Data Streaing)
۳- داده های نرم افزارهای در لحظه (Real-Time)
۴- برنامه های مبتنی بر Json API
۵- برنامه های تک صفحه ای
ویژگی های Node.js
غیرهمزمانی و رویداد محوری
همهی API های کتابخانه Node.js غیرهمزمان میباشند که همین امر باعث مسدودناپذیری (non-blocking) آن میشود. این بدان معناست که که Node.js در بستر سرور هیچگاه در انتظار بازگشت اطلاعات از API نمیماند. سرور پس از صدا زدن یک API به سمت API بعدی حرکت میکند و برای اطلاع از وضعیت API قبلی از مکانیزم ثبت رویداد استفاده میکند.
سرعت بالا
با توجه به این که نود جی اس بر پایه نسخه ۸ موتور جاوا اسکریپت گوگل کروم پیادهسازی شده است در اجرای کدها بسیار سریع عمل میکند.
تک موضوع اما بسیار مقیاس پذیر
نود جی اس از یک مدل تک موضوعی به همراه حلقه رویدادها استفاده میکند. مکانیزم رویداد باعث میشود که سرور به صورت مسدود نشونده پاسخها را ارسال کند و همین امر باعث میشود بر خلاف مکانیزمهای سنتی که سرور را محدود به چند درخواست برای پردازش درخواستها میکرد سرور بسیار مقیاسپذیر شود.
نود جی اس از یک برنامه تک موضوعی استفاده میکند و همان برنامه میتواند سرویسی برای تعداد بسیار بیشتری از درخواست ها نسبت به مکانیزم های قدیمی سرور مثل HTTP سرور آپاچی فراهم کند.
عدم وجود بافرینگ
این پلتفرم هیچ دادهای را بافر نمیکند و دادههای خروجی را به صورت تکهتکه منتشر میکند.
چرا باید از Node.js استفاده کنیم؟
دلیل اول برای توصیه Node.js عملکرد و مقیاسپذیری آن است. Node.js سریع است. اگر شما مشغول راهاندازی یک استارتاپ هستید که میخواهید پیشرفتهای بزرگی داشته باشید و از طرفی میخواهید مطمئن باشید که میتواند اپلیکیشن خود را به سرعت بزرگ کنید تا بتوانید به کاربران زیاد سایت خود پاسخ دهید، این مسئله کاملاً حائز اهمیت خواهد بود.
Node.js میتواند هزاران اتصال API همزمان را در حالتی که پیاچپی از کار میافتد مدیریت کند. مزیتهای عملکردی و مقیاسپذیری همراه با دانش قبلی اکثر برنامه نویسان از جاوا اسکریپت باعث میشود که لزوم یادگیری زبان جدیدی مانند PHP چندان حس نشود. همچنین آموختن یک مفهوم جدید و تا حدودی بکر نیز هیجان است. اغلب افراد از این که چیز تازهای آمده است و هنوز آن را نیاموختهاند افسوس میخورند.
معایب Node.js
Node.js نیز مانند هر فناوری جدید دیگری در ابتدا با دشواریهایی در پیادهسازی همراه است. اگر از یک هاستینگ وب اشتراکی استفاده میکنید، نمیتوانید یک اپلیکیشن Node.js را روی این پلن توزیع کنید و انتظار داشته باشید که کار کند. VPS و سرورهای اختصاصی، گزینههای بهتری بدین منظور محسوب میشوند. میتوانید Node.js را روی آنها نصب کنید. گزینه بهتر، استفاده از سرویسهای مقیاسپذیر مانند Heroku است که توسعه دادن سایت روی آن کاملاً رایگان است. در واقع تنها زمانی لازم است پول بپردازید که به منابع بیشتری نیاز داشته باشید.
از طرف دیگر نصب Node.js روی ویندوز، مک یا لینوکس به صورت محلی آسان است و میتوانید بیدرنگ شروع به برنامهنویسی بکنید. کافی است Node.js را دانلود کنید. همچنین باید اشاره کرد که Node.js صرفاً یک جایگزین برای آپاچی محسوب نمیشود، چون اپلیکیشنهای موجود با آن کار نمیکنند و باید تقریباً همه چیز را از صفر شروع کنید. البته Node.js کتابخانههای زیادی دارند که امکانات متنوعی را ارائه میدهند. عیب مهم دیگر Node.js این است که در طی فرایند توسعه تغییرات زیادی مییابد. در واقع اگر به مستندات آن نگاه کنید یک شاخص پایداری وجود دارد که نشان میدهد، استفاده از هر ویژگی در حال حاضر تا چه حد ریسک دارد.
- نویسنده: سارا کاویانی
- تاریخ: 1397/12/11
- زمان: 12:59
- نظرات: 5
5 نظر در مورد این مطلب
Node.jsیک کتابخانه از جاوا اسکریپت نیست بلکه یک پلتفرم است که جاوااسکریپت را سمت سرور اجرا می کند.اپلیکیشن های نود بر روی هاست موجود شما نمی توانند اجرا شوندشما می توانید از VPS و سرروهای مشخص برای نصب نود و اجرای برنامه خود استفاده کنید.راحت ترین روش برای گسترش اپلیکیشن Node استفاده از سرویس های مقیاس پذیر مانند Heroku که کاملا رایگان هستند، می باشد.
nodes واقعا یکی از بهترین پلتفرم های سرور هست که تابحال ارائه شده. و چون از جاوا اسکریپت برای برنامه نویسی استفاده میکنه سرعت پردازشش خیلی زیاد هست و همچنین سرعت برنامه نویسی رو برای دولوپر ها خیلی بالا میبره. مهمتر از همه اینکه زبان جاوا اسکریپت به صورت async عمل میکنه و هیچ پردازشی نمی تونه کار کل سرور رو بلاک کنه
nodejs عالیه، من قبلا دات نت کار میکردم اما از یه جایی به بعد متوجه شدم که باید برم به سمت nodejs چون این زبان واقعا همه چی تمومه.
من تا حالا تو این پلتفرم کار نکردم و نمیدونکم به نحوی کار میکنه اما با خوندن این مقاله متوجه مزایای این پلتفرم شدم و دوست دارم که با محیطش آشنا بشم
ضمن اینکه node.js ابتدا توسط رایان دل در سال 2009 [25] حدود سی سال پس از معرفی اولین محیط جاوا اسکریپت سرور، وب سرویس LiveWire Pro WebNetscape نوشته شده است. نسخه اولیه تنها لینوکس و مک OS X را پشتیبانی می کند.