Создание автономного приложения HTML5 с постоянным хранилищем

Мне нужно создать приложение HTML5, которое загружает контент, когда у вас есть подключение к Интернету. После этого вы можете разорвать соединение и продолжить работу над ним. Когда соединение снова доступно, оно должно синхронизировать все данные с сервером. Он должен сохранять данные после перезапуска программы/браузера. Я думаю, что Slack и Код Visual Studio написан таким образом.

Согласно моим исследованиям, я должен использовать файл манифеста для загрузки ресурсов и использовать Файловый API

На данный момент я обнаружил, что для этой цели лучше всего подходят Chrome devTools.

Есть ли у вас другие идеи, как я могу создать такое приложение? Важно то, что он должен быть кроссплатформенным.


person Robert    schedule 13.05.2015    source источник
comment
посмотри на локальном хранилище   -  person Alex    schedule 13.05.2015
comment
Локальное хранилище и offline.js   -  person michaeln    schedule 13.05.2015


Ответы (2)


Вы ознакомились с NW.js?

Это компактный фреймворк для создания html-приложений, работает на linux/win/OSX.

person gerryino    schedule 13.05.2015
comment
Хм, выглядит интересно, но это все еще альфа-версия - не годится для коммерческого использования ;) - person Jacob Sobus; 13.05.2015

Вот мой опыт работы с такими приложениями:

  • Чтобы создать кроссплатформенное мобильное приложение HTML5, вы можете использовать Apache Cordova. Есть много пугинов для кордовы, которые имеют доступ к вашему устройству, например. сетевой плагин, который может считывать тип подключения (wi-fi/сотовая связь) или онлайн-статус. Поэтому это, безусловно, лучшее решение, чем классический веб-сайт.

  • Чтобы управлять своими данными в приложении локально на телефоне, вы можете использовать одностраничную Javascript MVC-Framework. EmberJS вместе с Ember-Data имеет отличные возможности для управления моделями и отношениями между моделями. Существует адаптер localStorage, который позволяет использовать локальное хранилище HTML5 без какой-либо дополнительной настройки. (Есть даже проект ember-sync, который соответствует вашим требованиям, но, поскольку он находится в альфа-фазе, вы, вероятно, не хотите использовать его в производстве)

  • как я сказал выше, localStorage HTML5, вероятно, является тем, что вы хотите использовать для сохранения данных на телефоне пользователя. Однако, если ваши данные становятся слишком большими для localStorage (~> 5 МБ), вы можете положиться на плагин Cordova SQLite. Вам вообще не нужно будет использовать File-API самостоятельно.

  • Как вы уже заметили, инструменты разработчика Chrome — отличный способ отладки вашего приложения. Они работают безупречно для веб-просмотров Кордовы. Кроме того, Safari имеет возможности удаленной отладки для устройств iOS. Но самое лучшее: вы можете писать и отлаживать большую часть своего приложения в своем браузере, поскольку оно основано на HTML/JS/CSS. Ember значительно улучшил обработку ошибок по сравнению с последними выпусками, а с расширением google chrome ember-inspector также очень помогает во многих случаях.

В общем, так как кордова раньше иногда была болезненной, то пришла в такое состояние, что с ней можно работать очень продуктивно и эффективно. То же самое касается Ember и Ember-Data. Просто попробуйте. Удачи!

person user3200478    schedule 13.05.2015