Ноде.ЈС (Node.JS)

Ноде.јс је рунтиме ЈаваСцрипт-а са више платформи отвореног кода који се покреће на серверима. Од објављивања 2009. године, ова платформа је постала изузетно популарна и данас игра веома важну улогу на пољу веб развоја.
За цео чланак на Node.JS ...

Прикажи филтер
Хостинг Филтерс
A2 Themes & Host Me Filter

Оперативни систем

Простор на диску

РАМ меморија

Тип диска

ЦПУ Цорес

Врста

Труст Пилот Dream Host
Резултат - 9.7
Dream Host Logo
Dream Host

Дреам Хост

DreamObjects 40 GB
$0.95 /Месечно

Рецензије 3778

29 Купони

Локације сервера


Dream Host Servers in AshburnАмерика
Упоредити
Труст Пилот ICDSoft
Резултат - 10
ICDSoft Logo
ICDSoft

ИЦДСофт

Economy - Europe
$8 /Месечно

Рецензије 233


Локације сервера


ICDSoft Servers in SofiaБугарска ICDSoft Servers in BostonАмерика ICDSoft Servers in Hong KongХонг Конг
Упоредити
Труст Пилот ICDSoft
Резултат - 10
ICDSoft Logo
ICDSoft

ИЦДСофт

Economy - USA
$8 /Месечно

Рецензије 233


Локације сервера


ICDSoft Servers in SofiaБугарска ICDSoft Servers in BostonАмерика ICDSoft Servers in Hong KongХонг Конг
Упоредити
Резултат - 9
A2hosting Logo
A2hosting

А2хостинг

Lite
$3.92 /Месечно

50 Купони

Локације сервера


A2hosting Servers in AmsterdamНизоземска A2hosting Servers in MichiganАмерика A2hosting Servers in SingaporeСингапур
Упоредити
Труст Пилот Keliweb
Резултат - 9.8
Keliweb Logo
Keliweb

Келивеб

Prime
$5.51 /Месечно

Рецензије 453


Локације сервера


Keliweb Servers in MilanoИталија
Упоредити
Труст Пилот JustHostMe
Резултат - 9.4
JustHostMe Logo
JustHostMe

ЈустХостМе

Starter
$3.11 /Месечно

Рецензије 72


Локације сервера


JustHostMe Servers in United KingdomВелика Британија
Упоредити
Труст Пилот Dream VPS
Резултат - 8.6
Dream VPS Logo
Dream VPS

Дреам ВПС

STARTER
$3.75 /Месечно

Рецензије 7


Локације сервера


Dream VPS Servers in Hong KongХонг Конг Dream VPS Servers in Santa Clara Dream VPS Servers in New YorkАмерика Dream VPS Servers in LondonВелика Британија Dream VPS Servers in AmsterdamНизоземска Dream VPS Servers in FrankfurtНемачка Dream VPS Servers in IsraelИзраел
Упоредити
Труст Пилот Reseller Cube
Резултат - 8
Reseller Cube Logo
Reseller Cube

Реселлер Цубе

Basic USA
$5 /Месечно

Рецензије 4


Локације сервера


Reseller Cube Servers in RaleighАмерика
Упоредити
Труст Пилот Univa Host
Резултат - 8
Univa Host Logo
Univa Host

Домаћин Униве

E-ECONOMY
$2.99 /Месечно

Рецензије 3


Локације сервера


Univa Host Servers in GermanyНемачка Univa Host Servers in United StatesАмерика
Упоредити
Труст Пилот OperaVPS
Резултат - 7.8
OperaVPS Logo
OperaVPS

ОпераВПС

Linux 512MB
$7.99 /Месечно

Рецензије 3


Локације сервера


OperaVPS Servers in United KingdomВелика Британија OperaVPS Servers in AustriaАустрија OperaVPS Servers in CanadaКанада OperaVPS Servers in DenmarkДанска OperaVPS Servers in FranceФранцуска OperaVPS Servers in GermanyНемачка OperaVPS Servers in ItalyИталија OperaVPS Servers in NetherlandsНизоземска OperaVPS Servers in RomaniaРумунија OperaVPS Servers in United StatesАмерика
Упоредити
Труст Пилот L3Web Hosting
Резултат - 7.6
L3Web Hosting Logo
L3Web Hosting

Л3Веб хостинг

START UP
$1.99 /Месечно

Рецензије 2


Локације сервера


L3Web Hosting Servers in IndiaИндија L3Web Hosting Servers in MunichНемачка L3Web Hosting Servers in MiamiАмерика L3Web Hosting Servers in SingaporeСингапур L3Web Hosting Servers in United KingdomВелика Британија
Упоредити
Труст Пилот Idea Stack
Резултат - 7.4
Idea Stack Logo
Idea Stack

Идеа Стацк

LEVEL 1
$2 /Месечно

Рецензије 2


Локације сервера


Idea Stack Servers in SeattleАмерика
Упоредити
Труст Пилот Epic Host
Резултат - 7.4
Epic Host Logo
Epic Host

Епиц Хост

Cloud hosting
$2.37 /Месечно

Рецензије 1


Локације сервера


Epic Host Servers in New DelhiИндија Epic Host Servers in UnionАмерика
Упоредити
Труст Пилот itanets.co.uk
Резултат - 7
itanets.co.uk Logo
itanets.co.uk

итанетс.цо.ук

JSP HOSTING 1
$5.19 /Месечно

Рецензије 2

Упоредити
Труст Пилот Digital Ocean
Резултат - 3.8
Digital Ocean Logo
Digital Ocean

Дигитал Оцеан

$5 /mo
$5 /Месечно

Рецензије 214

38 Купони

Локације сервера


Digital Ocean Servers in IndiaИндија Digital Ocean Servers in New YorkАмерика Digital Ocean Servers in AmsterdamНизоземска Digital Ocean Servers in LondonВелика Британија Digital Ocean Servers in TorontoКанада Digital Ocean Servers in Frankfurt am MainНемачка Digital Ocean Servers in SingaporeСингапур
Упоредити
Резултат - 10
HOST PRO KE Logo
HOST PRO KE

ХОСТ ПРО КЕ

Host Pro Starter
$9.38 /Годишње


Локације сервера


HOST PRO KE Servers in GermanyНемачка
Упоредити
Резултат - 9.4
Accu WebHosting Logo
Accu WebHosting

Аццу ВебХостинг

Windows Personal Web Hosting
$2.99 /Месечно

19 Купони

Локације сервера


Accu WebHosting Servers in FranceФранцуска Accu WebHosting Servers in DenverАмерика Accu WebHosting Servers in MumbaiИндија Accu WebHosting Servers in AmsterdamНизоземска Accu WebHosting Servers in Frankfurt am MainНемачка Accu WebHosting Servers in SydneyАустралија Accu WebHosting Servers in LondonВелика Британија Accu WebHosting Servers in PolandПољска Accu WebHosting Servers in CanadaКанада Accu WebHosting Servers in SingaporeСингапур
Упоредити
Резултат - 9
Be hostings Logo
Be hostings

Будите домаћини

StarterSSL
$3.36 /Месечно


Локације сервера


Be hostings Servers in BrusselsБелгија
Упоредити
Резултат - 4.3
Gear Host Logo
Gear Host

Домаћин преносника

CloudSite Hobby
$5 /Месечно


Локације сервера


Gear Host Servers in DenverАмерика
Упоредити
Резултат - 1
Mikro VPS Logo
Mikro VPS

Микро ВПС

VPS SSD 1
$4.39 /Месечно


Локације сервера


Mikro VPS Servers in BudapestМађарска
Упоредити
Резултат - 0
Simple Node Logo
Simple Node

Симпле Ноде

OpenVZ - 256MB
$3 /Месечно

Упоредити

 

Node.js

 

 

Ноде.јс је рунтиме ЈаваСцрипт-а са више платформи отвореног кода који се покреће на серверима. Од објављивања 2009. године, ова платформа је постала изузетно популарна и данас игра веома важну улогу на пољу веб развоја. Ако број индикатора који је пројекат прикупио на ГитХубу узмемо у обзир као показатељ популарности, онда је Ноде.јс, који има више од 50.000 звезда, врло, веома популаран пројекат.

 

Платформа Ноде.јс је изграђена на Гоогле-овом В8 ЈаваСцрипт механизму, који се користи у прегледачу Гоогле Цхроме. Ова платформа се углавном користи за креирање веб сервера, али њен опсег није ограничен на ово.

 

Погледајмо главне карактеристике Ноде.јс.

 

Брзина

 

Једна од главних атракција Ноде.јс-а је брзина. ЈаваСцрипт код изведен у Ноде.јс може бити двоструко бржи од кода написаног на компајлираним језицима као што су Ц или Јава, и редослед величина бржи од интерпретираних језика као што су Питхон или Руби. Разлог томе је неблокирајућа архитектура платформе, а конкретни резултати зависе од коришћених мерила, али свеукупно, Ноде.јс је врло брза платформа.

 

Једноставност

 

Ноде.јс платформу је лако научити и користити. Заправо је то врло једноставно, посебно у поређењу са неким другим серверским платформама.

 

ЈаваСцрипт

 

ЈаваСцрипт се извршава у окружењу Ноде.јс. То значи да милиони фронт-енд програмера који већ користе ЈаваСцрипт у прегледачу могу да напишу и код на страни сервера и клијента на истом програмском језику, а да не морају да науче потпуно нову алатку за прелазак на развој на страни сервера.

 

Прегледник и сервер користе исте језичке концепте. Поред тога, Ноде.јс може брзо да пређе на нове ЕЦМАСцрипт стандарде пошто су имплементирани на платформи.

 

Нема потребе да чекате да корисници освеже своје прегледаче због овога, јер је Ноде.јс окружење на страни сервера које у потпуности контролише програмера. Као резултат, нове језичке функције постају доступне када инсталирате пратећу верзију Ноде.јс.

 

В8 мотор

 

У срцу Ноде.јс-а, између осталих решења, налази се Гоогле-ов В8 ЈаваСцрипт механизам отвореног кода, који се користи у Гоогле Цхроме-у и другим прегледачима. То значи да Ноде.јс користи предности хиљада инжењера који су невероватно брзо извршили ЈаваСцрипт Цхроме и настављају да раде на побољшању В8.

 

Асинхроност

 

У традиционалним програмским језицима (Ц, Јава, Питхон, ПХП), све инструкције се подразумевано блокирају, осим ако програмер изричито не брине о асинхроном извршавању кода. Као резултат тога, ако, на пример, у таквом окружењу поднесете мрежни захтев за преузимање неког ЈСОН кода, извршавање тока из којег се захтев захтева биће обустављено док одговор не буде примљен и обрађен.

 

ЈаваСцрипт много олакшава писање асинхроног и неблокирајућег кода користећи једну нит, повратне позиве и приступ развоју вођен догађајима. Сваки пут када треба да извршимо тешку операцију, прослеђујемо повратни позив одговарајућем механизму, који ће бити позван одмах по завршетку ове операције. Као резултат, нема потребе да се чекају резултати таквих операција да би програм наставио да ради.

 

Сличан механизам је настао у прегледачима. Не можемо себи приуштити да чекамо, рецимо, наАЈАКСзахтева да се заврши без могућности да одговорите на радње корисника, као што су кликови на дугме. Да би корисницима било погодно за рад са веб страницама, све, и преузимање података са мреже и обрада кликова на дугме, мора се одвијати истовремено, у реалном времену.

 

Ако сте икада креирали обрађивач догађаја кликом на дугме, већ сте користили технике синхроног програмирања.

 

Асинхрони механизми омогућавају једном серверу Ноде.јс да истовремено обрађује хиљаде веза без оптерећења програмера задацима управљања нитима и паралелног извршавања кода. Такве ствари су често извор грешака.

 

Ноде.јс пружа програмеру неблокирајуће основне И / О механизме, и уопште, библиотеке коришћене у оквиру Ноде.јс су написане користећи неблокирајуће парадигме.То чини понашање блокирања изузетком, а не нормом.

 

Када Ноде.јс треба да изведе И / О операцију, као што је учитавање података из мреже, приступ бази података или систему датотека, уместо да блокира главну нит која чека резултате такве операције, Ноде.јс ће покренути извршење и настави да радиш друге ствари док се не приме резултати ове операције.

 

Библиотеке

 

Са лакоћом и погодношћу рада са менаџером пакета за Ноде.јс који се назива нпм, екосистем Ноде.јс напредује. Сада у нпм регистру постоји преко пола милиона пакета отвореног кода које било који програмер Ноде.јс може слободно користити.

 

Након што смо прегледали неке од главних карактеристика платформе Ноде.јс, испробајмо је на делу. Почнимо са инсталацијом.

 

 

Node.js

 

 

Инсталирање Ноде.јс

 

Ноде.јс се може инсталирати на разне начине, што ћемо покрити у тренутку. Дакле, могу се пронаћи званични инсталациони пакети за све главне платформе.

 

Постоји још један врло погодан начин за инсталацију Ноде.јс-а, а то је коришћење менаџера пакета предвиђеног у оперативном систему. На пример, менаџер пакета мацОС, који је де фацто стандард у овој области, назива се Хомебрев.

 

Ако га имате на вашем систему, можете инсталирати Ноде.јс покретањем ове команде у командној линији:

 

брев инсталл чвор

 

Списак менаџера пакета за друге оперативне системе, укључујући Линук и Виндовс, можете пронаћи овде.

 

Популарни менаџер верзија Ноде.јс је нвм. Овај алат вам омогућава угодно пребацивање између различитих верзија Ноде.јс, уз његову помоћ можете, на пример, да инсталирате и испробате нову верзију Ноде.јс, а затим, ако је потребно, вратите се на стару. Нвм је такође користан у ситуацији када треба да тестирате неки код на старој верзији Ноде.јс.

 

За почетнике да користе званичне инсталационе програме Ноде.јс. Корисницима мацОС-а препоручује се инсталирање Ноде.јс помоћу Хомебрев-а. Сада када сте инсталирали Ноде.јс, време је да напишете „Хелло Ворлд“.

 

Прва апликација Ноде.јс

 

Најчешћи пример прве Ноде.јс апликације је једноставан веб сервер. Ево његовог кода:

цонст хттп = рекуире ('хттп')

цонст хостнаме = '127.0.0.1'

цонст порт = 3000

цонст сервер = хттп.цреатеСервер ((рек, рес) = & гт; {

рес.статусЦоде = 200

рес.сетХеадер ('Цонтент-Типе', 'тект / плаин')

рес.енд ('Здраво, свет \ н')

})

сервер.листен (порт, име хоста, () = & гт; {

цонсоле.лог (`Сервер покренут на хттп: // $ {хостнаме}: $ {порт} /`)

})

 

Да бисте покренули овај код, спремите га у датотеку сервер.јс и покрените следећу команду у терминалу:

 

чвор сервер.јс

 

Да бисте проверили сервер, отворите прегледач и унесите у траку за адресу хттп://127.0.0.1:3000, односно адресу сервера која ће бити приказана у конзоли након успешног покретања. Ако све функционише како треба, на страници ће се појавити „Хелло Ворлд“.

 

Погледајмо овај пример.

 

Прво приметите да код садржи наредбу за повезивање ХТТП модула.

 

Платформа Ноде.јс има одличан стандардни сет модула, који укључује добро развијене механизме за рад са мрежом.

Метода објекта цреатеСервер () хттп креира нови ХТТП сервер и враћа га.

 

Сервер је конфигурисан за преслушавање на одређеном порту на одређеном хосту. Када је сервер спреман, позива се одговарајући повратни позив који нас обавештава да је сервер покренут.

Када сервер прими захтев, покреће се догађај који пружа два објекта. Први је захтев (рек, хттп.ИнцомингМессаге објекат), други је одговор (рес, хттп.СерверРеспонсе објекат). Они су најважнији механизми за руковање ХТТП захтевима.

 

Прва нам пружа информације о захтеву. У нашем једноставном примеру, ми не користимо ове податке, али ако је потребно, користећи објекат, захтевате приступ заглављима захтева и подацима прослеђеним у њему.

 

Други је потребан за формирање и слање одговора на захтев.

 

У овом случају одговор на захтев формирамо на следећи начин. Прво смо поставили код статуса својства на вредност 200, што указује на успешну операцију:

 

рес.статусЦоде = 200

Затим постављамо наслов Цонтент-Типе:

рес.сетХеадер ('Цонтент-Типе', 'тект / плаин')

Затим довршавамо припрему одговора додавањем његовог садржаја као аргумента на енд енд ():

рес.енд ('Здраво, свет \ н')

 

Већ смо споменули да се око платформе Ноде.јс створио моћан екосистем. Хајде сада да разговарамо о неким популарним оквирима и помоћним алатима за Ноде.јс.

 

Фрамеворкс и помоћни алати за Ноде.јс

 

Ноде.јс је платформа ниског нивоа. Да би се поједноставио развој и олакшао живот програмерима, створен је огроман број библиотека. Неки од њих су временом постали веома популарни. Ево малог списка библиотека за које мислим да су добро урађени и да их вреди истражити:

 

изразити: Ова библиотека пружа програмеру изузетно једноставан, али моћан алат за изградњу веб сервера. Кључ успеха Екпресса био је минималистички приступ и фокус на основним механизмима на страни сервера, без покушаја наметања визије серверске архитектуре „на једном месту“.

 

Метеор: То је моћан фулл-стацк оквир који има изоморфни приступ за развој ЈаваСцрипт апликација и коришћење кода и на клијенту и на серверу. Некада је Метеор био самостални алат који укључује све што је програмеру могло требати. Сада се такође интегрише са фронтенд библиотекама као што су Реацт, Вуе и Ангулар. Метеор се, осим за развој уобичајених веб апликација, може користити и за развој мобилних уређаја.

 

Коа: Овај веб оквир је створио исти тим који стоји иза Екпресса. Надовезујући се на дугогодишње искуство са Екпресс-ом, развијен је са фокусом на једноставност и компактност. Овај пројекат настао је као решење проблема уношења великих промена у Екпресс, које су некомпатибилне са другим оквирним механизмима који могу поделити заједницу.

 

Нект.јс: Овај оквир је дизајниран да организује приказивање Реацт апликација на страни сервера.

 

Мицро: То је врло лагана библиотека за изградњу асинхроних ХТТП микросервиса.

Соцкет.ио. То је библиотека за развој мрежних апликација у реалном времену.

 

У ствари, у екосистему Ноде.јс можете пронаћи помоћну библиотеку за готово било који задатак. Као што можете замислити, потребно је пуно времена за изградњу таквог екосистема. Платформа Ноде.јс појавила се 2009. Током њеног постојања догодило се много ствари које би програмеру који жели да научи ову платформу требало да буде познат.

 

Кратка историја Ноде.јс

 

Ноде.јс ове године има 9 година. То, наравно, није толико када упоредите ово доба са старошћу ЈаваСцрипт-а која има већ 23 године или са 25-годишњом старошћу Веба колико је познато ако рачунамо од појаве Мозаика претраживач.

 

Девет година је кратко време за технологију, али сада се чини да Ноде.јс платформа увек постоји.

 

Са Ноде.јс из раних верзија платформе када је имала само 2 године. Чак и тада, упркос чињеници да о Ноде.јс није било толико информација, већ се могло осетити да је Ноде.јс веома озбиљан.

 

Хајде сада да разговарамо о технологијама иза Ноде.јс-а и да брзо погледамоглавни догађаји повезани са овом платформом.

 

Дакле, ЈаваСцрипт је програмски језик који је створен у Нетсцапеу као скриптни језик за манипулисање веб страницама у прегледачу Нетсцапе Навигатор.

Део Нетсцапеовог посла био је продаја веб сервера, који су укључивали окружење звано Нетсцапе ЛивеВире. Омогућило вам је стварање динамичних веб страница користећи ЈаваСцрипт на страни сервера.

 

идеја употребе ЈС за развој на страни сервера много је старија од Ноде.јс. Ова идеја стара је готово колико и сам ЈаваСцрипт, али у то време, ЈС на серверу није био популаран.

 

Један од кључних фактора који је учинио платформу Ноде.јс тако широко распрострањеном и популарном је када се први пут појавила. Дакле, неколико година раније ЈаваСцрипт је почео да се сматра озбиљним језиком. То се догодило захваљујући Веб 2.0 апликацијама попут Гоогле Мапс или Гмаил, које су свету показале снагу модерних веб технологија.

 

Захваљујући конкурентском рату прегледача, који траје и данас, перформансе ЈаваСцрипт мотора су се знатно повећале. Развојни тимови који стоје иза главних прегледача свакодневно раде на побољшању перформанси њихових решења, што повољно утиче на ЈаваСцрипт уопште.

 

Један од таквих покретача је већ поменути В8, који се користи у прегледачу Цхроме и користи у Ноде.јс. То је један од резултата програмера претраживача који теже ЈаваСцрипт коду високих перформанси.

 

Наравно, популарност Ноде.јс заснива се не само на срећној случајности и на чињеници да је платформа рођена у право време. Упознала је свет са иновативним приступом развоју ЈаваСцрипт на страни сервера. Погледајмо главне прекретнице у историји Ноде.јс.

 

2009


  • Појава Ноде.јс

  • Израда прве нпм варијанте.

 

2010

  • Појава Екпресс-а.

  • Појава Соцкет.ио.

 

2011


  • Нпм 1.0 издање.

  • Велике компаније попут ЛинкедИн-а и Убера почеле су да користе Ноде.јс.

 

2012


  • Брзи раст популарности Ноде.јс.

 

2013


  • Појава Гхост-а, прве велике платформе за публикације које користе Ноде.јс.

  • Коа релеасе.

 

2014


  • Ове године су се одиграли драматични догађаји. Појавио се пројекат ИО.јс, који је вилица Ноде.јс-а, чија је сврха, између осталог, била увођење ЕС6 подршке и убрзање развоја платформе.

 

2015


  • Основана је Ноде.јс фондација.

  • Спајање ИО.јс и Ноде.јс.

  • У нпм постаје могућ рад са приватним модулима.

  • Ииелд Ноде.јс 4 (треба напоменути да верзије 1, 2 и 3 са платформе нису).

 

2016


  • Инцидент са пакетом леве плочице.

  • Појава предива.

  • Издање Ноде.јс 6.

 

2017


  • Нпм почиње да обраћа више пажње на сигурност.

  • Издање Ноде.јс 8

  • Појава подршке за ХТТП / 2.

  • В8 је званично препознат као ЈС мотор дизајниран не само за Цхроме већ и за Ноде.

  • Сваке недеље се преузме 3 милијарде нпм.

 

2018


  • Издање Ноде.јс 10.

  • Подршка за ЕС модуле.

  • Експериментална подршка за мјс.