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

قسمت دوم - معماری نودجی‌اس
قسمت دوم - معماری نودجی‌اس

در قسمت قبل در مورد اینکه نودجی‌اس چی هست، چی کار می‌کنه و چه تاثیری روی دنیای وب داشته صحبت کردیم.تو این قسمت می‌خوام برم سراغ معماری اون و اینکه واقعا چطوری کار می‌کنه؟

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

تبدیل کدهای جاوااسکریپت به کدقابل فهم ماشین توسط موتورهای جستجوی مرورگرها
تبدیل کدهای جاوااسکریپت به کدقابل فهم ماشین توسط موتورهای جستجوی مرورگرها


در این بین هر مرورگر از موتور اجرایی مخصوص به خودش استفاده می‌کرد مثلا بین مرورگرهای معروف ie از chakra، کروم از v8 و فایرفاکس از SpiderMonkey که این موضوع باعث می‌شه گاهی اوقات کدهای جاوااسکریپت تفسیر جداگانه‌ای داشته باشه و نتیجه در مرورگرهای مختلف یکسان نباشه.

برای حل این مشکلات در سال 2009 ، یکی از دولوپرهای شرکت گوگل به نام Ryan Dahl سریع‌ترین موتور تحلیل‌گر جاوااسکریپت یعنی موتور v8 گوگل رو با یک پروژه c++ ادغام کرد و اسم اون پروژه رو Node.exe گذاشت.

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



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

ولی مقایسه نودجی‌اس با زبان‌های برنامه نویسی مثل PHP یا فریم‌ورک‌های مختلف مثل Django یا ASP.NET یک کار کاملا اشتباهه، چون نودجی‌اس نه یک زبان برنامه‌نویسی و نه یک فریم‌ورکه.

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


میدونم این جمله رو خیلی تکرار کردم، ولی حس می‌کنم واقعا همین‌قدر به تکرارش نیاز بود. ببخشید??

تو قسمت بعدی در مورد Globalها در نودجی‌اس صحبت می‌کنیم.