Node JS

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

Опитайте сами »

Изтеглете Node.js

Изтеглете Node.js от официалния уеб сайт на Node.js: https://nodejs.org

Всичко за Node.js

Като асинхронна машина управлявана от събития JavaScript машината за изпълнение на Node.js е проектирана за изграждане на мащабируеми мрежови приложения. В следващия пример „здравей, свят“ много връзки могат да се обработват едновременно. При всяка връзка, обратното повикване се задейства, но ако в даден момент Node.js вече няма работа, ще заспи.

Това е в контраст с по-често срещаният модел днес на паралелност, при който нишките за обработка на данни в ОС са заети. Мрежите, базирани на нишки, са относително неефективни и много трудни за използване. Освен това потребителите на Node.js нямат място да се притесняват от блокиране на процесите, тъй като при Node.js няма заключвания. Почти никоя функция в Node.js не изпълнява директно I/O, така че процесът никога не блокира. Тъй като нищо не блокира, мащабируемите системи са много удобни за разработване в Node.js.

Node.js е подобен по дизайн и повлиян от системи като Ruby’s Event Machine и Python’s Twisted. Node.js завежда модела за събитията малко по-далеч. Той представя цикъл на събития като конструкция по време на изпълнение, а не като библиотека. В други системи винаги има блокиращо повикване за стартиране на цикъла на събитията. Обикновено поведението се дефинира чрез обратно извикване в началото на скрипта, а в края сървърът се стартира чрез блокиращо повикване като EventMachine :: run (). В Node.js няма такова повикване за начало на събитието. Node.js просто влиза в цикъла на събитията след изпълнение на входния скрипт. Node.js излиза от цикъла на събитията, когато няма повече обратни обаждания за изпълнение. Това поведение е като JavaScript на браузъра – цикълът на събитията е скрит от потребителя.

HTTP е вграден в Node.js, проектиран с оглед на работа със стрийминг и ниска латентност. Това прави Node.js подходящ за основа на уеб библиотека или рамка.

Node.js като е проектиран да работи без нишки, не означава, че не можете да се възползвате от множеството ядра във вашата среда. Дъщерните процеси могат да бъдат породени с помощта на API на child_process.fork() и са проектирани да бъдат лесни за комуникация. Върху същия интерфейс е изграден клъстерният модул, който ви позволява да споделяте сокети между процеси, за да разрешите балансиране на натоварването върху вашите ядра.

Вижте още