Создание автономного приложения HTML5 с постоянным хранилищем
Я должен создать приложение HTML5, которое загружает контент, когда у вас есть подключение к Интернету. После этого вы можете потерять связь и продолжать работать над ней. Когда соединение доступно, оно должно синхронизировать все данные с сервером. Он должен сохранять данные после перезапуска программы / браузера. Я думаю, что Slack и Visual Studio Code написаны таким образом.
Согласно моим исследованиям, я должен использовать файл Manifest для загрузки ресурсов и использовать File API
На данный момент я обнаружил, что Chrome devTools являются лучшими для этой цели.
У вас есть другие идеи, как я могу создать такое приложение? Важно то, что он должен быть кроссплатформенным.
2 ответа
Вот некоторые из моих опытов работы с такими приложениями:
Для создания кроссплатформенного мобильного приложения HTML5 вы можете использовать Apache Cordova. Есть много мошенников для cordova, которые имеют доступ к вашему устройству, например, сетевой плагин, который может читать тип соединения (Wi-Fi / сотовая связь) или онлайн-статус. Поэтому это, безусловно, лучшее решение, чем классический сайт.
Для того, чтобы управлять своими данными в приложении локально на телефоне, вы можете использовать одностраничную Javascript MVC-Framework. EmberJS вместе с Ember-Data имеет отличные возможности для управления моделями и модельными связями. Есть адаптер localStorage, который позволяет использовать HTML5 localStorage без какой-либо дополнительной настройки. (Есть даже проект ember-sync, который отвечает вашим требованиям, но, поскольку он находится в альфа-фазе, вы, вероятно, не захотите использовать его в производстве)
Как я уже говорил выше, HTMLS localStorage - это, вероятно, то, что вы хотите использовать для сохранения данных на телефоне пользователя. Однако, если ваши данные становятся слишком большими для localStorage (~ >5 МБ), вы можете положиться на SQLite-плагин cordova. Вам не нужно будет использовать File-API самостоятельно.
Как вы указали, инструменты chrome dev-tools являются отличным способом отладки вашего приложения. Они работают безупречно для веб-просмотров Cordova. Кроме того, Safari имеет возможности удаленной отладки для устройств iOS. Но самое лучшее: вы можете писать и отлаживать большую часть своего приложения в своем браузере, поскольку оно основано на HTML/JS/CSS. Ember значительно улучшил обработку ошибок по сравнению с последними выпусками, и с расширением google-chrome ember-inspector также очень помогает во многих случаях.
В целом, поскольку кордова иногда была болезненной, пришло состояние, что вы можете работать с ней очень продуктивно и эффективно. То же самое касается Ember и Ember-Data. Просто попробуйте. Удачи!
Вы смотрели на NW.js?
Это компактный фреймворк для сборки html-приложений, работает на linux/win/OSX.