مقدمه
Node.js یک محیط اجرای جاوا اسکریپت منبع باز و کراس پلتفرم است که به توسعه دهندگان این امکان را می دهد تا با استفاده از جاوا اسکریپت برنامه های فرانت اند و بک اند ایجاد کنند. در سال 2009 توسط رایان دال منتشر شد.در این مقاله با Node.js آشنا می شوید و موارد زیر را یاد خواهید گرفت:
- Node.js چیست؟
- تفاوت محیط Node.js با مرورگر.
- چرا باید Node.js را یاد بگیرید.
- چگونه با Node.js شروع کنیم.
- منابعی برای کمک به یادگیری Node.js.
Node.js چیست؟
Node.js یک محیط اجرای جاوا اسکریپت منبع باز و کراس پلتفرم است به نظر می رسد این یک پاسخ ساده و ساده است. اما برای یک مبتدی، این تعریف ممکن است سوالات بیشتری را ایجاد کند. پس بیایید آن را تجزیه کنیم و معنی آن را بفهمیم.
- Node.js منبع باز است: این بدان معناست که کد منبع Node.js به صورت عمومی در دسترس است. و توسط مشارکت کنندگان از سراسر جهان نگهداری می شود. راهنمای مشارکت Node.js به شما نشان می دهد که چگونه مشارکت کنید.
- Node.js کراس پلتفرم است: Node.js به هیچ نرم افزار سیستم عاملی وابسته نیست. می تواند روی لینوکس، macOS یا ویندوز کار کند.
- Node.js یک محیط زمان اجرا جاوا اسکریپت است: وقتی کد جاوا اسکریپت را در ویرایشگر متن خود می نویسید، آن کد نمی تواند هیچ کاری را انجام دهد مگر اینکه آن را اجرا کنید (یا اجرا کنید). و برای اجرای کد خود به یک محیط زمان اجرا نیاز دارید.
مرورگرهایی مانند کروم و فایرفاکس دارای محیط های زمان اجرا هستند. به همین دلیل است که می توانند کد جاوا اسکریپت را اجرا کنند. قبل از ایجاد Node.js، جاوا اسکریپت فقط می توانست در یک مرورگر اجرا شود. و از آن فقط برای ساخت برنامه های فرانت اند استفاده می شد.
Node.js یک محیط زمان اجرا خارج از مرورگر فراهم می کند. همچنین بر روی موتور جاوا اسکریپت کروم V8 ساخته شده است. این امکان ایجاد برنامه های کاربردی با استفاده از همان زبان برنامه نویسی جاوا اسکریپت را می دهد که ممکن است با آن آشنا باشید.
تفاوت بین محیط های اجرا مرورگر و Node.js
هر دو مرورگر و Node.js قادر به اجرای برنامه های جاوا اسکریپت هستند. اما چند تفاوت کلیدی وجود دارد که باید بدانید. آنها شامل موارد زیر هستند.
دسترسی به API های DOM
با استفاده از اجرای مرورگر، می توانید به Document Object Model (DOM) دسترسی داشته باشید. و می توانید تمام عملیات DOM را انجام دهید. اما Node.js به DOM دسترسی ندارد.
Node.js تقریباً تمام منابع سیستم را در معرض برنامه های شما قرار می دهد. این بدان معنی است که شما می توانید با سیستم عامل تعامل داشته باشید، به سیستم های فایل دسترسی داشته باشید و فایل ها را بخوانید و بنویسید. اما، شما از طریق مرورگر به سیستم عامل ها و سیستم های فایل دسترسی ندارید.
پنجره در مقابل شی جهانی
جاوا اسکریپت دارای یک شی جهانی داخلی است. شیء جهانی جاوا اسکریپت برای مرورگر، شی پنجره نامیده می شود. در Node.js، شیء جهانی با نام global شناخته می شود.شی پنجره حاوی متدها و خواصی است که فقط در محیط مرورگر موجود است.
کنترل نسخه های زمان اجرا
با Node.js می توانید انتخاب کنید که برنامه سمت سرور خود را در کدام نسخه اجرا کنید. در نتیجه، میتوانید از ویژگیهای جاوا اسکریپت مدرن بدون نگرانی در مورد ناهماهنگیهای خاص نسخه استفاده کنید.این را با محیط زمان اجرا مرورگر مقایسه کنید. به عنوان یک توسعه دهنده، شما هیچ کنترلی بر نسخه مرورگرهایی که مشتریان شما برای دسترسی به برنامه شما استفاده می کنند، ندارید.
بارگیری ماژول ها (واردات در مقابل نیاز به کلمات کلیدی)
Node.js پشتیبانی خارج از جعبه برای ماژول های CommonJS و ES ارائه می دهد. شما می توانید ماژول ها را با استفاده از کلمه کلیدی مورد نیاز (Syntax CommonJS) و کلمه کلیدی import (Syntax ES) بارگیری کنید.برخی از مرورگرهای مدرن از ماژول های ES پشتیبانی می کنند. این بدان معنی است که می توانید از ماژول های وارداتی ES استفاده کنید. اما همچنان باید بستههایی ایجاد کنید تا به مرورگرهای قدیمیتری که از ماژولهای ES پشتیبانی نمیکنند پاسخ دهید.
برای شروع کار با Node به چه مقدار جاوا اسکریپت نیاز دارید؟
اگر شما یک مبتدی مطلق برای جاوا اسکریپت هستید، توصیه می کنم که از اصول اولیه شروع کنید.ابتدا با مفاهیم پایه جاوا اسکریپت آشنا شوید. سپس، می توانید به یادگیری ساخت برنامه های سمت سرور با Node.js بروید.هیچ راهی وجود ندارد که بتوانید همه چیز را برای یادگیری در مورد جاوا اسکریپت تمام کنید. بنابراین، چگونه تعیین کنید که چه زمانی جاوا اسکریپت کافی برای شروع با Node.js می دانید؟مستندات Nodejs.dev فهرستی از موضوعات جاوا اسکریپت را برای یادگیری قبل از غواصی عمیق با Node.js ارائه می دهد.هنگامی که به اصول اولیه جاوا اسکریپت پی بردید، می توانید با Node.js شروع کنید.
آیا باید Node.js را یاد بگیرید؟
در اینجا دلایلی وجود دارد که چرا باید Node.js را یاد بگیرید
Node.js به شما امکان می دهد جاوا اسکریپت را هم روی کلاینت و هم روی سرور بنویسید.
یکی از مزیتهای Node.js این است که به شما امکان میدهد هم بر روی front-end و هم در back-end برنامه خود کار کنید. و برای این کار از یک زبان برنامه نویسی – جاوا اسکریپت – استفاده می کنید.
این خبر خوبی برای توسعه دهندگان فرانت اند است که با جاوا اسکریپت کار می کنند. اگر می خواهید کار در سمت سرور را شروع کنید، در مقایسه با یادگیری یک زبان پشتیبان جدید از ابتدا آسان تر است.
Node یک جامعه پر جنب و جوش دارد.
همانطور که قبلا در مقاله اشاره کردم، Node.js منبع باز است. به طور فعال توسط توسعه دهندگان از سراسر جهان نگهداری می شود.
یک جامعه پر جنب و جوش در اطراف Node.js وجود دارد. وقتی گیر می کنید می توانید آموزش ها و راه حل های عالی برای مشکلات پیدا کنید.
Node بر روی موتور V8 گوگل کروم ساخته شده است.
Node.js بر روی موتور جاوا اسکریپت کروم V8 ساخته شده است. این مهم است زیرا موتور V8 برخی از برنامههای کاربردی درون مرورگر Google مانند Gmail را تامین میکند. به این ترتیب، گوگل سرمایه گذاری زیادی می کند تا مطمئن شود عملکرد بالایی ارائه می دهد.
تقاضا در بازار
بسیاری از نامهای بزرگ مانند Netflix، Uber، Paypal و LinkedIn و دیگران از Node.js استفاده میکنند. به غیر از نام های بزرگ، بسیاری از استارت آپ ها نیز از Node.js در توسعه برنامه های خود استفاده می کنند.
یادگیری کار با Node.js شما را به یک کاندیدای مطلوب در بازار کار تبدیل می کند.
کتابخانه NPM
کتابخانه NPM یکی از منابع عالی است که با Node.js ارائه می شود. کتابخانه شامل رجیستری از بیش از یک میلیون بسته است. بسته یک قطعه کد قابل استفاده مجدد است.
می توانید یک بسته برای یک کار یا مشکل تکرار شونده ایجاد کنید و کد را از طریق رجیستری با دیگران به اشتراک بگذارید.
همچنین می توانید بسته هایی را که دیگران به اشتراک گذاشته اند دانلود کنید. برای بسیاری از وظایفی که توسعه دهندگان به طور منظم انجام می دهند، بسته هایی برای آن وجود دارد.
نتیجه
یک پست وبلاگ مانند این برای یادگیری همه چیزهایی که در مورد Node.js باید بدانید کافی نیست. هدف از این مقاله ارائه یک دید کلی از Node.js بود. اگر مطمئن نبودید که Node.js چیست، امیدوارم این مقاله به نگرانیهای شما پاسخ دهد و سردرگمی شما را برطرف کند.