https://blog.superhosting.bg/node-js-intro.html

Натиснете ENTER, за да видите резултатите или ESC за изход.

Какво е Node.js?

2018-11-22
Технологии
nodejs, node.js, node, ноде

...високоскоростен, високопроизводителен, щадящ ресурси, ефикасно комуникиращ в реално време, гъвкав, с отворен код, с огромна подкрепяща общност, фенове и модули, и не на последно място: радващ разработчиците и повишаващ продуктивността им...

Това описание отговаря на въпроса Какво е Node.js?, от гледна точка на потребителите, които го използват. В действителност Node.js представлява "кутията", а "съдържанието" в нея е източникът на всички положителни характеристики на Node.js - езикът за програмиране JavaScript.

Node.js е сървърна платформа за изпълнение на JavaScript код

Node.js (или само Node) е сървърно приложение, създаващо среда за изпълняване на JavaScript код (runtime environment), а не език за програмиране. Node.js прави възможно изпълнението на JavaScript код директно на сървъра, както обикновено това се случва в уеб браузъра. Когато се каже, че дадено приложение е написано на Node.js, се разбира, че то е написано на JavaScript и се изпълнява от Node.js.

И всеки разработчик, който разбира от "кодене" на JavaScript, ще се почувства в свои води с Node.js 🙂

Стандартно езикът за програмиране JavaScript се използва основно за front-end разработка (частта от приложението, с която потребителят взаимодейства) в сайтовете, за да добави някаква интерактивна функционалност и раздвижване на статичното HTML съдържание. JavaScript кодът за front-end частта на сайта/уеб приложението се изпълнява в уеб браузъра, с помощта на специален JavaScript интерпретатор/двигател (JavaScript engine).

През 2009г. един такъв JavaScript двигател е поставен и използван в сървърна среда. Разработчикът на имплементацията е Раян Дал, а проектът получава името Node.js. Движещата сила на Node.js е JavaScript двигателя V8 на Google. Раян Дал обявява проекта си на конференцията JSConf EU на 8 ноември 2009г. Тогава той представя и механизма на работа на своя проект - един работещ процес, задействан от събития (с обратни повиквания) и неблокиращ (асинхронен) програмен метод за входно-изходни операции.

📊 Интересът към Node.js през годините, измерващ се по количеството запитвания към Google, се увеличава постепенно. До тази година (2018) интересът към тази технология се е увеличил от 0 до 74 точки (от възможни 100). Друго нещо интересно е, че популярността на React.js задминава тази на Node.js през ноември 2017 и продължава да се увеличава, достигайки максимални точни в Trends на Google.
Node.js + React.js - изследване на популярността в Google Trends за период 2009г. - 2018г.

Разработка на Node.js приложения и JavaScript технологии

Node.js може да се използва като се инсталира на сървър или на личния ви компютър. Най-често Node.js се инсталира на сървър, за да може създадените за него приложения да са достъпни в Уеб, например на собствен виртуален сървър. Node.js може да работи с всякакви сървърни технологии например уеб сървърите Apache, Nginx и различните типове бази данни NoSQL (MongoDB, Redis) и SQL (MySQL) и много други. Има богат микс от инструменти и технологии, използвани с Node.js.

📊 В класацията за най-използвани уеб сървъри Node.js е на последни позиции. Node.js не се използва толкова за самостоятелна функция на уеб сървър, но предимно се използва в комбинация с лидерите в класацията - Apache и Nginx.
https://w3techs.com/technologies/overview/web_server/all

Node.js се използва за front-end, back-end и full-stack разработка на приложения:

  • Front End JavaScript технологии: Front-End разработката засяга всичко, което потребителите виждат в браузъра/приложението. Отговаря за визията, дизайна и усещането на потребителите за приложението. В тази сфера на уеб разработката се използват основно няколко технологии: HTML, CSS и JavaScript. Едни от най-известните JS технологии (JS рамки и JS библиотеки), използвани за разработка на потребителски интерфейси са: React, Angular, Vue, Ember и Backbone.
    Едно много нашумяло към момента приложение-пример за използването на React.js технологията, е новият редактор на WordPress Gutenberg, който е изцяло написан на React.js JavaScript.

    📊 GitHub и Stack Overflow популярност на технологични рамки за разработка. Според измерване на популярността по брой звезди за проекта в GitHub и броя на запитвания в Stack Overflow, Angular и React и няколко други JS рамки преобладават в топ 10 най-популярни.
    http://hotframeworks.com
    📊 Тъй като за някои статистики се използва метода за сканиране на кода на сайта, back-end технологиите трудно биха могли да се засекат. Поради това в класацията за най-използвани JS технологии, преобладават тези, които се използват и могат да се засекат в кода (front-end). jQuery е на първо място в w3techs.com класацията, следван от Bootstrap, Modernizr и Underscore.
    https://w3techs.com/technologies/overview/javascript_library/all
    📊 От статистиката за най-често срещаните JS библиотеки, лидер е jQuery.
    http://libscore.com/#libs
  • Back End JavaScript технологии: Back-End разработката се отнася за сървърната част от приложението и комуникацията с базата данни и крайния потребител. Отговаря на въпроса Как функционира сайта/приложението?. За разработка на back-end JavaScript основно се използва сървърната платформа Node.js и JS рамките Express.js и Socket.io.
  • Full Stack JavaScript технологии: Комбинацията от back-end и front-end разработката. Използвани технологични рамки: Meteor, Rendr, Derby.js и други.
    Най-често срещаната комбинация от Node.js и други сървърни (back-end) и front-end технологии, използвани за разработка на приложения, са: MEAN - MongoDB, Express.js, Angular.js, Node.js и MERN - MongoDB, Express.js, React.js, Node.js. Това са пакети от взаимно свързани (full-stack) технологии.

Node.js често може да се види използван за високоскоростни приложения, които работят в реално време. Големи компании използват Node.js и го включват като част от дадено голямо приложение или услуга. Някои от потребителите на Node.js са: PayPal, Pinterest, Netflix, Mozilla, Amazon, Symantec, Github, Coursera, Flickr, WordPress, LinkedIn, Ebay, Nasa, Airbnb, Trello, Yahoo, Shutterstock и много други.

📊 React и Node.js са в топ три на класацията за най-многобройни приноси към проекти в GitHub.
https://blog.github.com/#popular-repository-topics
📊 За поредна година JavaScript е най-популярният език в портала за разработчици Stack Overflow.
⇒ https://insights.stackoverflow.com/survey/2018#technology-programming-scripting-and-markup-languages
📊 Node.js е на първо място по популярност в Stack Overflow.
https://insights.stackoverflow.com/survey/2018#technology-frameworks-libraries-and-tools

Често Node.js се описва като подходящо решение за приложения с интензивни I/O операции, но не и за такива с интензивна CPU обработка. Причината за това е, че тежките CPU обработки може да блокират процеса на Node.js.

NPM (Node Package Manager) - мениджър на пакети

NPM е мениджър на JavaScript пакети. Пакетите може да са единични файлове, JavaScript библиотеки или много по-сложни колекции от библиотеки - цели JavaScript работни рамки като например Express.js и други.

През NPM може да се инсталират и управляват пакетите към даден Node.js проект. Към момента има над 700 хил. пакета в NPM хранилището.

NPM мениджърът се състои от cli (command line interface) клиент и онлайн база данни с пакетите, наричана NPM регистър. NPM cli инструментът се инсталира на сървъра, на който е наличен и Node.js. След това с една команда в конзолата може да се инсталира пакет от NPM регистъра. Например инсталацията на Express.js става с:

npm install express

Тези пакети с готов JavaScript код улесняват и ускоряват разработката и създаването на Node.js проекти.

📊 В класацията за най-многобройни модули към дадена технология, Node.js е ненадминат. Към Node.js се използва мениджър за пакети, наречен NPM, това са библиотеки, модули, колекции от библиотеки, които може да се инсталират за подпомагане на/разработката на проектите. Към момента има стотици хиляди NPM модули.
http://www.modulecounts.com

Node.js хостинг

При нас можете да използвате Node.js на всички предлагани услуги.

  • Споделен хостинг: Node.js можете да използвате при хостинг план СуперХостинг. Имате възможност да качите Node.js приложение веднага, след като хостинг услугата е активирана и хостинг акаунтът е създаден. Можете да стартирате Node.js приложение с минимални усилия и действия и да изберете от най-новите, последни версии на Node.js. През cPanel може лесно да се стартира специална виртуална среда за Node.js, а управлението на средата е през лесен графичен интерфейс. През него можете да променяте настройките на средата, използваната версия на Node.js, да стартирате, спирате и премахвате приложения. За бази данни към приложението можете да използвате най-известните релационни бази данни - MySQL (MariaDB), PostgreSQL, SQLite.
  • Виртуален сървър: При услугата виртуален сървър можете сами да инсталирате всички необходими сървърни приложения и да извършите всички техни системни настройки. Ще е нужно Node.js да бъде инсталиран и системно настроен. Допълнително ще трябва да инсталирате и технологиите, които работят съвместно с Node.js. При тази услуга ще отнеме повече време, преди да е възможно да се стартира Node.js приложение. И ще имате нужда от системен администратор или знания по администрация на сървър, за да можете да извършвате поддръжка и управление. При тази услуга ще можете да използвате всякакви сървърни приложения и технологии например нерелационни бази данни като MongoDB и други.
  • Managed VPS: Това е виртуален управляем сървър, който съчетава най-доброто от двата свята - лесното управление и осигурената техническа поддръжка на споделения хостинг и самостоятелността на виртуалния сървър. При услугата Managed VPS системната администрация се извършва от нас. Node.js се поддържа на всички Managed VPS сървъри, като е включен към плановете Pro, Mega и Business.

Още интересна информация за света на JavaScript технологиите можете да получите директно от източника, или по-точно от хората, които се занимават с разработка на JavaScript приложения, на конференцията js.talks(“Bulgaria”);.

Специалист Техническа Поддръжка

Меган е една от нашите super-support-гурута. СуперСилата на Меган е, че може да обясни и най-сложните технологии на достъпен за всеки език.

500px270px
SuperHosting.BG

Препоръчани статии

Оставете коментар

avatar
  Абониране  
Уведоми ме при

Privacy Preference Center

Necessary

Advertising

Analytics

Other