واقعا «Node.js» رو یاد داریم؟ - قسمت اول - نودجی‌اس چیست؟

قسمت اول - نودجی‌اس چیست؟
قسمت اول - نودجی‌اس چیست؟

همونطور که تو مقدمه گفته بودم تو این قسمت می‌خوام در مورد اینکه نودجی‌اس چیه و چی کار می‌کنه صحبت کنیم.

به نظر من بهترین و کاملترین تعریف از نود تعریف خود سایتشه:

Node.js is an open-source, cross-platform JavaScript run-time environment that executes JavaScript code

طبق تعریف خودش نودجی‌اس نه فریم ورکه نه یک زبان برنامه نویسی بلکه تنها یک محیط اجرایی برای اجرای کدهای جاوااسکریپت خارج از محیط مرورگره.

بیشترین موارد استفاده از نودجی‌اس مربوط به نوشتن API که باعث میشه توسعه دهنده های سمت کلاینت بتونن به اطلاعات دسترسی داشته باشن و از اون‌ها استفاده کنن.

استفاده از نودجی‌اس به عنوان سرویس بکند
استفاده از نودجی‌اس به عنوان سرویس بکند

حالا ممکنه این سوال پیش بیاد که خوب زبان‌های برنامه نویسی یا فریم ورک های زیادی مث Django,Ruby on Rails,ASP.NET,PHP و ... هستش که همین قابلیت رو داره، پس چرا باید برم سراغ نودجی‌اس و از اون استفاده کنم؟؟ من بهتون میگم چرا

  • شروع کار با نودجی‌اس خیلی راحته و برای prototyping و همینطور برای تیم‌هایی که به صورت agile کار توسعه رو انجام میدن خیلی مناسبه.
  • سرعت اجرای بالایی داره و برای پروژه‌های با scale بالا یکی از بهترین انتخاب‌ها میتونه باشه.همونطور که Paypal,Uber,Nexflix و خیلی تیم‌های بزرگ دیگه از اون دارن استفاده میکنن.

برای نمونه Paypal یکی از سیستم‌های قدیمیش که با ASP.NET نوشته شده بود رو با نودجی‌اس بازنویسی کرد و نتایج خوبی هم گرفت.


نتایج ریفکتور کردن PayPal با نودجی‌اس
نتایج ریفکتور کردن PayPal با نودجی‌اس
  1. اونا تونستن با تعداد نیروی کمتر و سرعت بیشتری سیستم رو توسعه بدن.
  2. 33 درصد از خط‌های کد و 40 درصد از فایل‌های روی سرور رو کم کنن.
  3. و از همه مهم‌تر در زمان مشابه دوبار درخواست‌هایی که به سیستم وارد میشه رو پاسخ بدن و زمان پاسخگویی به APIها رو تا 35 درصد کاهش بدن.
  • مزیت بعدی نودجی‌اس استفاده کامل از زبان جاوااسکریپت هست.شما اگر یه توسعه دهنده فرانت‌اند باشید مسلما خیلی خوب با جاوااسکریپت آشنا هستین و می‌تونید با نودجی‌اس از تخصص خودتون در بکند هم استفاده کنید.دیگه نیازی نیست زبان برنامه نویسی جدیدی رو یاد بگیرید.
    علاوه بر‌این چون همه جا از جاوااسکریپت استفاده میشه کد شما تمیزتر،خواناتر و قابلیت دیباگ سریع‌تری داره.
  • دلیل آخر استفاده از نودجی‌اس جامعه بزرگ برنامه نویس‌های اون و وجود کتابخانه‌های اوپن سورس زیاده.هرچیزی که شما به ذهنتون برسه و بخواید به پروژتون اضافه کنید حتما یه کتابخونه براش وجود داره.
    بنابراین نیاز نیست برای خیلی از اصول اولیه و مفاهیم پایه‌ای خودتون کد بزنید و می‌تونید تمرکزتون رو بذارید روی هسته اصلی business plan خودتون.

خوب فکر میکنم تا حدی درباره اینکه نودجی‌اس چیه و مزیت‌هاش نسبت به بقیه زبان‌ها چیه صحبت کردیم.تو قسمت بعدی (لینک) درباره معماری نودجی‌اس صحبت می‌کنیم.