Создаем почтовый клиент на Ext JS с нуля. Часть 7: Deep Linking и Router

За шесть частей мы построили полноценный почтовый клиент Ext Mail: от фундамента и моделей данных до мобильной версии и интеграции с REST API. Однако до сих пор наше приложение существовало под одним URL, который никогда не менялся. Это означало, что: при обновлении страницы приложение сбрасывалось в исходное состояние; нельзя было поделиться ссылкой на конкретное письмо … Читать далее

Создаем почтовый клиент на Ext JS с нуля. Часть 6: Интеграция с REST API

В первых пяти частях мы построили полноценный почтовый клиент Ext Mail: создали Universal-приложение, модели и хранилища, Grid и Reader, дерево меток, динамический тулбар, форму создания письма и работу с черновиками. Приложение работало и на десктопе (Classic Toolkit), и на мобильных устройствах (Modern Toolkit). Однако у нашего приложения был один существенный недостаток: данные загружались из статических … Читать далее

Создаем почтовый клиент на Ext JS с нуля. Часть 5: Выдвижное меню и Compose в Modern Toolkit

В четвёртой части мы создали базовый мобильный интерфейс Ext Mail на Modern Toolkit: NavigationView, MessagesGrid с аватарами, тулбар действий и row actions. Но для полноценной работы не хватало двух ключевых элементов: навигации по меткам и возможности создавать письма. В пятой части мы добавим: дерево меток (LabelsTree) для Modern Toolkit; выдвижное меню (slide-out menu) в стиле … Читать далее

Создаем почтовый клиент на Ext JS с нуля. Часть 4: Мобильная версия на Modern Toolkit

В первых трёх частях мы построили полноценный почтовый клиент Ext Mail для десктопа на Classic Toolkit: создали Universal-приложение, модели и хранилища, Grid и Reader, дерево меток, динамический тулбар, форму создания письма и работу с черновиками. Однако современное корпоративное приложение должно одинаково хорошо работать и на мобильных устройствах. В четвёртой части мы интегрируем Modern Toolkit и … Читать далее

Создаем почтовый клиент на Ext JS с нуля. Часть 3: Создание писем и работа с черновиками

В первых двух частях мы построили фундамент почтового клиента Ext Mail: создали Universal-приложение, описали модели и хранилища, построили Grid для списка писем, Reader для просмотра, дерево меток и динамический тулбар. Во третьей части мы научим приложение создавать новые письма: добавим кнопку Compose над деревом меток; создадим форму для написания письма с полями получателя, темы и … Читать далее

Создаем почтовый клиент на Ext JS с нуля. Часть 2: Метки, дерево и динамические действия

В первой части мы заложили фундамент почтового клиента Ext Mail: создали Universal-приложение, описали модели и хранилища, построили Grid для списка писем и Reader для просмотра. Во второй части мы расширим функциональность: добавим возможность помечать письма звёздочкой (Star/Unstar); добавим дополнительные действия в тулбар (удалить, архивировать, пометить как непрочитанное); выведем счётчик сообщений в тулбаре; создадим дерево меток … Читать далее

Создаем почтовый клиент на Ext JS с нуля. Часть 1: Фундамент приложения

В этой серии статей мы шаг за шагом построим полноценный почтовый клиент на Ext JS. Начиная с базовой структуры и заканчивая REST API и deep linking. Автор оригинала — Stuart Ashworth (Sencha MVP), его книга «Building an Email Client from Scratch» состоит из 7 частей. Мы адаптируем материал для русскоязычного сообщества и добавим пояснения. В … Читать далее

Design в Ext JS: инструменты для дизайнеров, которые не пишут код

Одна из главных проблем в веб-разработке — разрыв между дизайнерами и разработчиками. Дизайнер рисует макет в Figma или Sketch, разработчик получает его и начинает «переводить» в код. В этом процессе теряются детали, появляются расхождения, а время на согласование может растянуться на недели. Ext JS решает эту проблему на уровне инструментов. Вместо того чтобы заставлять дизайнеров … Читать далее

Accessibility в Ext JS: как создавать доступные приложения без «костылей»

Доступность (accessibility, a11y) долгое время оставалась второстепенной задачей в веб-разработке. Её откладывали «на потом», считая дополнительной нагрузкой. Однако в 2026 году ситуация изменилась: для корпоративных приложений соответствие стандартам доступности стало обязательным требованием, а не опцией. Государственные заказы, банковский сектор, здравоохранение, страхование — во всех этих отраслях приложения должны быть доступны людям с ограниченными возможностями. И … Читать далее

Adaptive в Ext JS: как создавать интерфейсы, которые работают на любом устройстве

Современный пользователь ожидает, что корпоративное приложение будет работать одинаково хорошо везде: на широком мониторе трейдера в офисе, на планшете менеджера на встрече, на смартфоне сотрудника в командировке. Задача адаптации интерфейса под все эти сценарии может показаться сложной, но Ext JS предоставляет для её решения полноценный набор инструментов — от гибкой системы макетов до декларативного управления … Читать далее