Node.js دقیقاً چیست؟ «یک راهنمای جامع برای مبتدیان»
اگر در حال مطالعه این مقاله با هدف رسیدن به پاسخ سؤال «نود جی اس چیست» هستید قطعاً با برنامهنویسی به زبان جاوا اسکریپت آشنایی دارید. در این صورت به احتمال زیاد برنامهنویسی با این زبان را هم میدانید و میخواهید وارد مباحث پیشرفتهتر شوید. در این صورت این نوشته بهترین راهنما برای شما خواهد بود. پس ادامه مطلب را از دست ندهید.
Node.js به توسعه دهندگان این امکان را میدهد تا با استفاده از جاوا اسکریپت پروژههای فرانتاند و بکاند را بدون نیاز به ابزار اضافی انجام دهند. در حقیقت این پلتفرم یک فریمورک فولاستک از جاوا اسکریپت است. این فریمورک در سال ۲۰۰۹ توسط فردی به نام Ryan Dahl منتشر شد.
نود جی اس چیست؟
در مورد این که Node.js چیست و برای چه متولد شده است صحبت کردیم. اما شاید نتوانسته باشیم درک کامل از موضوع ارائه دهیم. سایت منبع نود جی اس در مورد آن تعریف زیر را ارائه میدهد. «Node.js یک فریمورک زمان اجرا، متنباز و چند سکویی از Javascript است.»
اگر اطلاعات کافی در مورد برنامهنویسی و اصطلاحات آن دارید یا فردی حرفهای در این زمینه هستید تعریف بالا را به راحتی درک خواهید کرد. ولی چنین تعریفی برای یک فرد مبتدی مناسب به نظر نمیرسد. به همین دلیل در ابتدای این بخش باید با چند کلید واژه آشنا شوید.
- فریمورک: فریمورکها نرمافزارهایی هستند که برای تسهیل تولید برنامه برای پلتفرم یا کارکرد خاصی به کمک زبان مولد ساخته میشوند. بهعنوان مثال جاوا اسکریپت یک زبان اسکریپتنویسی است و بیشتر برای برنامهنویسی فرانتاند سایتها به کار میرود. در حالی که با متولد شدن ابزاری به نام نودجیاس قادر هستیم برای بکاند نیز برنامهنویسی کنیم. فریمورک های جاوا اسکریپت متعددی هم اکنون موجود هستند.
- متنباز: به برنامههایی که سورس اصلی آن در اختیار عموم متخصصان قرار میگیرد تا هر کس به نوبه خود بتواند آن را توسعه و بهبود بخشد برنامه متنباز میگوییم. این ویژگی به تولید کننده نرمافزار این امکان را میدهد که بتواند از تجربیات و تخصص افراد زیادی در سراسر جهان استفاده کند. نتیجه کار ابزاری قدرتمند و قابل اطمینان مانند Nodejs است.
- چند سکویی: Nod js برای اجرا شدن محدود به یک سیستمعامل خاص نیست. یعنی در تمام سیستمعاملها از جمله لینوکس، مک و ویندوز اجرا میشود. با این اوصاف میتوانید دلیل محبوبیت آن را بیشتر درک کنید.
- زمان اجرا: وقتی یک برنامه با نود جی اس نوشته میشود، کد آن در IDE قابل اجرا نیست. یعنی در محیط کدنویسی نمیتوان خروجی آن را دریافت کرد. برای اجرای آن باید از یک محیط متفاوت استفاده شود. این محیط برای نود جی اس، مرورگر اینترنت خواهد بود.
قبل از معرفی Nodejs برنامهنویسان جاوا اسکریپت تنها قادر به ساخت بخش فرانتاند سایت بودند. همچنین فقط در مرورگرهای مطرح مانند گوگل کروم و فایرفاکس امکان اجرای آن را داشتیم. با ورود نودجیاس به دنیای توسعه وب وابستگی جاوا اسکریپت به مرورگرها برای اجرا شدن از بین رفت. به این ترتیب برنامهنویسی برای بکاند نیز با این زبان ممکن شد.
جالب است بدانید فریمورکهای زیادی برای توسعه وب وجود دارند. هر فریمورک بر اساس زبان برنامهنویسی خاصی ساخته شده است. برخی از موارد مطرح و پرطرفدار عبارتاند از:
- فریمورک جنگو بر پایه زبان پایتون
- فریمورک نودجیاس بر پایه زبان جاوا اسکریپت
- فریمورک لاراول بر پایه زبان پیاچپی
پیشنهاد مطالعه: فیلتر در جاوا اسکریپت: بیان ساده + مثال عملی
تفاوت Node.js و مرورگر در اجرای کد جاوا اسکریپت
مرورگر و نودجیاس هر دو قادر به اجرای کدهای جاوا اسکریپت هستند. اما چند تفاوت کلید میان آنها وجود دارد که در ادامه توضیح میدهیم.
دسترسی به APIهای DOM با مرورگر
وقتی برنامه خود را در مرورگر اجرا میکنید به «Document Object Model» یا همان DOM در جاوا اسکریپت دسترسی کامل دارید و در صورتی که نود جی اس این امکان را به شما نمیدهد. در عوض Node.js تمام منابع سختافزاری سیستمتان را در خدمت برنامه نوشته شده با جاوا اسکریپت قرار میدهد. مزیت این فریمورک تعامل بهتر و قویتر با سیستمعامل است.
آبجکت سراسری در نودجیاس
Node.js برای این که بتواند با ویندوز در تعامل باشد از یک آبجکت به نام window object بهره میبرد. این آبجکت شامل متدها و ویژگیهایی است که فقط در مرورگرها وجود دارند. در واقع کامپیوتر شما تبدیل به یک مرورگر میشود.
کنترل نسخه در زمان اجرا
با Node.js میتوانید انتخاب کنید که کد شما با کدام نسخه از برنامه سمت سرور اجرا شود. با این قابلیت میتوانید نحوه اجرا و خطاهای احتمالی در نسخههای مختلف از مرورگرها را بررسی و رفع کنید. در نتیجه قبل از این که برنامه شما هنگام اجرا توسط کاربرد دچار خطا شود مشکل برطرف خواهد شد. در حقیقت با این ویژگی قدرت مانور بیشتری برای خطایابی دارید. خطایابی از سختترین بخشهای برنامهنویسی است که توسط نود جی اس تا حد زیادی آسان و سریع شده است.
امکان استفاده از ماژولهای ES و CommonJS
مرورگرها برای اجاری کدهای جاوا اسکریپت یکی از ماژولهای ES و CommonJS را استفاده میکنند. CommonJS یک ماژول قدیمی و منسوخ شده است. اما برخی در مرورگرها همچنان از آن استفاده میشود. پس اگر برنامهای میسازید که میخواهید در تمام مرورگرها اجرا شود باید بتوانید این دو ماژول را در کنار هم داشته باشید. نود جی اس چنین امکانی را فراهم کرده است.
پیشنیاز شروع کار با نود جی اس چیست؟
اگر هیچ چیز از جاوا اسکریپت نمیدانید و قصد یادگیری Node.js را دارید دست نگه دارید. تنها پیشنیاز اصلی نود جی اس زبان جاوا اسکریپت است. بهتر است با اصول و مفاهیم پایه جاوا اسکریپت آشنا باشید. این که بخواهیم تعیین کنیم چه سطحی از جاوا اسکریپت برای شروع کار با Nodejs کافی است کار منطقی به نظر نمیرسد. اما بهتر است به اندازهای باشد که در روند یادگیری دچار مشکل نشوید.
البته باید در نظر داشته باشید که توسعه وب در هر دو بخش فرانتاند و بکاند تا حد زیادی وابسته به طراحی سایت است. طراحی و پیادهسازی قالب سایت به کمک ابزارهایی مانند html و css انجام میشود. از این رو اگر آشنایی نسبی این موارد هم داشته باشید خالی از لطف نخواهد بود. همچنین لازم است با مفاهیم و اصطلاحات اولیه شبکه نیز آشنا باشید. اجباری در این زمینه نیست. ولی داشتن دانش در این زمینه نیز کمک حال شما در یادگیری بهتر خواهد بود.
شروع کار با Node.js
در ادامه آموزش node.js رایگان برای افراد مبتدی و در تکمیل مبحث Node.js چیست به بخش اصلی و آموزش کار با این پلتفرم رسیدیم. برای شروع باید وارد سایت نود جی اس شده و فایل نصبی آن را دانلود کنید. پس از ورود به سایت از منوی آن به بخش Download بروید. در این صفحه میتوانید طبق نیاز خود یک فیلتر اعمال کنید تا لینک نسخه موردنظرتان در اختیارتان قرار گیرد.
سه فیلتر برای دانلود پکیج نود جی اس وجود دارد. برای اعمال این فیلترها ۳ کادر کشویی میبینید. کادر اول مربوط به ورژن خود نرمافزار است.
در کادر بعدی میتوانید سیستمعامل خود را انتخاب کنید. منظور سیستمعاملی است که توسعه دهنده قصد تولید نرمافزار خود را در آن دارد.
در کارد سوم نیز میتوانید مشخص کنید که سختافزار سیستم شما از چه معماری پشتیبانی میکند.
پس از اعمال فیلترهای مورد نظر یک لینک دانلود میبیند که دقیقاً زیر کادرها قرار دارد. با کلید روی آن میتوانید فرایند دانلود را شروع کنید. پس از دانلود نیز یک فایل نصبی دریافت میشود. برای نصب node.js روی سیستم خود کافی است این فایل را اجرا کنید. مراحل نصب پیچیدگی خاصی ندارد و مانند هر نرمافزار دیگری با چند کلیک نصب میشود.
پس از نصب میتوانید ورژن نود جی اس نصب شده را کنترل کنید. برای این کار باید وارد خط فرمان مربوط به سیستم عامل خود شوید. در ویندوز با جستجوی عبارت CMD به خط فرمان دسترسی خواهید داشت. در محیط CMD دستور زیر را وارد کرده و Enter را بزنید. خروجی چیزی شبیه به تصویر زیر است.
آموزش اجرای Nod js در خط فرمان
حال که میدانیم نود جی اس چیست و توانستیم آن را روی سیستم خود نصب کنیم نوبت آن رسیده که یک برنامه ساده و ابتدایی بسازیم. بهتر است کدنویسی و دریافت خروجی از نود جی اس را در یک محیط زمان اجرا به صورت حرفهای تجربه کنید. اما از آنجایی که این آموزش برای افرادی مبتدی طراحی شده میخواهیم یک روش ساده و ابتدایی را برای شروع مورد آزمایش قرار دهیم.
قرار است یک برنامه Hello World بسازیم. برای این منظور یک پوشه جدید ایجاد نام آن را my-project بگذارید. داخل این پوشه یک فایل با نام app.js بسازید. توجه داشته باشید js پسوند فایل است. حال میتوانید فایل خود را در یک IDE اجرا کنید. آن را اجرا و کد زیر را داخل آن بنویسید. در نهایت فایل را ذخیره کنید.
برای اجرای برنامه وارد Command Line شده و کد زیر را وارد کنید.
node app.js
خروجی برنامه به شکل زیر خواهد بود.
تبریک میگویم. به همین سادگی یک برنامه قابل اجرا با Nodejs نوشتید.
پیشنهاد مطالعه: آموزش تست نویسی جاوا اسکریپت به زبان ساده
کاربرد نود جی اس چیست؟
Node.js به شما امکان میدهد کدهای جاوا اسکریپت هم روی کلاینت و هم روی سرور قابل اجرا باشند. مزیت اصلی و بسیار جذاب نود جی اس این است که با یادگیری آن تبدیل به یک برنامهنویس فولاستک خواهید شد. به این معنی که شما میتوانید با این پلتفرم برنامهنویسی بکاند و فرانتاند را به صورت مستقل از هر زبان دیگری انجام دهید.
این ویژگی میتواند خبر خوبی برای افرادی باشد که در حال حاضر برنامهنویس فرانتاند به زبان جاوا اسکریپت هستند. این اشخاص اگر بخواهند سمت سرور را هم یاد بگیرند نیاز به یادگیری زبان جدید نخواهند داشت. یادگیری نود جی اس برای یک چنی شخصی نسبت به یادگیری زبان جدید سریعتر و آسانتر است.
دلایل استفاده از نود جی اس چیست؟
اشاره کردیم که نود جی اس یک فریمورک متن باز است؛ بنابراین افراد زیادی از سراسر جهان به سورس آن دسترسی دارند. با در نظر گرفتن این دسترسی جهانی میتوان نتیجه گرفت که نود جی اس در یک جامعه یا شاید بتوان گفت اکوسیستم توسعه بسیار بزرگی قرار گرفته است. علاوه بر این افراد زیادی این پلتفرم را آموزش میدهند. از این رو اگر قصد یادگیری آن را دارید هیچ نگرانی از نظر رفع مشکلات نخواهید داشت.
یکی از دلایل محبوبیت جهانی Node.js این است که این نرمافزار بر پایه موتور V8 گوگل کروم ساخته شده است. این نشان میدهد که شرکت گوگل سرمایه گذاری بزرگی روی آن انجام داده و آن را حمایت میکند. در نتیجه میتوان با اطمینان از آن استفاده کرد. یعنی قرار نیست پشتیبانی، توسعه و ارتقای آن متوقف شود. پس اگر کار با آن را بدانید یک مهارت بدون انقضا دارید.
به علاوه نام نود جی اس را در کنار نامهای تجاری بزرگی مانند Netflix، Paypal، LinkedIn و Uber دیده میشود. حتی شرکتهای استارت آپی زیادی هم هستند که از این فریمورک استفاده میکنند. استفاده گسترده از آن در سایتهای ایرانی را هم نمیتواند نادیده گرفت. بر اساس دلایل ذکر شده با یادگیری این پلتفرم فرصتهای شغلی بسیار زیادی در ایران و حتی خارج از ایران در اختیار شما خواهند بود.
حرف آخر
طراحی سایت و توسعه نرمافزار برای وب از مهارتهایی هستند که در سالهای اخیر متقاضیان زیادی پیدا کردهاند. زبانهای برنامهنویسی مختلفی برای توسعه وب وجود دارند که هر کدام میتواند مزایا و معایبی داشته باشند. یکی از زبانهای برنامهنویسی برای وب جاوا اسکریپت نام دارد.
جاوا اسکریپت برای برنامهنویسی فرانتاند ساخته شده است. اما از سال ۲۰۰۹ با تولد نود جی اس امکان توسعه بکاند نیز برای آن فراهم شد. در این مقاله تلاش کردیم تمام چیزهایی که یک فرد مبتدی و ناآشنا برای یادگیری این فریمورک نیاز دارد را آموزش دهیم. برای آشنایی بیشتر و یادگیری این ابزار به صورت تخصصی میتوانید به آکادمی آموزش مجازی مکتب خونه مراجعه کنید.
پیشنهاد مطالعه: آموزش جاوا اسکریپت در وردپرس؛ صفر تا صد
آموزش Node.js در مکتب خونه
مکتب خونه یک آکادمی آموزش مجازی است که در سال ۱۳۹۰ تأسیس شد. در طی این سالها توانستیم هزاران آموزش و دوره حرفهای و باکیفیت تولید و در اختیار کاربران خود قرار دهیم. از آنجایی که رسالت ما آموزش مجازی است و نود جی اس از ابزارهایی است که در ایجاد این پلتفرم کمک زیادی به ما میکند، دورههای تخصصی این مبحث را با دقت و وسواس بیشتری طراحی کردیم.
اگر در یکی از دورههای آموزش نود جی اس در مکتب خونه شرکت کنید خدمات آموزش زیر را به شکلی کاملاً حرفهای دریافت خواهید کرد.
- گواهینامه معتبر مکتب خونه
- خدمات منتورینگ
- پشتیبانی و پاسخگویی سریع
- تسهیل استخدام
- تالار گفتگو
همچنین در مکتب خونه انواع دوره آموزش جاوا اسکریپت و آموزش برنامه نویسی به عنوان مکمل و پیش نیاز آموزش نود جی اس موجود است.