3.7. Фронтенд интерфейс

Фронтенд интерфейс - это блок, являющийся альтернативой универсальному пользовательскому интерфейсу (Generic UI). В то время как универсальный пользовательский интерфейс, как правило, предназначен для внутренних (back-office) пользователей, фронтенд интерфейс ориентирован на внешних пользователей и предоставляет больше возможностей для кастомизации внешнего вида. Фронтенд интерфейс использует хорошо знакомые фронтенд-разработчикам технологии и позволяет легко интегрировать UI-библиотеки и компоненты из обширной экосистемы JavaScript. Однако, разработка фронтенд интерфейса требует более глубокого знания современных фронтенд-технологий.

Фронтенд интерфейс может быть основан на одной из следующих технологий:

  • React

  • React Native

  • Polymer (deprecated)

  • Предпочитаемый вами фреймворк (например, Angular или Vue): для этого вы можете использовать фреймворк-нейтральный TypeScript SDK

Мы предоставляем ряд инструментов и библиотек, которые вы можете использовать для разработки вашего приложения (фронтенд клиента):

Frontend Generator

Frontend Generator - это инструмент автоматической кодогенерации, который может быть использован для ускорения процесса разработки фронтенд клиента. Его можно использовать как самостоятельный инструмент командной строки, либо через CUBA Studio. С его помощью можно сгенерировать стартовое приложение и добавить необходимые элементы, такие как, например, экраны просмотра и редактирования сущностей. Также, с его помощью можно сгенерировать TypeScript SDK.

Библиотеки компонентов и утилит для React и React Native

Мы предоставляем две библиотеки для фронтенд клиентов на базе React и React Native. Они используется в коде, сгенерированном с помощью Frontend Generator, и могут быть использованы самостоятельно. Библиотека CUBA React Core предоставляет базовую функциональность, такую, как работа с сущностями. Эта библиотека используется фронтенд клиентами на базе React и React Native. Библиотека CUBA React UI содержит UI-компоненты. Она использует UI-кит Ant Design и используется клиентами на базе React.

CUBA REST JS library

CUBA REST JS - это библиотека, отвечающая за взаимодействие с универсальным REST API. Фронтенд клиенты используют универсальный REST API для коммуникации со средним слоем. Однако, вам не нужно вручную слать запросы из вашего кода. Если ваш фронтенд клиент использует React или React Native, компоненты CUBA React Core во многих случаях будут сами осуществлять эту коммуникацию, используя CUBA REST JS. Если вы используете другой фреймворк, или вам требуется бо́льшая свобода действий, вы можете использовать CUBA REST JS напрямую.

TypeScript SDK

TypeScript SDK генерируется с помощью Frontend Generator и является описанием сущностей, представлений и фасадов REST-сервисов вашего проекта на языке TypeScript. SDK может использоваться для разработки фронтенд клиента с использованием предпочитаемого вами фреймворка (не поддерживаемого "из коробки") или для разработки BFF (Backend for Frontend) на базе Node.js.

Узнать о том, как использовать эти инструменты для разработки вашего фронтенд клиента, можно в Руководстве по фронтенд интерфейсу.