გამოიწერე YouTube-ის არხიyoutube logoგამოწერა
რა არის Node.js?

რა არის Node.js?

დღევანდელი გაკვეთილით ჩვენ ვიწყებთ node.js-ის შესწავლას, რომელიც დაგვეხმარება შევქმნათ, როგორც backend ასევე frontend აპლიკაციები.

მოცემულ გაკვეთილში ჩვენ გავლილით შემდეგ თემებს:

  • რა არის nodejs?
  • რატომ უნდა ვისწავლოთ node.js?
  • რითი განსხვავდება node.js-ის გარემო ბრაუზერის გარემოსგან?

"Node.js is an open-source and cross-platform JavaScript runtime environment." - Nodejs.dev Docs

მოდი ვეცადოთ ქართულად გადავთარგმონოთ მისი მნიშვნელობა, პირველ რიგში განვიხილოთ თუ რას ნიშნავს open source.
open source წარმოდაგენს კოდს რომელიც არის ხელმისაწვდომი საზოგადოდ და ამ კოდში როგორც ჩახედვა, ასევე განვითარებაში წვლილის შეტანა შენც კი შეგიძლია.

cross platform ნიშნავს იმას, რომ node-ის გაშვება შეგვიძლია ნებისმიერ ოპერაციულ სისტემაზე.

Node.js is javaScript runtime environment: როდესაც ჩვენ რამე ჯავასკრიპტ კოდს დავწერთ, პირდაპირ მისი შესრულება შეუძლებალია, შესასრულებლად ჩვენ გვჭირდება მაგალითად ბრაუზერი, რომელსაც აქვს ე.წ. ძრავი (engine) რომელიც შეასრულებს ჩვენს მიერ დაწერილ კოდს.

სწორედ ესაა ე.წ. runtime environment. სანამ node.js შეიქმნებოდა მანამდე ჯავასკრიპტის კოდის გაშვება მხოლოდ ბრაუზერებში იყო შესაძლებელი, შესაბამისად ჯავასკრიპტი გამოიყენებოდა მხოლოდ frontend აპლიკაციებში.

Node.js უზუნველყოფს, შევასრულოთ ჯავასკრიპტის კოდი ბრაუზერებისგან დამოუკიდებლად. node.js იყენებს Chrome v8 javascript engine.-ს ჯავასკრიპტის შესასრულებლად. სწორედ ის გვაძლევს საშუალებას ავაწყოთ backend აპლიკაციები, ზუსტად იმ ჯავასკრიპიტს ცოდნით რომელიც ჩვენ უკვე ნასწავლი გვაქვს.

რატომ უნდა ვისწავლოთ Node.js?

Node.js არის მძლავრი ხელსაწყო fullstack აპლიკაციების შესაქმნელად, რომელიც გვაძლევს საშუალებას, უკვე კარგად ნაცნობი ჯავასკრიპტით დავწეროთ, არა მხოლოდ frontend არამედ backend აპლიკაციებიც, ქვემოთ ვეცდები მოკლედ ჩამოვთვალო მიზეზები იმისა, თუ რატომ უნდა დაიწყო Node-ის შესწავლა

ვიყენებთ ერთი პროგრამირების ენას

Node გვაძლევს საშუალებას გამოვიყენოთ ჯავასკრიპტი, როგორც frontend-ში ასევე backend-ში.

Node-ის სისწრაფე და ასინქრონულობა

Node ცნობილია მისი სისწრაფით, ის არის ე.წ. ასინქრონული რაც ჩვენს აპლიკაციას დამატებით სისწრაფეს აძლევს

ძლიერი ეკოსიტემა

node-ს აქვს ე.წ. package manager იგივე NPM, (node package manager), რომელიც მოიცავს უამრავ ღია კოდის პრინციპზე დაწერილ სასარგებლო პატარა პროგრამებს (package-ებს) რომელთა გამოყენებაც პროექტში უამრავ დროს დაგვიზოგავს.

რა განსხვავებაა Node.js-სა და  ბრაუზერის runtime გარემოებს შორის?

პირველ რიგში მინდა გახსოვდეთ, რომ ჯავასკრიპტი რომელიც აქამდე ვისწავლეთ ორივე გარემოში ჩვეულებრივ მუშაბს, მაგრამ ასევე აქვთ მცირედი განსხვავებები, რომლებზეც ქვემოთ ვისაუბრებთ.

Document Object model (DOM)

ბრაუზერის გარემოში ჯავასკრიპტი საშუალებას გვაძლევს ხელმისაწვდომი გვქონდეს DOM. Node.js-ში კი ის არ გვაქვს, ვინაიდან კოდი ბრაუზერის გარემოში არ ეშვება

სამაგიეროდ Node.js-ში საშუალება გვაქვს მივწვდეთ ოპერაციული სისტემის რესურსებს. მაგალითისთვის ჩვეგ გვექნება სრული წვდომა ფაილურ სისტემაზე, რაც შესაძლებლობას გვაძლევს ჯავასკრიპტის საშუალებით მოვახდინოთ მასზე მანიპულაციები.

Window VS Global objects

როგორც ვიცით ჯავასკრიპტში ჩაშენებულია ე.წ. გლობალური ობიექტები, მაგალითად ისეთები, როგორიცაა window ობიექტი ბრაუზერის გარემოში. Node.js-ში window ობეიქტი საერთოდ არ გვაქვს, მაგრამ გვაქვს global ობიექტი

სანამ უშუალოდ node.js-ის დეტალებში უფრო ღრმად წავალთ აუცილებელია ვიცოდეთ ჯავასკრიპტის საფუძვლები, რომელსაც რა თქმა უნდა val-do.com-ზე სრულიად უფასოდ შეძლებთ შეისწავლოთ.

რა დონეზე უნდა ვიცოდე ჯავასკრიპტი node.js-ის შესწავლისთვის?

node.js-ის შესასწავლად აუცილებელია ვიცოდეთ ჯავასკრიპტის ძირითადი პრინციპები.
სანამ ამ კურის გავლას გადაწყვეტთ აუცილებელია გავიაროთ კურსები, რომელიც სრულიად უფასოდაა val-do.com-ის მოცემულ ბმულზე ჯავასკრიპტის კურსი დამწყებთათვის.

კურსში შეხვდებით ისეთ თემებს, როგორებიცაა:

კურსში შემავალი თემები

🔗 javascript🔗 js

დამატებითი რესურსები

სხვა კატეგორიები

შეისწავლეთ ვებდეველოპმენტის ენები სრულიად უფასოდ, ისეთები როგორებიცაა Javascript, HTML, CSS და კიდევ სხვა მრავალი ენა

ბოლოს დაწერილი ბლოგები პროგრამირებაზე

ქვემოთ მოცემულია უახლესი 3 ბლოგი პროგრამირების თემატიკასთან დაკავშირებით