Tramvai — фреймворк для создания веб-приложений

Tramvai — фреймворк для создания универсальных react-приложений с модульной структурой и упором на производительность. Он основа для десятков приложений Т‑Банка, предоставляет общую архитектуру и модули для большинства типовых задач и интеграций, которые только могут потребоваться разработчикам приложений.

Tramvai — фреймворк для создания универсальных react-приложений с модульной структурой и упором на производительность. Фреймворк или Framework — структура, которая дает набор инструментов, библиотек и правил для разработки приложений. GitHub — платформа для размещения ИТ-проектов. API — интерфейс программирования приложения. Серверный рендеринг или Server-Side Rendering, SSR — процесс, при котором веб-страница генерируется на сервере перед отправкой в браузер пользователя. HTML-страница — веб-документ, который создан с помощью языка гипертекстовой разметки для структурирования контента и определения его внешнего вида в браузере. Роутинг — процесс определения пути для передачи данных или управления переходами в приложении в зависимости от адреса или условий. SEO-оптимизация — комплекс мер по продвижению позиций в поисковой выдаче по определенным запросам пользователей. Core Web Vitals — набор метрик, введенный Google для оценки пользовательского опыта на веб-сайтах, включающий три основных показателя: скорость загрузки, интерактивность и визуальную стабильность. Dependency Injection (DI) — шаблон проектирования, при котором зависимости передаются извне, а не создаются внутри него. Angular — фреймворк для создания веб-приложений. Lego — конструктор. Nest.js — фреймворк для создания масштабируемых серверных приложений на основе Node.js. JavaScript — язык программирования. Веб-приложение — программное обеспечение, доступное через браузер и выполняющее определенные функции для пользователей. Application — приложение. CommonModule — модуль в Angular. Рендеринг — визуализация. Гидрация страницы — процесс, при котором статически сгенерированный HTML-код, полученный с сервера, становится интерактивным с помощью JavaScript на клиенте. SPA-переход — динамическое обновление содержимого веб-страницы без полной перезагрузки. User — пользователь. Page — страница. Хуки — функции, которые позволяют добавлять пользовательский код в определенные точки потока выполнения программы, изменяя функциональность без изменения оригинального кода. Микрофронтенд — архитектурный подход к разработке приложений, при котором приложение разбивается на независимые, слабо связанные модули. Authorization — процесс, при котором системе даются права на выполнение определенных действий, а также проверка этих прав. Action — действие. InitialState — начальное состояние. renderToString — метод, используемый в React для преобразования React-компонентов в строку HTML на сервере. React — библиотека JavaScript с открытым исходным кодом, предназначенная для создания пользовательских интерфейсов (UI). Роутинг — маршрутизация. Стейт — данные, которые могут меняться в компоненте, и при изменении которых компонент перерисовывается для отражения изменений. Hot reloading — механизм в разработке программного обеспечения, который позволяет разработчикам мгновенно видеть результаты изменений, внесенных в код, без полной остановки и перезапуска приложения. Webpack-плагин — это JavaScript-объект, который расширяет возможности сборщика и выполняет различные задачи в процессе сборки, такие как оптимизация, копирование файлов, создание HTML-страниц и так далее. Fast Refresh — быстрое обновление. Full stack — специалист, который может работать как над клиентской (frontend), так и над серверной (backend) частью веб-приложений и сайтов. Роут — маршрут или путь. Backend (бэкенд) — это внутренняя серверная часть веб-сайта или приложения, которая отвечает за всю логику, обработку данных и их хранение, оставаясь скрытой от конечного пользователя. Backend for Frontend (BFF) — архитектурный шаблон, при котором для каждого отдельного фронтенда создается специализированный бэкенд-сервис. Module Federation — технология, которая позволяет разделить крупное приложение на отдельные, независимые модули. Child Apps — общее название для приложений, разработанных для детей или с использованием детского режима. State management — управление состоянием. Redux — JavaScript-библиотека для управления состоянием приложений, предназначенная для создания предсказуемых и поддерживаемых приложений. Redux-act — вспомогательная библиотека Redux. Атомарный стор — неологизм, который может относиться к двум разным концепциям: к атомарному дизайну и к атомарным структурам хранения данных. UseStore — это функция в библиотеках для управления состоянием. UseSelector — хук из библиотеки React Redux, который позволяет компонентам извлекать данные из состояния хранилища Redux. React-Query — библиотека для управления серверным состоянием. Дедупликация — это процесс устранения повторяющихся данных путем замены их копий ссылкой на единственный экземпляр. Unit-тестирование — процесс проверки отдельных, изолированных частей код. Jest, testing-library и puppeteer — набор инструментов для автоматизации тестирования веб-приложений, используемый для написания юнит-тестов, интеграционных и сквозных тестов. Prometheus — система мониторинга и оповещения с открытым исходным кодом. Sentry — инструмент для мониторинга и отладки ошибок и проблем с производительностью в программном обеспечении. Health checks — оценка системы. Graceful shutdown — процесс корректного и предсказуемого выключения программы или сервиса, который сначала прекращает принимать новые запросы, затем дожидается завершения уже начатых задач, и только после этого освобождает все ресурсы и завершает работу. Деплой — процесс доставки готового программного продукта от разработчика на сервер или в облако, чтобы он стал доступен конечным пользователям через интернет. Логирование — процесс записи информации о событиях, происходящих в системе, приложении или программе, в специальный файл или базу данных. @tramvai/cli — утилита командной строки для фреймворка Tramvai. Development — развитие программного обеспечения. Production-сборка — финальная, оптимизированная версия программы, созданная для конечных пользователей. CLI — интерфейс командной строки. Webpack — сборщик модулей с открытым исходным кодом. Babel — транспилятор JavaScript, который позволяет разработчикам использовать новейший синтаксис ECMAScript, преобразуя его в обратно совместимый код, который будет работать в более старых браузерах и средах выполнения. Транспайлер — это программа, которая переводит исходный код одной программы на один язык программирования в эквивалентный исходный код на другом языке или на другую версию того же языка. SWC (Speedy Web Compiler) — очень быстрая компиляторная платформа на языке Rust. Granular chunking — гранулированное измельчение. SemVer — семантическое версионирование. Application Lifecycle — жизненный цикл приложения. File-System Routing — маршрутизация на основе файловой системы. View Transitions API — это функция браузера, позволяющая создавать плавные анимированные переходы между различными состояниями веб-страницы или между двумя страницами одного сайта. Dependency Injection — шаблон проектирования. Pokedex — электронное устройство в мире Покемонов. Concepts — понятия. Codesandbox — онлайн-платформа, которая предоставляет интегрированную среду разработки (IDE) для создания, запуска и обмена веб-приложениями прямо в браузере. Todo-приложение — программа для составления и отслеживания списков задач. Feature-sliced это (FSD) — это архитектурная методология для организации кода фронтенд-приложений, которая помогает создавать масштабируемые и стабильные проекты. Челлендж — вызов, испытание или задание, которое бросают самому себе или другим участникам, часто в виде соревнования. Coretech — технологическое решение или продукт. Open source — открытое ПО. Стартап — коммерческий проект на начальной стадии, основанный на инновационной идее или новой бизнес-модели, с целью быстрого масштабирования и захвата значительной доли рынка. Продакт-менеджер — специалист, отвечающий за создание и развитие продукта от идеи до вывода на рынок. SRE — инжиниринг надежной работы сайтов. Developer experience (DevEx) — совокупность ощущений, удобства и продуктивности, которые испытывает разработчик при работе с программным продуктом. Тулинг — набор инструментов, которые используются для решения определенной задачи. ServerModule— серверный модуль. RenderModule — модуль визуализации. LogModule — модуль логирования. CookieModule — модуль, используемый для работы с HTTP-куки, небольшими фрагментами данных. CommandLineRunner — интерфейс в Spring Boot, который позволяет выполнять код при запуске приложения после инициализации контекста Spring. GET — HTTP-метод. HTML — язык гипертекстовой разметки. Request Start— стартовая строка запроса. Resolve Data — разрешенный доступ к данным. Generate Page — процесс генерации веб-страницы или инструмент для ее создания. Navigation — определение местоположения и ориентации объектов.