О клиенте
Клиент — цифровая издательская платформа с библиотекой профессиональных и образовательных eBook-изданий. Компания распространяла контент через мобильные приложения и веб-сервисы, поддерживая чтение на смартфонах и планшетах.
По мере роста каталога платформа начала переходить от PDF-документов к EPUB. Этот формат лучше подходит для мобильного чтения, поскольку автоматически адаптирует контент под размеры экрана и поддерживает гибкую верстку текста.
Компания планировала выпустить собственное приложение для чтения EPUB для Android и iOS. Однако создание собственной системы отображения EPUB-файлов потребовало бы отдельной команды, глубокой экспертизы в работе с XHTML, CSS и XML, а также значительно увеличило бы сроки разработки.
Чтобы ускорить запуск продукта, клиент подключил epuBear SDK — кроссплатформенный EPUB SDK для мобильных приложений, разработанный СКЭНД.
- Регион: глобальный
- Отрасль: цифровое издательство / EdTech
- Срок реализации: около 4 месяцев
Задача
Клиент начал с собственного прототипа мобильного EPUB-приложения, но быстро столкнулся с типичными сложностями такой разработки.
EPUB-файлы содержат XHTML, CSS и XML-компоненты, которые необходимо корректно обрабатывать и отображать на разных устройствах. При этом структура EPUB-книг может существенно отличаться в зависимости от издателя и типа контента.
Основные сложности проекта включали:
- разработку собственной системы отображения EPUB для Android и iOS;
- адаптацию пользовательского интерфейса под смартфоны и планшеты;
- медленную загрузку больших EPUB-файлов;
- высокое потребление памяти в ранних версиях приложения;
- реализацию современных функций чтения;
- риск существенного увеличения сроков разработки с нуля.
Кроме того, клиенту требовались функции, без которых сложно конкурировать с современными eBook-платформами:
- навигация по главам;
- закладки;
- поиск по тексту;
- настройка размеров шрифта;
- ночной режим.
Клиенту нужна была готовая техническая основа, которая позволила бы команде сосредоточиться на развитии продукта, а не на низкоуровневой обработке EPUB.
Основные цели проекта
Перед командой стояло несколько задач:
- ускорить разработку приложения для чтения EPUB для мобильных устройств;
- обеспечить одинаковую работу приложения на Android и iOS;
- добиться быстрого отображения EPUB-контента;
- реализовать современные функции мобильного чтения;
- создать основу для дальнейшего развития платформы.
Обзор проекта
Мы интегрировали epuBear SDK в мобильную среду клиента и на его основе разработали кроссплатформенное EPUB-приложение.
SDK объединил обработку EPUB-файлов, рендеринг страниц и навигацию в едином программном ядре. Благодаря этому команда клиента смогла сосредоточиться на пользовательских функциях приложения, а не на разработке собственной системы отображения EPUB-файлов.
Платформа обеспечила одинаковую логику работы на Android и iOS и поддержала обработку тысяч EPUB-книг, включая большие издания со сложной структурой и большим количеством форматирования.
На базе epuBear SDK команда реализовала:
- навигацию по страницам и главам;
- закладки;
- поиск по тексту;
- настройку шрифтов;
- ночной режим.
Легковесное ядро на C++ обеспечило быстрый рендеринг страниц и снизило потребление памяти даже при работе с крупными EPUB-файлами.
После запуска разработанное решение стало основным мобильным инструментом для чтения электронных книг на платформе клиента. Архитектура решения также позволила в будущем добавить облачную библиотеку и синхронизацию между устройствами.
Решение
Финальная версия продукта представляла собой кроссплатформенное приложения для чтения EPUB файлов для Android и iOS, адаптированный под мобильные приложения цифровых издательских платформ.
В основе решения использовался движок отображения EPUB epuBear на C++. Для Android и iOS были реализованы нативные оболочки, обеспечивающие интеграцию SDK с мобильными приложениями.
EPUB-читалка поддерживает:
- навигацию по страницам и главам;
- закладки и аннотации;
- поиск по тексту;
- настройку размеров шрифта;
- ночной режим чтения;
- обработку мультимедийного контента;
- отображение многоязычного текста, включая кириллицу и азиатские языки.
Архитектура SDK также позволяла в дальнейшем добавить:
- DRM-защиту EPUB-контента;
- облачные библиотеки;
- синхронизацию между устройствами;
- аналитику чтения.
Ключевые возможности приложения для чтения EPUB
- Движок отображения EPUB: Обрабатывает XHTML, CSS и XML-структуры EPUB-файлов и быстро отображает контент на мобильных устройствах.
- Кроссплатформенная архитектура: Ядро на C++ и нативные оболочки позволяют использовать одинаковую логику обработки EPUB на Android и iOS.
- Современные функции чтения: Навигация по главам и страницам, закладки, поиск по тексту, настройка шрифтов и ночной режим.
- Поддержка мультимедиа и многоязычного контента: Приложение для чтения EPUB корректно работает с аудио, видео и текстами на разных языках, включая латиницу, кириллицу и азиатские письменности.
- Оптимизация производительности: Легковесная архитектура ускоряет открытие EPUB-файлов, обеспечивает плавный рендеринг страниц и снижает потребление памяти даже при работе со сложными книгами.
Технологический стек
- Core SDK: epuBear (Движок отображения EPUB на C++).
- Мобильные платформы: Android (Java), iOS (Swift), Xamarin (C#).
- Рендеринг: Движок обработки EPUB XHTML/CSS.
- Архитектура: Кроссплатформенная интеграция EPUB SDK.
- Оптимизация производительности: Оптимизация памяти и рендеринга на мобильных устройствах.
Результаты
После интеграции epuBear SDK клиент запустил мобильное EPUB-приложение с библиотекой из тысяч книг.
Проект позволил:
- сократить сроки разработки примерно на 50% по сравнению с созданием собственного решения;
- ускорить загрузку EPUB-файлов и рендеринг страниц;
- снизить потребление памяти при работе с большими EPUB-книгами;
- обеспечить стабильную работу приложения на Android и iOS;
- реализовать современные функции чтения и персонализации;
- создать техническую основу для дальнейшего развития платформы.
Благодаря epuBear SDK клиент получил готовые мобильные приложения для работы с электронными книгами в формате EPUB без необходимости разрабатывать собственный компонент обработки и отображения EPUB-файлов с нуля.