Что такое JavaScript?

JavaScript — это динамический язык компьютерного программирования. Он легкий и чаще всего используется как часть веб-страниц, реализация которых позволяет скрипту на стороне клиента взаимодействовать с пользователем и создавать динамические страницы. Это интерпретируемый язык программирования с объектно-ориентированными возможностями.

Сначала JavaScript был известен как LiveScript, но Netscape изменила свое название на JavaScript, возможно, из-за волнения, вызванного Java. JavaScript впервые появился в Netscape 2.0 в 1995 году под названием LiveScript. Универсальное ядро ​​языка было встроено в Netscape, Internet Explorer и другие веб-браузеры.

Клиентский JavaScript

Клиентский JavaScript — наиболее распространенная форма языка. Сценарий должен быть включен в HTML-документ или на него должна быть ссылка, чтобы код мог быть интерпретирован браузером.

Это означает, что веб-страница не обязательно должна быть статическим HTML, но может включать программы, которые взаимодействуют с пользователем, управляют браузером и динамически создают HTML-контент.

Клиентский механизм JavaScript обеспечивает множество преимуществ по сравнению с традиционными серверными сценариями CGI. Например, вы можете использовать JavaScript, чтобы проверить, ввел ли пользователь действительный адрес электронной почты в поле формы.

Код JavaScript выполняется, когда пользователь отправляет форму, и только если все записи действительны, они будут отправлены на веб-сервер.

JavaScript можно использовать для перехвата инициированных пользователем событий, таких как нажатия кнопок, навигация по ссылкам и другие действия, которые пользователь инициирует явно или неявно.

Преимущества JavaScript

Достоинства использования JavaScript:

  • Меньше взаимодействия с сервером — вы можете проверить ввод пользователя перед отправкой страницы на сервер. Это экономит трафик сервера, что означает меньшую нагрузку на ваш сервер.
  • Немедленная обратная связь с посетителями. Им не нужно ждать перезагрузки страницы, чтобы увидеть, не забыли ли они что-то ввести.
  • Повышенная интерактивность. Вы можете создавать интерфейсы, которые реагируют, когда пользователь наводит на них курсор мыши или активирует их с помощью клавиатуры.
  • Более широкие интерфейсы. Вы можете использовать JavaScript для включения таких элементов, как компоненты перетаскивания и ползунки, чтобы предоставить посетителям вашего сайта расширенный интерфейс.

Нетфликс и node.JS

Netflix — это потоковый сервис, который предлагает широкий выбор отмеченных наградами телешоу, фильмов, аниме, документальных фильмов и многого другого — на тысячах подключенных к Интернету устройств.

Вы можете смотреть столько, сколько хотите, когда хотите, без единой рекламы — и все это по одной низкой ежемесячной цене. Всегда есть что-то новое, и новые телешоу и фильмы добавляются каждую неделю!

Netflix теперь входит в число компаний, использующих Node.JS, по следующим причинам:

  • Общий язык как для серверной части, так и для браузерной.
  • Высокая производительность — теперь страница загружается за секунды.
  • Большое количество модулей и их открытый характер.
  • Простой способ написания, отладки и разработки API.

Первоначально Netflix использовала Node.js для обеспечения потоковой передачи больших объемов данных в Интернете для более чем 182 миллионов подписчиков. Их три цели с этой ранней инфраструктурой заключались в обеспечении наблюдаемости (метрики), возможности отладки (диагностические инструменты) и доступности (регистрация службы). Результатом стала инфраструктура NodeQuark. Шлюз приложений аутентифицирует и направляет запросы в службу NodeQuark, которая затем взаимодействует с API и форматирует ответы, отправляемые обратно клиенту. С помощью NodeQuark Netflix также создала управляемый опыт — команды могли создавать собственные интерфейсы API для конкретных устройств. Это позволяет приложению Netflix без проблем работать на разных устройствах.

Помимо потоковой передачи

Однако Netflix хотел выйти за рамки веб-стриминга и заняться производством контента. Это создало несколько проблем для инфраструктуры NodeQuark и команды разработчиков. Веб-поток требует относительно немного приложений, но обслуживает огромную базу пользователей. С другой стороны, платформа для производства контента содержит большое количество приложений, обслуживающих ограниченную базу пользователей. Кроме того, приложение для создания контента должно иметь несколько уровней безопасности для сотрудников, партнеров и пользователей. Дополнительная проблема заключается в том, что разработка для производства контента в идеале идет быстро, а выпуски платформ — медленные, итерационные процессы, предназначенные для обеспечения стабильности приложений. Объединение этих двух процессов вместе кажется трудным, но альтернативой является ненужная трата времени и усилий на создание совершенно отдельной инфраструктуры.

Гермето решил, что для решения проблем Netflix ему потребуется использовать автономные модули. Другими словами, плагины! Перейдя на плагины, команда Netflix смогла разделить функции инфраструктуры, сохранив при этом возможность повторного использования кода, общего для веб-стриминга и производства контента. Затем Hermeto перевела архитектуру плагинов на следующий шаг, создав профили приложений. Профиль приложения — это просто список плагинов, необходимых приложению. Профиль считывает эти конкретные плагины, а затем экспортирует загруженный массив. Таким образом, риск того, что плагин, созданный для создания контента, нарушит работу потокового приложения, был снижен. Кроме того, разделив код на более мелкие части, команда Netflix смогла удалить движущиеся части из базовой системы, повысив стабильность.