Что такое JavaScript?

JavaScript — это язык сценариев или программирования, который позволяет вам реализовывать сложные функции на веб-страницах — каждый раз, когда веб-страница делает больше, чем просто сидит и отображает статическую информацию для вашего просмотра — отображает своевременные обновления контента, интерактивные карты, анимированные 2D/ 3D-графика, прокручиваемые видео-музыкальные автоматы и т. д. — можете поспорить, что JavaScript, вероятно, задействован. Это третий слой слоеного пирога стандартных веб-технологий, двумя из которых являются HTML и CSS.

JavaScript-фреймворки

Node.js

Node.js — это не совсем JavaScript-фреймворк; это среда выполнения. Хотя JavaScript можно написать непосредственно в веб-браузере, это не всегда желательно.

Вот почему Node.js предоставляет возможности для инструментов командной строки и сценариев на стороне сервера.

Хотя JavaScript обычно работает на стороне клиента или внешнего интерфейса, сценарии на стороне сервера ускоряют загрузку, поскольку технология браузера не требуется. Это может уменьшить разочарование пользователей и повысить SEO.

Vue.js

Vue.js называет себя «прогрессивным» фреймворком JavaScript. Название связано с его философией постепенного внедрения. В Vue.js основная библиотека ориентирована только на уровень представления, поэтому любые дополнительные функции должны внедряться постепенно.

Платформа использует архитектурный шаблон модель-представление-представление (MVVM). Этот шаблон отделяет графический пользовательский интерфейс (UI) — или представление — от бизнес-логики приложения — или модели. Уровень модели представления — это среда конвертера, которая синхронизирует данные.

AngularJS

AngularJS поддерживается Google и устраняет распространенные сложности при создании одностраничных приложений (SPA). Эта структура работает, используя словарь HTML на динамических веб-страницах. Раньше HTML можно было использовать только для статического контента.

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

Ember.js

Ember.js — это фреймворк JavaScript, использующий шаблон компонент-сервис. В отличие от традиционной архитектуры модель-представление-контроллер (MVC), компоненты Ember.js занимают центральное место в структуре. Почти все в Ember.js можно отнести к категории сервисов или компонентов.

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

Реакция

React — это платформа JavaScript, разработанная Facebook, которая упрощает процесс создания интерактивных пользовательских интерфейсов. Это основа React Native, смежного фреймворка для создания мобильных приложений.

Обе платформы имеют односторонний поток данных, который считается более интуитивным, чем двунаправленная привязка данных. Горячая перезагрузка — еще одна популярная функция фреймворков React, позволяющая разработчикам сразу видеть изменения по мере их применения.

10 крупнейших технических гигантов, использующих JavaScript

Майкрософт

Итак, вы, вероятно, не найдете JavaScript в Windows в ближайшее время, но Microsoft полагается на JavaScript во многом другом.

Во-первых, Microsoft необходимо тесно сотрудничать с JavaScript для создания веб-браузера Edge. Все браузеры должны эффективно обрабатывать и выполнять JavaScript, поэтому Microsoft разработала и поддерживает собственный механизм JavaScript для Edge. На самом деле, ходили разговоры о создании альтернативной версии NodeJS с движком Edge.

В последнее время Microsoft действительно приняла NodeJS. Они полностью поддерживают Node на облачной платформе Azure. Это одна из основных функций Azure, и они интегрировали поддержку Visual Studio для Node.

Microsoft также разработала версию Node для приложений интернет Of Things(IoT). NodeJS отлично подходит для IoT, потому что он легкий и эффективный.

PayPal

PayPal, очевидно, уже давно использует JavaScript в интерфейсе своего веб-сайта, но это только начало.

Гигант онлайн-платежей был одним из первых, кто внедрил NodeJS. Во время капитального ремонта страницы обзора своей учетной записи они решили попробовать создать страницу в Node одновременно с их обычной разработкой на Java. Версия NodeJS сработала так хорошо, что они решили использовать ее в продакшене и в дальнейшем создавать все клиентские приложения на Node. Это означает, что большая часть того, что вы видите в своей учетной записи, работает на Node.

PayPal даже дошел до создания и поддержки собственной версии Express под названием KrakenJS. Совершенно очевидно, что им нравится JavaScript в PayPal.

Нетфликс

Как и PayPal, Netflix начал использовать Java практически для всего. Они тоже столкнулись с проблемами из-за размера Java и времени, необходимого для разработки.

Со временем Netflix перешел от своей более традиционной структуры к облаку и начал внедрять NodeJS. С помощью Node Netflix смогла разбить части своего пользовательского интерфейса на отдельные сервисы. Этот более распределенный подход смог ускорить работу и снизить нагрузку на их серверы. Сегодня большая часть интерфейса Netflix работает на Node.

Групон

Раньше Groupon был позорно медленным. Почему? Они работали на Ruby on Rails. Это тот же фреймворк, который привел вас к неудачному киту в Твиттере.

Groupon представлял собой одно гигантское приложение Ruby on Rails. Из-за трудностей со скоростью и ремонтопригодностью они решили перейти на NodeJS. Node позволил Groupon перестроить весь свой веб-сайт в США, разбив все на отдельные веб-приложения NodeJS. Теперь Groupon состоит из более чем 20 приложений Node, и в целом он работает намного быстрее.

В настоящее время Groupon переводит все свои международные сайты на NodeJS и присоединилась к NodeJS Foundation. Совершенно очевидно, что они довольны своим изменением.

Убер

Uber необходимо обрабатывать множество данных в режиме реального времени. К ним непрерывно поступают миллионы запросов, и это не просто посещения страницы. Uber необходимо отслеживать местонахождение водителей, пассажиров и входящие запросы на поездки. Он должен беспрепятственно сортировать эти данные и как можно быстрее сопоставлять гонщиков.

Все это играет на сильных сторонах NodeJS и JavaScript. Node предназначен для обработки запросов и быстрой передачи данных. Его асинхронные возможности — огромная часть этого. Именно по этой причине Node занимает центральное место в пользовательском стеке Uber.

Фейсбук

Вы, наверное, знаете, что Facebook использует JavaScript. Это сложно пропустить. Что, вероятно, не так очевидно, так это то, сколько JavaScript уходит на создание Facebook и сколько Facebook участвует в разработке JavaScript.

Попробуйте отключить JavaScript в своем веб-браузере и перейдите на Facebook. Веб-сайт фактически не позволит вам войти в систему, потому что он не будет работать без JavaScript.

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

Это не останавливается на достигнутом. Facebook создал React, один из самых популярных интерфейсных фреймворков. Facebook использует React на Facebook.com, а также в Instagram и WhatsApp.

Google

Почему Google не использует JavaScript? Серьезно, это везде. Результаты поиска Google, которые появляются по мере того, как вы печатаете, попадают туда с помощью JavaScript. Веб-клиент Gmail работает на JavaScript. Гугл документы? Да, это тоже JavaScript.

Google разрабатывает и обычно открывает свои собственные инструменты JavaScript. Самый очевидный пример — AngularJS. Angular наиболее широко используется в рекламной платформе DoubleClick от Google, но это также одна из самых популярных доступных платформ внешнего интерфейса. Это даже часть стека MEAN.

Более интенсивные сервисы Google, такие как Google Docs, используют Closure Tools. Этот набор инструментов компилирует JavaScript в более быструю форму более низкого уровня, более подходящую для многофункциональных веб-приложений с высокой скоростью отклика.

Есть еще один важный момент, который стоит затронуть. Google разработал Chrome. Chrome, будучи веб-браузером, нуждался в движке JavaScript, поэтому Google также создал V8. V8 не только поддерживает Chrome, но и лежит в основе NodeJS. Итак, без Google не было бы и Node.

eBay

История eBay очень похожа на историю Netflix. Долгое время почти все в технологическом стеке eBay было основано на Java. Несколько лет назад eBay столкнулся с проблемой, для которой Java не подходила. Вместо этого они решили попробовать NodeJS.

Node работал настолько хорошо, что eBay не только продолжал использовать его для этой конкретной услуги, но и начал переносить весь свой пользовательский стек на NodeJS. Теперь почти все, с чем вы взаимодействуете на eBay, основано на Node. Конечно, под Node Java по-прежнему работает со своими базами данных, но eBay по-прежнему доверяет NodeJS.

Волмарт

Большинство людей, вероятно, не думают о Walmart как о технологической компании, но, поскольку они являются одним из крупнейших ритейлеров в мире, их розничный онлайн-бизнес огромен. Нетрудно понять, как им нужно создать технологически продвинутое веб-приложение, чтобы управлять своим онлайн-бизнесом.

Walmart начинал с Java. Это надежная платформа корпоративного уровня, которая годами была де-факто выбором. Однако Walmart требовалось что-то более быстрое и легкое для мобильного сайта. Итак, они обратились к NodeJS.

И снова Walmart начал рассматривать Node как достойную замену Java во множестве других мест. Сегодня Walmart.com, который вы видите, работает на Node. NodeJS также был идеальным выбором для других веб-приложений на их рынке, которым требуется одновременный доступ нескольких пользователей к интерфейсам управления.

LinkedIn

LinkedIn полагается на NodeJS для своего мобильного сайта. Несколько лет назад LinkedIn использовала Rails для своего мобильного сайта. Как и другие крупные приложения Rails, оно было медленным, монолитным и плохо масштабировалось.

LinkedIn перешел на NodeJS, чтобы решить проблемы с масштабированием. Асинхронные возможности Node позволили мобильному сайту LinkedIn работать быстрее, чем раньше, используя меньше ресурсов. Node также упростил совместное использование данных и создание API для разработчиков LinkedIn.

Заключение

JavaScript везде!

Спасибо за прочтение статьи!!!