- آموزش طراحی وب - http://www.iranweblearn.com -

نیم نگاهی به NodeJS و معرفی یک کتاب خوب

NodeLearning

شما به احتمال زیاد دانش کافی کار با HTML و CSS دارید، و احتمالا تجربه کار با جاوا اسکریپت را هم دارید. اینها مهارت هایی هستند که امروزه توسعه دهنده های مدرن به آنها نیاز دارند تا بتوانند وب سایت های قدرتمند ایجاد کنند.

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

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

 ۱) تجربه ای متفاوت در راهندازی سرور

اگر از قبل با زبان های برنامه نویسی مثل PHP آشنایی دارید، میدانید که در این زبان به طور معمول سرور شما می‌تواند Apache و یا nGinX باشد (و یا ترکیبی از هردو). به زبان دیگر یعنی همه چیز به طور پکیج آماده شده و فقط نیاز به پیکربندی دارد.

خب، چه چیزی از این بهتر ؟! اما نه. در NodeJS همه چیز بر عهده خودتان است هرچند در دید اول موقع خواندن این مطلب شبیه به یک ضعف است اما اینطور نیست. درواقع آزادی عمل در پیکربندی سرور به شما قدرت بیشتری در مدیریت کارها و کاهش هزینه می‌دهد.

برخلاف PHP که درخواست های زیاد منجر به فشار زیادتر می شود و تنها راه اجاره سرورهای قدرتمند تر است، در NodeJS هسته سرور در اختیار شماست !

۲) برنامه نویسی ناهمگام

در مورد قبل کمی اشاره کردم که در PHP درخواست بیشتر به معنای اجاره کردن سرور قدرتمند تر است. اما در nodeJS پردازش های سنگین منجر به بلوکه کردن کل سیستم نمی شود و NodeJS می تواند با استفاده از رویداد Event-Loop آهنگ اجرای عملیات را مدیریت کند. در نتیجه راندمان اجرای دستورات به طرز چشمگیری افزایش پیدا می کند و با اجاره سرورهایی به مراتب ضعیف تر هزینه ها نیز کاهش پیدا می کند.

۳) NodeJS حد و مرزی ندارد !

البته این ویژگی تنها به لطف NodeJS نیست بلکه ذات جاوا اسکریپت بدون حد و مرز است، بنابر این با ابزار هایی مثل الکترون [1] (که به شخصه بسیار به آن علاقه مندم) می توانید NodeJS و تمامی پکیج های آن را به دسکتاپ ببرید. برای من این قابلیت حس استفاده از WPF [2] را القا میکند؛ هرچند با امکانات کمتر اما پیاده سازی رابط کاربری برای نرم افزار به این روش بسیار شیرین است. حتی برخی از ابزار های پیشرفته مثل Gulp [3] به نحوی از قدرت NodeJS بهره می‌گیرند.

از کجا شروع کنیم ؟

The Node Beginner

نقطه شروع در یادگیری هر چیزی بسیار مهم است. اگر روند یادگیری شتاب مناسبی نداشته و از سادگی کافی برخوردار نباشد قطعا به شکست منجر می‌شود. طبیعتا یکی از منابع خوب برای یادگیری هر چیزی مراجعه به مستندات آن [4] است. البته منبع فارسی NodeJS [5] هم آموزش های خوبی دارد.

اما به تازگی ترجمه کتاب [6] بسیار خوب The Node Beginner [7] منتشر شده که به نظرم آمد خواندن آن در ایام عید می تواند مفید باشد. البته نباید انتظار داشت که این کتاب “همه چیز” را به شما یاد بدهد. بلکه هدف کلی این کتاب آشنا کردن شما با توسعه نرم‌افزار به‌وسیله NodeJS است، در طول این آموزش، مباحث موردنیاز برای درک برنامه‌نویسی پیشرفته “جاوااسکریپت” را فرا خواهید گرفت.

این کتاب، مقدمه ای خواهد بود برای درک آنچه که قصد دارم در جلسات آینده به شما یاد بدهم؛ من سعی کردم منبعی را انتخاب کنم که از تکرار موارد ساده پرهیز کرده و زودتر به مباحث تخصصی اشاره کنم.

امیدوارم از خواندن این کتاب لذت ببرید.