Walmart открыл исходные тексты web-платформы Electrode

Крупнейшая в мире розничная сеть 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.