Details

Title Разработка оффлайн-режима для мобильного и веб-приложения организации совместного досуга: выпускная квалификационная работа бакалавра: направление 09.03.04 «Программная инженерия» ; образовательная программа 09.03.04_01 «Технология разработки и сопровождения качественного программного продукта» = Development of Offline Mode for a Mobile and Web Application for Shared Leisure Planning
Creators Чемодуров Артем Александрович
Scientific adviser Медведев Борис Моисеевич
Organization Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности
Imprint Санкт-Петербург, 2026
Collection Выпускные квалификационные работы ; Общая коллекция
Subjects кэширование данных ; оффлайн-режим ; Flutter ; кросс-платформенное приложение ; синхронизация ; актуальность данных ; data caching ; offline mode ; cross-platform application ; synchronization ; data consistency
Document type Bachelor graduation qualification work
Language Russian
Level of education Bachelor
Speciality code (FGOS) 09.03.04
Speciality group (FGOS) 090000 - Информатика и вычислительная техника
DOI 10.18720/SPBPU/3/2026/vr/vr26-2699
Rights Доступ по паролю из сети Интернет (чтение, печать, копирование)
Additionally New arrival
Record key ru\spstu\vkr\42585
Record create date 8/21/2026

Allowed Actions

Action 'Read' will be available if administrator prepare required files

Action 'Download' will be available if you login or access site from another network

Group Anonymous
Network Internet

Данная работа посвящена разработке системы кэширования для оффлайн-режима в кросс-платформенном приложении на Flutter. Приложение распространяется в двух форматах: мобильном для Android и веб для Windows, iOS и macOS; это создаёт основную сложность – механизм кэширования должен вести себя одинаково на всех платформах в рамках единой кодовой базы, а не решать задачу заново для каждой из них. В первой части работы изучены клиентские стратегии кэширования и подходы к поддержанию актуальности данных на разнородных устройствах. На основе этого анализа разработаны алгоритмы с двойной логикой: при наличии сети данные загружаются с сервера и записываются в кэш, при её отсутствии – используются сохранённые локально. Модуль кэширования интегрирован в существующую архитектуру приложения без изменения внешнего поведения. Синхронизация с сервером происходит при восстановлении соединения. Тестирование подтвердило корректность работы в обоих режимах и показало сокращение времени загрузки после внедрения кэша. Приложение стало стабильнее при нестабильном соединении и быстрее при повторных запросах – это и было целью. Для достижения данных результатов в работе были использованы: язык программирования Dart и фреймворк Flutter; среда разработки Android Studio; библиотеки – Hive, cached_network_image, flutter_test и mocktail; Git с размещением репозитория на GitLab; браузер Google Chrome с инструментами разработчика Chrome DevTools для тестирования веб-версии.

The thesis describes the development of a caching system for offline functionality in a cross-platform Flutter application. The application is distributed in two formats: a mobile app for Android and a web app for Windows, iOS, and macOS. Supporting multiple platforms within a single codebase means the caching layer cannot be platform-specific – it has to work the same way everywhere. The first part of the work reviews client-side caching strategies and data consistency approaches for heterogeneous device environments. Based on this analysis, a dual-logic algorithm was developed: when a network connection is available, data is fetched from the server and written to the cache; when it is not, the locally stored data is used. The caching module was integrated into the existing application architecture without altering external behavior. Synchronization with the server occurs upon connection restoration. Testing confirmed correct operation in both modes and demonstrated a reduction in load times following cache integration. The application became more stable under intermittent connectivity and more responsive on repeated requests – which was the objective. The following technologies and software were used in the course of this work: the Dart programming language and Flutter framework; Android Studio as the development environment; the Hive NoSQL library; the cached_network_image library; the flutter_test framework and the mocktail library; the Git version control system hosted on GitLab; and Google Chrome with Chrome DevTools for web version testing.

Network User group Action
ILC SPbPU Local Network All
Download
Internet Authorized users SPbPU
Download
Internet Anonymous
...