NodeJSda ko'd yozganingizda, orqa tomonida nimalar ishga tushishiga hech qiziqib ko'rganmisiz? Keling, shu haqida gaplashamiz.
JavaScriptda kod yozib, uni command lineda run qilganimizda NodeJSga runtimeni chaqiramiz. Bu runtime esa ikkita bir-biridan mustaqil libuv va v8 bog'liqliklaridan tashkil topgan.
Pastdagi rasmga qarab NodeJS bularga qanday bog'langanini ko'rishingiz mumkin.
V8 - bu Google tomonidan yaratilgan open-source loyiha. Bu loyihaning asosiy maqsadi - JS kodimizni browserdan tashqarida run qilib berish.
Libuv - Nodeda yozgan kodimiz orqali operatsion tizimimizga, tarmoqqa va fayllarga murojaat qilish imkonini beruvchi C++ da yozilgan open-source loyiha.
Agar biz tog'ridan-tog'ri libuv va v8 ga murojaat qila olsak, NodeJS bizga nimaga kerak deb so'rashingiz mumkin. Bular asosan C++ da yozilgani uchun, JavaScript dasturchisi sifatida C++ da kod yozishingiz g'alati holat. Siz yozgan kodingiz ishlab, kerakli natija berishini istaysiz. NodeJSni asosiy maqsadlaridan biri - biz JSda yozayotgan kodimizni C++ bilan bog'lab berish, kompilyatsiya qilib uni yurgazish uchun interfeys vazifasini o'tab berish.
Nodeni yana bir vazifalaridan biri - loyihamizda ishlatishimiz uchun tayyor APIlarni ta'minlab berish. Misol uchun: NodeJS ichida http, fs, path va crypto kabi modullar bor. Bularning barchasi libuv loyihasiga tegishli va JavaScript orqali C++ da yozilgan kodlarga tog'ridan-tog'ri murojaat yo'llay olmaymiz. Shuning uchun, NodeJSdagi tayyor funksiyalarni chaqirib, bu holatdan havotir olmasdan ishlashimiz mumkin bo'ladi.
@mabrur_dev
Post #1725
3.65K