Мне было поручено сделать веб-приложение моей компании доступным в автономном режиме. Прежде чем я перейду к фактической фазе разработки, я хочу быть уверен, что моя текущая стратегия не окажется провальной.
Сначала я подумал об использовании кеша приложений html5, но после проведения некоторых тестов я обнаружил, что он, похоже, кэширует не операции на стороне сервера, а фактический отображаемый html (пожалуйста, поправьте меня, если я ошибаюсь). Это не сработает, потому что отображаемый html зависит от того, кто в данный момент вошел в систему. Из моих тестов он всегда отображал html, как если бы последний человек, который вошел в систему (онлайн), вошел в систему.
Моя текущая стратегия такова: я кэширую только страницу входа и автономную страницу (.html), чтобы соответствовать каждой странице aspx, которая должна быть доступна в автономном режиме. Каждый успешный вход в систему (онлайн) приводит к созданию или обновлению базы данных Web SQL или IndexDB (в зависимости от браузера) со всеми данными, необходимыми этому человеку для работы в автономном режиме, включая таблицу, которая будет использоваться для учетных данных для входа. Таким образом, единственным требованием для входа в систему в автономном режиме является вход в систему с вашими учетными данными хотя бы один раз.
Меня беспокоит то, что я слишком усложняю это. Чтобы это работало, мне нужно будет создать html-страницу для каждой текущей страницы (много страниц), и мне придется переписать все, что в настоящее время делается на сервере, на JavaScript, включая проверку, вызовы базы данных, заполнение элементов управления такие как выпадающие списки и сетки данных и т. д. Также все, что я изменяю в будущем, потребует последующего автономного изменения.
Есть ли устоявшаяся передовая практика для того, что я пытаюсь сделать, которую я упускаю из виду, или я рискую выйти на новый уровень?