дипдом. Диплом_Юмжана. LoungebarMojo
Скачать 1.59 Mb.
|
1.4. Используемый стек технологий Node.jsNode.js (Node) — это платформа с открытым исходным кодом для работы с языком JavaScript, построенная на движке Chrome V8. Она позволяет писать серверный код для веб-приложений и динамических веб-страниц, а также программ командной строки. В основе платформы — событийно-управляемая модель с неблокирующими операциями ввода-вывода, что делает ее эффективной и легкой.До появления Node.js приложения, которые написаны на языке программирования JavaScript, можно было запускать только в браузере. С появлением платформы стало возможно писать на JavaScript не только в браузере, но и на сервере. Платформа работает на движке V8, транслирующем JavaScript в машинный код. Node.js — это приложение C++, которое получает на входе код JavaScript и выполняет его. Чтобы взаимодействовать с устройствами ввода-вывода на компьютере, в платформе предусмотрен собственный интерфейс на C++. Таким образом, платформа превращает специализированный скриптовый язык JavaScript в язык общего назначения, поэтому на Node.js можно писать любые компьютерные программы. Node.js позволяет пользоваться единым языком JavaScript для написания кода и на стороне клиента (Frontend), и на сервере (Backend). Эти возможности Node.js важны для разработки приложений реального времени, которые основаны на событиях. Платформа позволяет писать программы для разных ОС: Linux, OS X и Windows, может использоваться для создания API. Также Node.js применяется для разработки кросс-платформенных приложений: например, списка задач, который должен работать на разных платформах, синхронизировать данные в реальном времени и отправлять на мобильное устройство. Node.js используется при создании сервисов с постоянным обменом информацией с пользователем: социальных сетей, онлайн-игр, чатов, систем совместной работы над проектом, онлайн-редакторов текста и пр. Node.js лежит в основе Internet of Things, или просто IoT. Платформа помогает управлять приборами и создавать серверы, способные одновременно обрабатывать большое количество запросов. Многие крупные компании используют Node.js. Например, eBay и веб-версия PayPal в процессе перехода, а LinkedIn, полностью отказавшиеся от Ruby on Rails в пользу Node.js еще в 2012 году, заявили о 20-кратном ускорении 27 серверов. Среди других известных компаний — Yahoo, Netflix, Uber, Walmart, Google и многие другие. Node.js работает по однопоточному принципу в рамках событийно-ориентированной модели. Его архитектура не блокирует ввод и вывод. При этом подходе: все запросы обрабатываются в рамках одного потока, веб-сервер не тратит время на ожидание ответа, веб-сервер посылает запросы и обрабатывает ответы по мере их поступления. Таким образом, веб-сервер всегда находится в работе, а не в процессе ожидания. Такой способ позволяет эффективно использовать ресурсы и выполнять команды намного быстрее. Отличным примером является загрузка страницы сайта. Представьте, вы хотите загрузить страницу сайта. Веб-ресурс может показаться пользователю, как только браузер получит весь необходимый контент. При использовании обычного веб-сервера с многопоточной системой каждый файл (картинка, название, основной текст, фон) будет запрашиваться по отдельности. Например, сначала фон, затем, как только данные фона будут получены, веб-сервер отправит запрос на картинки и так далее. Из-за долгого ожидания ответа страница будет грузиться дольше. Как мы уже говорили Node.js не тратит время на ожидание. Во время поиска фоновой картинки нода запросит другую картинку. За счёт этого сайт загрузится быстрее. Однопотоковая система работает благодаря циклу событий, который состоит из 6 фаз. Практически на каждой фазе выполняются коллбэки (обратные вызовы) — функции, которые срабатывают сразу после завершения работы предыдущих функций. Чаще всего платформу Node используют для создания веб-сервисов, которые требуют интенсивного обмена информацией с пользователями, например, чатов, социальных сетей и подобных систем. Также Node хорошо подходит для разработки RTA — веб-приложений, которые реагируют на действия пользователя в режиме реального времени. Например, онлайн-редакторов типа Google Docs, который позволяет работать над одним документом нескольким пользователям одновременно. Любой сложный проект состоит из файлов с кодом. Благодаря файловой системе удобно структурировать проект, а также выносить нужные части для других проектов. Каждый файл в Node.js называется модуль. Модуль можно подключить с помощью функции require(). В скобках нужно указать путь к файлу. Набор модулей уже обширен. Например, вы можете использовать модуль Node.js PostgreSQL для взаимодействия с базой данных[10]. |