Node JS چیست و این پلتفرم چه کاربردی دارد
Node JS چیست و این پلتفرم چه کاربردی دارد
Node JS
Node JS چیست و این پلتفرم چه کاربردی دارد

Node JS چیست و این پلتفرم چه کاربردی دارد

درباره Node JS

Node JS امکانات بسیاری دارد و در اصل راهی برای اجرای جاوا اسکریپت در خارج از محیط مرورگر است.

بسیاری از برنامه نویسان از زبان برنامه نویسی جاوا اسکریپت برای نوشتن رابط های وبسایت ها(و به اصطلاح برنامه نویس ها سمت کلاینت)استفاده می کنند.

Node.js این امکان را فراهم می کند که این زبان محبوب برنامه نویسی در زمینه های مختلف به ویژه در وب سرورها مورد استفاده قرار گیرد.

ویژگی های فوق العاده ای در Node وجود دارد که آن را ارزشمند می سازد.

فریم ورک Node بر پایه موتور قدرتمند V8 در مرورگر کروم می باشد.

Node تنظیمات V8 را به گونه ای انجام می دهد که در محیط هایی غیر از مرورگر بهتر عمل کند که این امر عمدتا از طریق ارائه API های بیشتر انجام می گیرد که برای موارد مختلف بهینه شده اند.

به عنوان مثال می دانید که سمت سرور،تغییر داده های باینری اغلب ضروری به نظر می رسد که متاسفانه زبان جاوا اسکریپت پشتیبانی ضعیفی از آن می کند.

اما در ورژن سمت سرور جاوا اسکریپت(منظور همین پلتفرم node JS)کلاسی داریم با عنوان Buffer که به راحتی تغییر داده های باینری را میسر می سازد.

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

جالب است بدانید که کامپایلر V8 لیستی از جدید ترین تکنیک های فن آوری کامپایلر را مورد استفاده قرار می دهد و این امکان را فراهم می کند تا کد هایی که با زبان های سطح بالا مانند جاوا اسکریپت نوشته شده اند مشابه با کد هایی که با زبان های سطح پایین مانند C نوشته شده اند اجرا شوند و تنها بخش اندکی از هزینه پیاده سازی صرف این کار شود.

بیشتر این تمرکز بر روی بهبود عملکرد(performance)است و یکی از قابلیت های کلیدی در Node محسوب می شود.

جاوا اسکریپت یک زبان مبتنی بر event است و Node از این امر در تولید سرورهای فوق العاده مقیاس پذیر(scalable)بهره می برد.

با استفاده از نوعی معماری به نام event loop،پلتفرم Node برنامه نویسی سرورهای مقیاس پذیر را ساده و ایمن می سازد.

همچنین استراتژی های مختلفی وجود دارد که از آنها برای کارامد تر ساختن سرور ها استفاده می شود.

نام سازنده Node Js آقای Ryan Dahl میباشد.
Node.js نوعی معماری را برگزیده است که عملکرد بسیار خوبی داشته و در عین حال پیچیدگی ها را برای برنامه نویسان اپلیکیشن های حرفه ای کاهش می دهد.

این یک ویژگی فوق العاده مهم است.

برنامه نویسی کار دشواری است،Node این چالش را رفع نمی کند ولی در عین حال عملکرد تحسین برانگیز و فوق العاده ای را ارائه می دهد.

چگونگی روش event loop در Node

پلتفرم Node برای پشتیبانی از روش event-loop از یک مجموعه از کتابخانه های  nonblocking استفاده می کند.

در واقع این ها رابط هایی به filesystem یا دیتابیس ها هستند که به روشی مبتنی بر event ها عمل می کنند.

وقتی که درخواستی را به filesystem ارسال می کنید،به جای این که Node صبر کند تا هارد درایو جستجو کرده و فایل را بازیابی کند،رابط  nonblocking خیلی راحت Node را از دسترسی به آن فایل مطلع می کند که این روش مشابه با روشی است که مرورگر های وب به کد های شما در مورد رویداد onclick اطلاع می دهند.

این مدل دسترسی به منابع کند را تسهیل می کند که برای برنامه نویسان جاوا اسکریپت بسیار جدید بوده و یادگیری آن برای هر کسی آسان است.

اگرچه که این قابلیت مختص Node نیست اما پشتیبانی از جاوا اسکریپت در سمت سرور نیز یک ویژگی قدرتمند است.

صرف نظر از تمایل ما،محیط مرورگر انتخاب های محدودی از زبان های برنامه نویسی را در اختیار ما قرار می دهد.

اگر بخواهیم که کد ما تقریبا در تمامی مرورگرها اجرا شود مطمئنا،جاوا اسکریپت تنها انتخاب ما خواهد بود.

برای دستیابی به اشتراک گذاری کد بین سرور و مرورگر ما باید از جاوا اسکریپت استفاده کنیم.

به دلیل پیچیدگی روز افزون اپلیکیشن های سمت کلاینت که در مرورگر و با استفاده از زبان جاوا اسکریپت ایجاد می شوند(مثل Gmail)،هر چه کد های بیشتری را بین سرور و مرورگر به اشتراک بگذاریم می توانیم هزینه تولید وب اپلیکیشن های با کیفیت را کاهش دهیم.

به دلیل این که در مرورگر ما باید به جاوا اسکریپت تکیه کنیم،داشتن محیطی در سمت سرور که از جاوا اسکریپت استفاده کند مانند دری است که به روی اشتراک گذاری کد باز شده است و مشابه آن را در هیچ زبان دیگری از سمت سرور مانند PHP، جاوا، Ruby یا پایتون نداریم.

اگرچه پلتفرم های دیگری هم وجود دارند که از برنامه نویسی وب سرور ها با جاوا اسکریپت پشتیبانی کنند اما پلتفرم Node خیلی سریع تبدیل به پلتفرم برتر در این عرصه شد.

صرف نظر از این که چه چیزهایی را می توانید با فریم ورک Node بسازید،یکی از جنبه های بسیار کارامد آن این است که می توانید ماژول بسیاری را برایش بسازید.

Node بسیار توسعه پذیر است و ماژول های فراوانی از زمان انتشار آن توسط اعضای انجمن و ظرف مدت نسبتا کوتاهی ساخته شده است.

بسیاری از این ماژول ها محرک(driver)هایی هستند که به دیتابیس ها یا نرم افزار های دیگر مرتبط می شوند اما بسیاری از آنها نیز اپلیکیشن های نرم افزاری مفیدی نیز می باشند.

آخرین دلیل برای ارزشمند دانستن Node،انجمن فعال و گسترده ی آن است.

پروژه Node هنوز خیلی جوان است و ما به ندرت چنین محبوبیتی را برای یک پروژه نوظهور دیده ایم.

هم تازه کاران و هم کارشناسان به هم پیوسته اند تا از Node استفاده کرده و همچنین به ارتقای آن کمک کنند که همین امر باعث شده است این انجمن تبدیل به محفلی لذت بخش و حامی شود که هم جایی برای اشتراک گذاری اطلاعات و هم دریافت مشاوره می باشد.

دیدگاه‌ خود را بیان کنید

اشتراک در
اطلاع از
guest

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

0 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها
سبد خرید0
There are no products in the cart!