Урок за Node.js за начинаещи: Научете стъпка по стъпка за 3 дни
Въведение в Node.js
Модерното уеб приложение наистина измина дълъг път през годините с въвеждането на много популярни рамки като bootstrap, Angular JS и др. Всички тези рамки са базирани на популярните JavaСценарий рамка.
Но когато се стигна до разработването на сървърно-базирани приложения, имаше някаква празнота и тук се появи 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 Предварителни неща!
👉 Lessна 1 | Урок за Node.js Express FrameWork — Научете за 10 минути |
👉 Lessна 2 | Node.js MongoDB уроци — Пълно ръководство с примери |
👉 Lessна 3 | Урок за Node.js Promise — Пълно ръководство за JavaСценарий обещава |
👉 Lessна 4 | Bluebird Promises Урок — Пълно ръководство за Bluebird Promises |
👉 Lessна 5 | Node.js Generators — Какво е, обратни извиквания срещу Node.js Generators |
👉 Lessна 6 | Урок за Node js потоци — Filestream, Pipes |
👉 Lessна 7 | Урок за тестване на модул Node.js с Jasmine — Пълно ръководство |
👉 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 JavaScript Runtime engine, този, който се използва от 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 за захранване на своите подвижен Сървъри, които захранват 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 е структуриран да бъде еднонишков. Ако дадено приложение трябва да извърши някои дълготрайни изчисления във фонов режим, то няма да може да обработва други заявки. Както беше обсъдено по-горе, Node.js се използва най-добре там, където обработката изисква по-малко специално време на процесора.