Підручник з Node.js для початківців
Вступ до Node.js
Сучасні веб-додатки дійсно пройшли довгий шлях за ці роки з появою багатьох популярних фреймворків, таких як bootstrap, Angular JS тощо. Усі ці фреймворки базуються на популярних JavaScript рамки.
Але коли справа дійшла до розробки серверних додатків, виникла певна порожнеча, і тут Node.js з’явився на сцені.
Node.js також базується на JavaФреймворк сценарію, але він використовується для розробки серверних програм. Переглядаючи весь підручник, ми детально розглянемо Node.js і те, як ми можемо використовувати його для розробки програм на основі сервера.
Навчальна програма Node.js
Основи Node.js для початківців
👉 Lessна 1 | Завантажте та встановіть Node.js — Як завантажити та встановити Node.js і NPM на Window |
👉 Lessна 2 | Підручник Node.js NPM — Створювати, публікувати, розширювати та керувати |
👉 Lessна 3 | Створіть веб-сервер HTTP в Node.js — Підручник із прикладом коду |
Node.js Advance Stuff!
👉 Lessна 1 | Підручник Node.js Express FrameWork — Дізнайтеся за 10 хвилин |
👉 Lessна 2 | Node.js MongoDB Підручник — Повний посібник із прикладами |
👉 Lessна 3 | Підручник Node.js Promise — Повний посібник із JavaСценарій обіцяє |
👉 Lessна 4 | Підручник Bluebird Promises — Повний посібник із обіцянок Bluebird |
👉 Lessна 5 | Node.js Generators — Що таке зворотні виклики проти Node.js Generators |
👉 Lessна 6 | Посібник Node js Streams — Filestream, Pipes |
👉 Lessна 7 | Посібник із модульного тестування Node.js із Жасмін — Повний посібник |
👉 Lessна 8 | Підручник GraphQL — Що таке GraphQL? Навчайтеся на прикладі |
Знайте різницю!
👉 Lessна 1 | GraphQL проти REST - Яка різниця? |
👉 Lessна 2 | Node.Js проти AngularJS — Знай різницю |
👉 Lessна 3 | Node.js проти Python - Яка різниця? |
Node.js Запитання для співбесіди та навчальний посібник PDF
👉 Lessна 1 | Запитання для співбесіди Node.js — Топ-25 запитань і відповідей на співбесіді щодо Node.js |
👉 Lessна 2 | Підручник Node.js PDF — Завантажте підручник Node.js PDF для початківців |
Що таке Node.js?
Node.js — це міжплатформне середовище виконання з відкритим вихідним кодом, яке використовується для розробки веб-додатків на стороні сервера. Додатки Node.js написані на JavaСценарій і його можна запускати на багатьох операційних системах.
Node.js базується на керованій подіями архітектурі та неблокуючому API вводу/виводу, який розроблено для оптимізації пропускної здатності програми та масштабованості для веб-програм реального часу.
Протягом тривалого періоду часу всі інфраструктури, доступні для веб-розробки, базувалися на моделі без збереження стану. Модель без стану — це коли дані, створені в одному сеансі (наприклад, інформація про налаштування користувача та події, що відбулися), не зберігаються для використання в наступному сеансі з цим користувачем.
Потрібно було виконати багато роботи, щоб підтримувати інформацію про сеанс між запитами для користувача. Але з Node.js нарешті з’явився спосіб для веб-додатків мати двостороннє з’єднання в режимі реального часу, коли і клієнт, і сервер можуть ініціювати зв’язок, що дозволяє їм вільно обмінюватися даними.
Навіщо використовувати Node.js?
У наступних розділах ми розглянемо справжню цінність Node.js, але що саме робить цю структуру такою відомою. Протягом багатьох років більшість додатків базувалися на системі запитів-відповідей без збереження стану. У подібних додатках розробник повинен переконатися, що правильний код встановлено, щоб забезпечити підтримку стану веб-сеансу під час роботи користувача з системою.
Але з веб-додатками Node.js тепер ви можете працювати в режимі реального часу та мати двосторонній зв’язок. Стан підтримується, і клієнт або сервер можуть розпочати зв’язок.
Особливості Node.js
Давайте розглянемо деякі ключові функції Node.js
- Асинхронний керований подіями IO допомагає паралельно обробляти запити – це, мабуть, найважливіша перевага Node.js. Ця функція в основному означає, що якщо Node отримує запит на певну операцію введення/виведення, він виконає операцію у фоновому режимі та продовжить обробку інших запитів.
Це дуже відрізняється від інших мов програмування. Простий приклад цього наведено в коді нижче
var fs = require('fs'); fs.readFile("Sample.txt",function(error,data) { console.log("Reading Data completed"); });
- Наведений вище фрагмент коду розглядає зчитування файлу Sample.txt. В інших мовах програмування наступний рядок обробки відбуватиметься лише після прочитання всього файлу.
- Але у випадку Node.js важливою частиною коду, на яку слід звернути увагу, є оголошення функції ('function(error,data)'). Це називається функцією зворотного виклику.
- Отже, тут відбувається те, що операція читання файлу розпочнеться у фоновому режимі. І інша обробка може відбуватися одночасно під час читання файлу. Після завершення операції читання файлу буде викликана ця анонімна функція, і в журнал консолі буде записано текст «Читання даних завершено».
- Node використовує V8 JavaМеханізм виконання сценаріїв, той, який використовує Google Chrome. Вузол має оболонку над JavaМеханізм сценаріїв, який робить механізм виконання набагато швидшим і, отже, обробку запитів у Node також стає швидше.
- Обробка одночасних запитів. Іншою ключовою функціональністю Node є здатність обробляти одночасні з’єднання з дуже мінімальними витратами на один процес.
- Бібліотека Node.js використовує JavaСценарій – це ще один важливий аспект розробки в Node.js. Більша частина спільноти розробників уже добре обізнана з javascript, і тому розробка в Node.js стає легшою для розробника, який знає javascript.
- Існує активна та динамічна спільнота для фреймворку Node.js. Завдяки активній спільноті для фреймворку завжди доступні оновлення ключів. Це допомагає тримати фреймворк завжди в курсі останніх тенденцій веб-розробки.
Хто використовує Node.js
Node.js використовується багатьма великими компаніями. Нижче наведено список кількох із них.
- Paypal – багато сайтів Paypal також почали перехід на Node.js.
- LinkedIn – LinkedIn використовує Node.js для забезпечення своєї роботи Mobile Сервери, які живлять iPhone, Androidі продукти для мобільного Інтернету.
- Mozilla реалізувала Node.js для підтримки API браузера, який має півмільярда встановлень.
- eBay розміщує службу HTTP API у Node.js
Коли використовувати Node.js
Node.js найкраще підходить для використання в потокових програмах або програмах реального часу на основі подій, наприклад
- Програми для чату
- Ігрові сервери – швидкі та високопродуктивні сервери, яким потрібно обробляти тисячі запитів одночасно, то це ідеальна структура.
- Добре для середовища спільної роботи – це добре для середовищ, які керують документами. У середовищі керування документами у вас буде кілька людей, які публікують свої документи та вносять постійні зміни, перевіряючи та перевіряючи документи. Отже, Node.js добре підходить для цих середовищ, оскільки цикл подій у Node.js може запускатися щоразу, коли документи змінюються в середовищі, керованому документами.
- Сервери реклами – знову ж таки, у вас можуть бути тисячі запитів на отримання реклами з центрального сервера, і Node.js може бути ідеальною платформою для вирішення цього.
- Потокові сервери – ще один ідеальний сценарій для використання Node – це сервери потокового передавання мультимедіа, де клієнти мають запит на отримання різного мультимедійного вмісту з цього сервера.
Node.js добре підходить, коли вам потрібен високий рівень паралелізму, але менше виділеного процесорного часу.
Найкраще, оскільки Node.js побудовано на javascript, він найкраще підходить, коли ви створюєте програми на стороні клієнта, які базуються на тій же структурі javascript.
Коли не використовувати Node.js
Node.js можна використовувати для багатьох програм із різними цілями. Єдиний сценарій, де його не слід використовувати, це тривалий час обробки, який вимагає програма.
Вузол структуровано як однопотоковий. Якщо програмі потрібно виконувати довгострокові обчислення у фоновому режимі, вона не зможе обробити жодних інших запитів. Як обговорювалося вище, Node.js найкраще використовувати там, де обробка потребує менше виділеного процесорного часу.