Hordhaca Node.js: Waa Maxay Node.js?
Markaynu ka hadlayno horumarinta mareegaha (Web Development), magaca ugu horeeya ee maskaxda dad badan ku soo dhaca dhanka backend-ka waa Node.js. Node.js ma aha luuqad barnaamij (programming language), balse waa deegaan lagu socodsiiyo JavaScript (Runtime Environment) kaas oo ka baxsan biraawsarka (browser). Waxaa markii ugu horreysay abuuray Ryan Dahl sannadkii 2009, isagoo isticmaalaya matoorka awoodda badan ee Google Chrome V8 JavaScript Engine.
Ka hor intaan Node.js imaan, JavaScript waxaa loo isticmaali jiray oo kaliya dhanka macmiilka (Client-side) si loogu qurxiyo mareegaha. Laakiin Node.js wuxuu suuragaliyay in JavaScript lagu qoro dhanka server-ka (Server-side). Tani waxay horseedday kacdoon weyn oo dhanka tignoolajiyada ah, waayo hadda horumariyayaashu (developers) waxay isticmaali karaan hal luuqad si ay u dhisaan dhammaan qaybaha app-ka (Full-stack Development).
Sidee u Shaqeeyaa Node.js? (The Event Loop)
Mid ka mid ah sababaha Node.js u noqday mid aad caan u ah waa qaabka uu u shaqeeyo oo ah "Asynchronous and Event-driven". Luuqadaha kale ee backend-ka sida PHP ama Java waxay u shaqeeyaan qaab "Multi-threaded", taas oo macnaheedu yahay codsi kasta (request) oo cusub wuxuu u baahan yahay qayb ka mid ah xusuusta (RAM) iyo thread gooni ah. Haddii codsiyadu bataan, server-ka wuxuu bilaabaa inuu gaabiyo ama istaago.
Node.js wuxuu isticmaalaa "Single-threaded Event Loop". Tani waxay ka dhigan tahay inuu hal mar gacanta ku hayn karo kumanaan codsi isagoon xidhin (block) qulqulka xogta. Marka uu codsi yimaado, Node.js wuxuu u gudbiyaa Event Loop-ka, haddii codsigaas u baahan yahay waqti (sida inuu xog ka keeno Database), Node.js ma sugayo inta ay xogtaas ka imanayso, balse wuxuu u gudbaa codsiga xiga. Marka xogtii diyaar noqoto, wuxuu u soo celinayaa macmiilkii (callback).
Faa'iidooyinka Node.js
Node.js maahan uun tignoolajiyad cusub, balse waa mid keentay xalal wax ku ool ah:
- Xawaare Sarreeya: Maadaama uu ku dhisan yahay V8 Engine, JavaScript wuxuu u turjumaa mashiinka si toos ah (Machine Code), taas oo ka dhigaysa mid aad u dhakhso badan.
- Scalability: Aad ayay u fududahay in la ballaariyo apps-ka lagu dhisay Node.js, gaar ahaan haddii la isticmaalayo Microservices architecture.
- NPM (Node Package Manager): Waa maktabadda (library) ugu weyn caalamka ee software-ka. Waxaad ka helaysaa malaayiin koodh oo horey loo qoray (packages) kuwaas oo kuu fududeynaya shaqadaada.
- Full-stack JavaScript: Horumariyayaashu uma baahna inay bartaan luuqado kala duwan. React/Angular oo dhanka hore ah iyo Node.js oo dhanka dambe ah ayaa ku filan.


