قهرمانی به نام Nodejs (قسمت اول)

انصافا به سوپر من بیشتر میخوره قابلیتاش
انصافا به سوپر من بیشتر میخوره قابلیتاش

تو این قسمت کلا میخوام در مورد نود جی اس صحبت کنم البته باید بگم این قسمت رو خیلی دوست ندارم چون باید فقط توضیح بدم که چیکار میکنه چرا سریع تره و و و کلا دست به کد نمیشیم :( خب بریم دیگه

نود جی اس چیست؟

نود جی اس یه پلتفرم هست که با موتور V8 گوگل کروم اجرا میشه حالا این v8 داستانش چیه؟ کلا هر مرورگر بزرگی یه موتور اختصاصی برا جاوااسکریپت ساخت که v8 معروف ترینشونه البته من طرفدار فایرفاکسم ولی چیزی هست که باید قبول کرد که v8 الان بهتره!خیلی رو این قسمت مانور نمیدم سریع بریم سراغ ویژگی هاش و چرا اینکه الان تو دنیا ترند هستش :

رویدادهای آسنکرون (Asynchronous Events)

به صورت خیلی ساده یه زبانی مثل php وقتی یوزر میاد وارد وبسایت میشه یه thread ایجاد میکنه و کار هارو انجام میده شما حساب کنید سایتتون روزی پر طرفدار بشه و به ازای هر یوزر یه thread بیار رو سرور اگه 5000 نفر باشن میشن 5000 thread و شما مجبوری سرور رو ارتقا بدی تا کم نیاره ولی تو node اینجوری نیست شما همه کار ها رو به اصطلاح asynchronous یا ناهمگام انجام میدهید و همه کار ها روی thread های بسیار کمتری اجرا میشه یه مثال بسیار ساده تر بخوام بزنم اینکه شما حساب کنید یه قطعه کد php دارید به این صورت :

echo "first";
echo "second";

خب این خیلی سادس اگه اجرا بگیریم اول first چاپ میشه بعدش second ولی جاوا اسکریپت(node) اینجوری نیست و هر دو تا باهم شروع میشن و هر کدوم سریع تر تموم شد! البته اگه بخواید دونه دونه کد هارو الویت بندی کنید نگران نباشید node این قابلیت رو بهتون میده که انتخاب کنید!

جاوااسکریپت

جای اینکه یه زبان دیگه یاد بگیرید و کلی باهاش دست و پنجه نرم کنید که فریم ورک های مختلفش رو یاد بگیرید بیایید یه زبان انتخاب کنید و هم سرور هم کلاینت رو با اون کد بزنید! حتی الان که دارم مینویسم در صنعت رباتیک و اپ موبایل هم به شدت داره با قدرت پیش میره و استفاده میشه پس الان دور دوره جاوااسکریپت هست :)

خیلی دوست ندارم طولانیش کنم... از ویژگی های بیشتر node کلی امکانات دیگه هست که البته مهمترینش و چیزی که node رو از زبان هایی مثل php جدا میکند همان ویژگی Asynchronous هستش که توضیح دادم ! نگران نباشید در مورد توضیح node تا حالا کسی با مطالعه پس زمینه یه زبان برنامه نویسی برنامه نویس نشده! کیبورد هارو گرم کنید برا فردا

پ.ن : دلیلی که این نوع نگارش رو پسندیدم اینه که از حالت خشک و غیر دوستانه اموزش به حالتی فان برسم و بتونم خیلی راحت تر مطالب رو منتقل کنم همچنین دوست نداشتم الان شما رو با فریم ورک هاش اشنا کنم ایشالا اگر شد تو قسمتی که node تموم شده و express شروع شده حتما در مورد فریمورک هاش و تکنولوژی هاش توضیح مفصلی میدم