Walmart открыл исходные тексты web-платформы Electrode
7 октября 2016 года
Крупнейшая в мире розничная сеть Walmart объявила об открытии web-платформы Electrode, предназначенной для создания универсальных web-приложений с использованием фреймворка React и JavaScript-платформы Node.js. Код проекта написан на языке JavaScript и распространяется под лицензией Apache 2.0.
Electrode ориентирован на обеспечение высокой скорости разработки, заменяемости компонентов, производительности и простоте развёртывания в окружении различных облачных провайдеров. Платформа позволяет разработчику сосредоточить внимание на уникальных возможностях разрабатываемой программы, активно заимствуя компоненты с реализацией типовой функциональности.
Основу платформы составляет Electrode Core, базовый каркас для создания приложения, логика работы которого определяется на сервере. Electrode Core позволяет унифицировать конфигурацию, структуру и набор используемых в приложении компонентов React. Сформированное web-приложение включает как клиентский код для работы в браузере, так и обработчики, выполняемые на сервере. Серверные компоненты поддерживают работу в различных облачных окружениях. Вторым звеном Electrode является инструментарий, позволяющий находить компоненты для своих проектов, оптимизировать JavaScript и выполнять другие сопутствующие работы. В качестве надстройки предлагается система модулей, расширяющих возможности Electrode Core.
Например, предлагается готовый модуль для реализации механизма "Above The Fold Rendering", при котором на сервере осуществляется вывод только контента для видимой области страницы, а не вместившиеся на экран элементы будут сформированы только после прокрутки пользователем страницы вниз, т.е. содержимое генерируется по мере прокрутки. Также доступны модули для кэширования сгенерированного контента на стороне сервера, Redux Router Engine для асинхронной трансляции содержимого от внешних сервисов, модули верификации CSRF и профилирования эффективности генерации контента. Примечательно, что предоставленные модули могут использоваться не только в Electrode, но и в обычных приложениях на React/Node.js.
Проект уже опробован в промышленной эксплуатации. В прошлом году интернет-магазин Walmart.com, в котором представлено более чем 15 млн товаров, был переведён на платформы React и Node.js. В процессе перевода для упрощения разработки была создана платформа Electrode, которая теперь доступна для свободного использования. В Electrode используется большая порция хорошо зарекомендовавших себя сторонних разработок, таких как библиотека построения интерфейса React, фреймворк Redux, маршрутизатор запросов React Router, упаковщик модулей Webpack, JavaScript-компилятор Babel, система проверки кода ESLint, системы тестирования Mocha и Enzyme, сборочный инструментарий Gulp.
Источники править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.