بدون شک مدت زیادیه اقبال برنامهنویسان وب به سمت فریمورکهایی مثل PHP و ASP.net خیلی بیشتر از فریمورکهای دیگهست. اما آیا واقعا هیچ رقیبی برای این فریمورکها وجود نداره؟ بدون شک اینطور نیست. امروز میخوام یه فریمورک نسبتا جوان ولی انقلابی رو بتون معرفی کنم.
رایان دال چندسال پیش موتور جاوااسکریپت کروم یاهمون V8 رو ویرایش کرد و طوری تغییرش داد که حالا تبدیل به یه فریمورک وب خیلی جدید شده: Nodejs! (بخونید نُدجِیاِس)
خب، قبول. ولی حالا این فریمورک چه چیزایی رو به همراه آورده که ما رو به خودش ترقیب کنه؟ اینجا میخوایم همین رو بررسی کنیم.
خب تا اینجا خیلی از خوبیای ند رو مطرح کردم. اما در ادامه دوتاشون رو بیشتر توضیح خواهم داد.
اول اینکه «چطور ند بدون سیستم چندریسمانی درخواستها رو مدیریت و پاسخدهی میکنه؟» پاسخ توی یه تکنیک برنامهنویسی به نسبت نوین به نام برنامهنویسی Non-blocking نهفتهست. این یعنی هیچ خطی از ند باعث نمیشه اجرای برنامه با تاخیر مواجه شه. اینجوری به نوبت و بدون تاخیر به درخواستها پاسخ داده میشه!
«یعنی چی؟ مگه میشه شما یه فایل رو برای خوندن باز کنی یا به پایگاه داده متصل شی و برنامه متوقف نشه؟»
بله! توی برنامهنویسی کلاسیک ما به برنامه میگفتیم «این فایل رو باز کن و در خط بعد توش فلان رشته رو بنویس» اما حالا توی این برنامهنویسی بش میگیم «این فایل رو باز کن و فعلا برو بقیه درخواستها موندن تو صف! هروقت بازش کردی بم بگو تا بگم چکارش کنی!». اینجوری دیگه برنامهی ما تو هیچ خطی بلوکه نمیشه و میتونه به همهی درخواستها با یه ریسمان پاسخ بده!
«چرا وبسرور در ند نیاز نیست؟»
چون ند یه رویکرد جدید دیگه هم داره! شما در زمان برنامهنویسی PHP یا ASP.net و... یه وبسرور مثل آپاچی رو اجرا میکردید و ازش میخواستید در زمان مناسب برنامهی شما رو برای پاسخگویی اجرا کنه. حالا توی ند شما یه برنامه مینویسید که وبسرور رو اجرا میکنه.
برای اطلاعات بیشتر میتونید به وبسایت ندجیاس و وبسایت فارسی ندجیاس مراجعه کنید.
سلام
تا حالا شده بخواید توی ترمینال لینوکس چت کنید؟! درسته. نرمافزارایی مثل Telegram رابط خط فرمان (CLI) هم دارن و همینطور بعضی از کلاینتهای IRC. ولی منظورم بدون هیچ نرمافزار اضافیه. اونم بدون هیچ سرور واسطی و بصورت نقطه به نقطه...