Какво е Node.js?

Node.js е мултиплатформена среда за изпълнение на JavaScript с отворен код. С Node могат да се пишат бекенд сървиси, още познати като API (Application Programming Interface). Това са сървиси, с които могат да се задвижват клиентски апликации, като уеб апликация в браузър, или пък мобилна апликация, изпълняваща се на мобилно устройство.

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

Node.js е идеален за създаване на високоинтензивни апликации, изпълняващи се в реално време. Но може би се питате – защо да избера именно Node.js, след като има много други възможности за създаване на апликации, като ASP.NET, RAILS, Django и други. Така че – какви са предимствата на Node.js? Ето някои от тях:

  • Лесен е за научаване.
  • С него се пише бързо и лесно. Идеален е за правене на бързи прототипи.
  • Много е удобен за писане на супер бързи и скалируеми сървиси.
  • Доказано ефикасен – ползват го огромни компании като PayPal, Uber, NetFlix, Walmart и много друго.

PayPal преработиха своя апликация, базирана преди това на Java, на Node.js. Те споделят, че новата апликация е направена два пъти по-бързо и с по-малко хора, кодът е бил с 33% по-малък обем и с 40% по-малък брой файлове. Новата апликация е могла да обслужва, при равен ресурс, в сравнение с предходната, два пъти повече заявки, 35% по-бързо. Страхотно, нали?

Още предимства на Node.js:

  • Ако знаете JavaScript, който е разпространен навсякъде, можете да пишете и бекенд неща.
  • Кодът ви ще бъде по-изчистен, тъй като ще ползвате един и същ език както за фронтенд, така и за бекенд неща.
  • Node.js има най-голямата екосистема от библиотеки с отворен код. За почти всичко, което можете да се сетите, има някаква готова библиотека, която можете да ползвате.

 

Архитектура на Node.js

По-горе научихме, че Node.js е мултиплатформена среда за изпълнение на JavaScript код. Но какво всъщност е мултиплатформена среда?

Преди да се появи Node.js ползвахме JavaScript само за създаване на апликации, изпълняващи се в браузъра.  Всеки браузър разполага с т.нар. JS ENGINE, който взима написания от нас JavaScript код и го конвертира към код, който компютрите могат да разберат.

Например, за разбиране на написания JavaScript код Microsoft ползва Chakra, FireFox ползва SpiderMonkey, а Chrome ползва v8. Поради това разнообразие от енджини, JavaScript може да функционира по различен начин, в някои специфични случаи, в различните браузъри.

Браузърът осигурява мултиплатформена среда за JavaScript код. Само че, през 2009 г., създателят на Node.js, Ryan Dahl, „роди“ гениална идея – че би било страхотно да може да се изпълнява JavaScript отвъд браузъра. Затова той взе решение да ползва енджина V8 на Chrome, който е най-бързият JavaScript еджин, който съществува, и го вгради в c++ програма, именувайки тази програма Node.exe.

Тъй че, по подобие на браузъра, Node е мултиплатформена среда за изпълнение на JavaScript код. Node съдържа JavaScript енджин, който може да изпълнява JavaScript код, както и различни обекти, като тези обекти се различават от онези, които можем да изпълним в браузъра.

Например, в Node.js нямаме document.getElementById(‘ ‘);

Обаче пък имаме други възможности, например:

fs.readFile()

http.createserver()

А такива неща не можем да правим в браузър, нали?

Накратко – Node е програма, която съдържа в себе си JavaScript енджин v8, както и някои допълнителни модули, които ни дават възможности, с които не разполагаме в браузърите. Можем да работим пълноценно с файлови системи, мрежи и така нататък.

Chrome & Node.js съдържат енджина v8 в себе си, но осигуряват различна мултиплатформена среда за изпълнение на JavaScript.

Някои хора сравняват Node.js със C# и други програмни езици, но това е основна грешка, защото…

Node НЕ Е ПРОГРАМЕН ЕЗИК!!!

То е все едно да сравниш принтер със слон – едното няма нищо общо с другото.

По същия начин е грешно да сравняваме Node.js с ASP.NET, Django или Rails, защото те са фреймуърци за правене на уеб апликации. NODE не е фреймуърк, а мултиплатформена среда за изпълнение на JavaScript.

 

Как точно работи Node.js?

Node.js е асинхронна среда. Какво означава това ли?

Представете си, че сте отишли в ресторант, в който има две маси с хора – вие сте на едната. Сервитьорът идва и ви взима поръчката, след което се връща при готвача, за да му каже какво да прави. Когато му каже какво да прави, сервитьорът се връща при втората маса, взима поръчката и отива при готвача, за да му каже какво да приготви за втората маса.

Ако например средата е синхронна, същата ситуация би изглеждала по следния начин – сервитьорът идва и ви взима поръчката, след кото се връща при готвача, за да му каже какво да прави. Когато е казал на готвача какво да прави, например порция пържени картофки, той изчаква готвачът да ги приготви и едва тогава може да отиде да обслужи втората маса. Значително по-бавно от асинхронната среда, нали?

При синхронния начин на работа ние не ползваме нашите ресурси ефикасно. Ето защо Node.js е изключително бърз и ефикасен. Но все пак Node.js не се препоръчва за CPU-интензивни апликации, например конвертиращи видеа, защото при тях имаме огромен брой операции, които следва да се изпълнят от CPU-то, и по-малко такива, свързани с файловата система. Тъй като Node.js апликациите ползват само една нишка, другите нишки остават неизползваеми, което е недостатък на Node.js при такъв тип апликации. Затова Node.js трябва да бъде ползван само за правене на приложения с интензивна обмяна на данни или пък приложения, изпълняващи се в реално време.

***

Свържете се с нас за:

Получавай ПОЛЕЗНО съдържание на Твоята е-поща. АБОНИРАЙ СЕ СЕГА!

Теодор Трифонов
Теодор Трифонов
2018-10-21T17:23:17+0000
Професионалисти!
Pressy Lazarova
Pressy Lazarova
2018-07-11T10:45:43+0000
Изключителен професионализъм и чудесно отношение от екипа на Уебсело! Резултатът от съвместната ни работа е страхотен продукт, за чието развитие ще продължаваме да работим заедно.
Радинела Дамакова
Радинела Дамакова
2018-06-23T07:50:32+0000
Възхитен съм от професионализма на екипа на Webselo при изработката на сайта и Фейсбук страницата ни. Благодаря за качествената работа, както и за отзивчивостта и коректността при изпълнение на поетите ангажименти, беше удоволствие да работим заедно.
Ивета Симеонова
Ивета Симеонова
2018-06-12T14:46:26+0000
Страхотни ! :) Благодаря за всичко!
Slavi Petrov
Slavi Petrov
2018-06-06T18:28:47+0000
Супер
Teodora Savova Tessa
Teodora Savova Tessa
2018-05-28T11:26:35+0000
Коректни и сериозни. Много съм доволна от съвместната и работа!
Росен Недев
Росен Недев
2018-05-05T06:30:38+0000
Ivan Rogachev
Ivan Rogachev
2018-04-28T19:24:14+0000
Много полезна среща, ценни съвети, професионално отношение и търпение. Това са само малка част от позитивите които могат да се кажат за екипа на Уебсело. Благодаря!
Mihaela Dimitrova
Mihaela Dimitrova
2018-04-26T06:45:12+0000
Екипът на Webselo е сериозен, адекватен и изграден от професионалисти. Webselo се погрижиха за сайта на моята кантора като се съобразиха изцяло с претенциите ми за визия, структурираност и възможности. Съобразиха се и с изискванията по новия Регламент за защита на личните данни. Екипът на г-н Йовев изработи и лого на кантората, включително и визитки. Отново се справиха блестящо. Благодаря Ви много!
Mariq-Magdalena Alexandrova Petrova
Mariq-Magdalena Alexandrova Petrova
2018-04-25T09:41:38+0000
Благодаря за съвместната работа и бързите резултати!
Dimitar Hristovski
Dimitar Hristovski
2018-04-17T12:40:25+0000
Elitsa Stefanova Mironova
Elitsa Stefanova Mironova
2018-04-16T13:33:44+0000
Благодаря Ви , за проявеното търпение , професионализъм, коректност и точност !
Mira DH
Mira DH
2018-03-23T07:54:43+0000
Беше удоволствие да видим идеите си реализирани с прецизност и креативност. Благодарим за изработеното лого, което Кирил сътвори за наистина отрицателно време. Успех!
Фетея Накова
Фетея Накова
2018-03-17T17:07:42+0000
Много съм доволна от резултата ,който постигнахме при изработката на моето лого.Бях изненадана колко добре са разбрали моето търсене и ми беше трудно да си избера само един от предложените ми варианти. Желая успех на този ентусиазиран екип и със сигурност бих ползвала услугите им отново!
Krum Krumov
Krum Krumov
2018-02-28T20:15:49+0000
Много приятно се работи с екипа на WebSelo! Взимат нещата присърце и успяват да дадат ценни идеи, за които не сме и подозирали. В бъдеще със сигурност ще продължим да им се доверяваме!
Нина Кутиева
Нина Кутиева
2018-02-26T20:39:20+0000
Срещнах чудесно отношение от страна на персонала! Готови са да помагат и да дават идеи. Заедно намерихме най- доброто решение за мен! Благодаря ви искрено! Продължавайте все така!
Elena Nedyalkova Nedyalkova
Elena Nedyalkova Nedyalkova
2018-02-24T14:24:03+0000
Много благодаря за изработеното лого! Много съм доволна, препоръчвам на всички услугите на тази фирма! �
Harry Anichkin
Harry Anichkin
2018-02-02T16:29:20+0000
Misha Yan
Misha Yan
2018-02-02T08:57:22+0000
Radostin Valeov
Radostin Valeov
2018-02-01T10:08:16+0000
Dimitar Stanchev
Dimitar Stanchev
2018-01-31T17:47:00+0000
Отлична работа по изработка на нашето фирмено лого! Продължавайте все така! Поздрави!
SlimCity Bg
SlimCity Bg
2018-01-24T08:15:48+0000
Plamen Dimitrov
Plamen Dimitrov
2018-01-13T12:41:06+0000
След голямо лутане сред различни хора и фирми, най-накрая открих амбициозни хора, на които може да се разчита за всичко. След първия месец работа с тях постигнахме почти двоен ръст на продажбите спрямо предните. Винаги се отзовават на всички въпроси и проблеми, които имаме. Готови са да дадат адекватно мнение и съвет как бихте подобрили бизнеса и работата си. Няма да съжалявате, ако им се доверите. Успех.
Marian Dimitrov
Marian Dimitrov
2018-01-10T15:42:57+0000
Най-после намерих намерих фирма, която знае как да си върши работата. Написаха ми страхотни копирайтинг статии. Благодаря Ви, уникални сте! Спечелихте моето доверие и за в бъдеще ще бъдем успешни бизнес партньори!
Petko Petkov IV
Petko Petkov IV
2017-12-18T18:22:49+0000
Благодаря за страхотното лого, истински професионализъм !!!
Stanislav Nikolov
Stanislav Nikolov
2017-12-18T07:56:07+0000
Отлично свършена работа - бързо и качествено. Препоръчвам.
Ruska Kirisheva
Ruska Kirisheva
2017-12-07T11:56:32+0000
Професионалисти!!! С тях се работи с лекота, помогнаха ни за една много сериозна каша с домейни и сайтове. Препоръчваме услугите им.
Tsvetelina Zlatanova
Tsvetelina Zlatanova
2017-12-03T17:31:06+0000
Magdalena Georgieva
Magdalena Georgieva
2017-11-25T19:37:33+0000
Благодаря от името на нашия екип, на вашия екип за отлично свършената работа по изработката на лого и уеб сайт, които бяха чудесен трамплин за началото на нашия проект, и само първите стъпки в съвместната ни дейност. Продължаваме да работим заедно с Webselo по рекламата и развитието на нашия магазин. Млади сте, иновативни и креативни, радваме се че работим заедно с вас!
Александър Христов
Александър Христов
2017-11-23T16:41:42+0000
Нистина фирма която държи на комуникацията с клиентите си, добра свършена работа, винаги когато съм имал нужда и имам нужда от копирайт бих се обърнал към тях !
Тодор Тодоров
Тодор Тодоров
2017-11-23T09:04:03+0000
Благодаря на екипа на Webselo за добрата комуникация и работата по изработка на лого за нашия сайт.
Svetoslav Petkov
Svetoslav Petkov
2017-11-21T15:44:14+0000
Препоръчвам тези момчета, защото са супер професионалисти!
Katya Krancheva
Katya Krancheva
2017-11-16T18:00:51+0000
Viktor Dzhartov
Viktor Dzhartov
2017-11-05T20:05:30+0000
Много сме доволни от услугите на Webselo. Благодаря за страхотно свършената работа!
Plamen Todorov
Plamen Todorov
2017-10-17T13:09:08+0000
Доволни сме от услугине на Webselo, бързо и коректно отношение.
Victoria Ivanova
Victoria Ivanova
2017-10-16T21:17:26+0000
Vasil Angelov
Vasil Angelov
2017-09-27T11:39:13+0000
Предоставиха точно това, което исках за кратко време. 5/5
Елена Костадинова
Елена Костадинова
2017-09-18T10:22:25+0000
Много сме доволни от логото, което Webselo направиха за нашия бизнес. Ние имахме начална концепция и те ни помогнаха да я развием и я осъществиха на високо професионално ниво. Проявиха голямо търпение и разбиране докато стигнем до желания резултат. Отлично отношение към клиента и лесна комуникация.
Vasil Malchev
Vasil Malchev
2017-09-04T22:16:05+0000
Lyubomira Popova
Lyubomira Popova
2017-09-02T17:32:20+0000
Не съм клиент, а само последовател във фейса, но вие пишете със страст, която вдъхновява. Споделяте мисли, емоции и резултати, които носят стойност. Рисувате вселени с думи.
Борса Подправки
Борса Подправки
2017-09-01T13:28:56+0000
Danail Stefanov
Danail Stefanov
2017-08-30T15:35:23+0000
Невероятни професионалисти.Работят бързо и качествено.Изготвиха ми невероятно лого.Препоръчвам ги горещо и в бъдеще ще работя пак с тях!
Radoslav Zankov
Radoslav Zankov
2017-08-24T13:16:42+0000
Изработиха ми лого за много кратко време, от което съм много доволен, а и цената е добра.
Павлин Пепов Шопов
Павлин Пепов Шопов
2017-08-22T16:56:19+0000
Илиян Седефов Герганчев
Илиян Седефов Герганчев
2017-08-20T09:11:41+0000
Благодаря на Кирил за професионалната консултация за маркетинг, както и за индивидуалното обучение. Благодарение на него и екипа му си оптимизирахме кампанията и за същите пари още първия месец се наблюдава ръст в продажбите от 17.4%. Трябваше по-рано да го направим! А, да, мерси и за поправката на сайта ни - беше счупена мобилната версия. Пак ще работим!
Nikov Evgeniy
Nikov Evgeniy
2017-08-10T05:51:22+0000
Ивелина Илиянова
Ивелина Илиянова
2017-08-03T06:52:52+0000
Рангел Бараков
Рангел Бараков
2017-08-02T10:26:13+0000
Работят професионално и качествено, сайтът ни стана перфектен
Mitko Kambitov
Mitko Kambitov
2017-08-02T06:14:50+0000
Диди Златева
Диди Златева
2017-08-01T16:31:11+0000
Lachezar Nedev
Lachezar Nedev
2017-07-27T16:54:57+0000
Чудесни професионалисти, много съм доволен, не само от свършената работа но и от чудесната комуникация!
Джелал Моллов
Джелал Моллов
2017-07-26T15:12:56+0000
Работя с Webselo от скоро, но съм много доволен от качеството на услугите. Екипа е отзивчив, спазват сроковете и всичко става много лесно. Истински професионалисти !!!
Красимир Цветанов
Красимир Цветанов
2017-07-26T13:12:43+0000
Andon Delisabev
Andon Delisabev
2017-07-26T05:47:05+0000
Miroslav Kamenov
Miroslav Kamenov
2017-07-25T18:31:53+0000
Екип от професионалисти! Комуникацията с тях е лесна, качеството на услугите е на много високо ниво и си спазват сроковете.
Ivan R. Indzhov
Ivan R. Indzhov
2017-07-25T08:01:05+0000
Методи Белчин
Методи Белчин
2017-07-24T16:03:26+0000
Общността ни Каузи и Начинания искаме публично да благодарим на Webselo за изработката на две лога по проекта ни Характер бг. Webselo бяха обявили конкурс за изработка на лога, в който участвахме с идея. В последствие, получихме две лога от компанията: съвсем в бонусната им култура някак си. Макар с начало от конкурс за безплатна изработка на лого, услугата бе професионално предоставена: работа по задания от нас; текущи съгласувания от екипите, работещи по изработката на логата; кратък срок за изпълнение: отне по около седмица-седмица и половина на лого. Webselo ни помогнаха да решим свой актуален проблем: да създадем символи, с които да популяризираме каузите си за позитивно образование и образование за характер сред родители, учители, обществото като цяло в България. Изхождайки от опита си с тях, като НПО препоръчваме на други колеги НПО-а в страната да пробват услугите на Webselo!
Vladislav Dimchev
Vladislav Dimchev
2017-07-22T15:21:10+0000
Христиан Лазаров
Христиан Лазаров
2017-07-13T12:10:49+0000
Перфектна изработка на перфектна цена. Топ!
Georgi Georgiev
Georgi Georgiev
2017-07-12T12:17:51+0000
Работят супер. Справиха се с изработка на лого на високо ниво. Лесна комуникация :)
Dimitar Nikolaev Tatarski
Dimitar Nikolaev Tatarski
2017-06-18T17:41:38+0000
Нашата общност искаме публично да изкажем благодарността си към Webselo, които безвъзмездно изготвиха две лога за нашите каузи в страната: позитивното образование и образованието за характер. Участвахме в техен онлайн конкурс, който ни донесе не едно, а в последствие две лога :-). Логата бяха изработени съгласно заданията ни, дори подобрени като детайли и визия от тях. Получихме в допълнение и съвети от екипа на компанията за социалното предприемачество, което случваме, както и лични приятелства с част от служителите там. Webselo са една уникална комбинация от висок професионализъм, отлично клиентско обслужване и щедра социална отговорност!
Vessy Timeva
Vessy Timeva
2017-06-17T17:31:44+0000
Десислава Георгиева
Десислава Георгиева
2017-06-13T13:46:32+0000
Млади хора, работещи с хъс и ентусиазъм, вършещи перфекна работа и оставящи удоволетворени клиенти. Аз съм много доволна от бързата и перфектна услуга.
Hristo Atanasov
Hristo Atanasov
2017-06-10T22:10:46+0000
Росен Стефанов
Росен Стефанов
2017-05-15T21:24:05+0000
Iliycho Iliev
Iliycho Iliev
2017-05-01T18:15:51+0000
Kiril Petrov
Kiril Petrov
2017-04-29T13:57:11+0000
Доволен съм от услугите, които получавам - винаги в срок. Разчитам и за напред за точни и бързи преводи.
Stefan Stoimenov
Stefan Stoimenov
2017-02-01T18:22:44+0000
Коректно, бързо и професионално отношение. Препоръчвам на всеки, който цени качеството.
Valeri Getsov
Valeri Getsov
2017-01-26T17:08:58+0000
Качествена работа, добре оптимизирана дори по ключови думи. Ще се възползвам отново
Мирослав Цеков
Мирослав Цеков
2017-01-25T15:57:38+0000
Доволен съм от работата на колегите! Препоръчвам да се работи с тях!
Lilqna Antonova
Lilqna Antonova
2017-01-23T08:41:12+0000
Страхотен е. Изключителен професионалист.
Stefan Mitev
Stefan Mitev
2017-01-21T17:51:55+0000
Лесна комуникация и бързо изпълнение.
Bogdan Stoychev
Bogdan Stoychev
2017-01-20T22:14:05+0000
Бърза и лесна комуникация и професионално изпълнение ! Препоръчвам.
Владимир Атанасов
Владимир Атанасов
2017-01-19T19:19:51+0000
Получих превъзходна статия! Професионалисти в писането на статии! Поръчайте си - няма да съжалявате!
Emil Wasilev
Emil Wasilev
2017-01-19T18:20:52+0000
Перфектна статия, бързо и качествено си свършиха работата!
Симеон Юрукович
Симеон Юрукович
2017-01-17T21:48:36+0000
Направиха ми хубав сайт. Препоръчвам!
Aleks Ligov
Aleks Ligov
2017-01-17T21:45:02+0000
Asen Popivanov
Asen Popivanov
2017-01-17T19:25:15+0000
Ако имате нужда от статии за сайта, то тези хора ще са добър избор.
Интериорни Врати
Интериорни Врати
2017-01-17T19:00:48+0000
Професионалисти във всяко отношение! Препоръчвам за писане на текстове и на дизайн на рекламни материали!
Margarita Lazova
Margarita Lazova
2017-01-17T10:12:40+0000
Креативност, качество в комбинация с невероятно отношение и бързи отговори и реакции. Бъдете все така!
Мариян Великов
Мариян Великов
2017-01-17T06:36:29+0000
Качествено свършена поръчка, резултатите не закъсняха, ще използвам услугите отново в най-скоро време.
Kamen Kamenov
Kamen Kamenov
2017-01-16T23:46:49+0000
Qko Qkov
Qko Qkov
2017-01-16T12:49:52+0000
Професионално изпълнение, бърза реакция, видими резултати! Благодарности на екипът на Уеб Село
Georgi Mladenov
Georgi Mladenov
2017-01-16T11:46:19+0000
Krassi Spasov
Krassi Spasov
2017-01-16T07:34:51+0000
Marina Yoweva
Marina Yoweva
2017-01-16T07:32:15+0000
Коректни, креативни и експедитивни в работата си!
Весела Василева
Весела Василева
2017-01-15T21:44:34+0000
Отлични професионалисти. Много коректни във всяко отношение.
Next Reviews