Расширение мобильного приложения HTML5 для большего объема файлового хранилища

Моя команда пишет приложение HTML5, которое интенсивно использует кэш приложений и локальное хранилище. Наша целевая платформа — планшеты ipad и Android (и во время разработки мы активно работаем в настольных браузерах, хотя это не обязательно).

Теперь мы хотим добавить некоторые функции, доступные в автономном режиме, которые будут выходить за рамки того, что может поддерживать хранилище на основе браузера, а именно библиотеку видео и двоичного контента, размер которой будет больше, чем может обработать кэш приложения.

Без основных мобильных браузеров, реализующих API-интерфейс файловой системы html5, очень похоже, что потребуется какой-то собственный подход к приложению (ПОЖАЛУЙСТА, поправьте меня, если я здесь ошибаюсь... Я бы хотел ошибаться в этом!). Итак, я хотел бы услышать мнения / опыт людей. Мы обдумываем несколько разных идей, включающих одно или несколько из следующего:

  1. Компиляция в phonegap + использование их файла apis
  2. Использование Dropbox sdk (для чего также потребуется какая-то встроенная поддержка, не уверен, что телефонная связь будет работать)
  3. написание пользовательских нативных приложений для каждой платформы, в которых размещены элементы управления webkit, а затем предоставление большей части функциональности с помощью нашего существующего кроссплатформенного приложения html5 (в основном мы будем писать настраиваемый браузер для каждой платформы, используя стандартные элементы управления webkit).

Обратите внимание, что я поклонник № 3, потому что я чувствую, что мы могли бы выпустить относительно стабильную оболочку, но при этом сохранить кроссплатформенность html5 и простоту распространения нашего приложения. Однако я не знаю, работает ли этот подход (и/или не одобряет ли Apple такой подход — похоже на лазейку в App Store).

Очень интересно узнать, что вы пробовали и/или слышали.


person Boon    schedule 23.12.2011    source источник


Ответы (2)


Это может быть совершенно глупой идеей, но если вы ищете дешевый способ получить дополнительное хранилище, почему бы просто не использовать файл html или js для хранения данных? Вы даже можете по какой-либо причине сохранить его как 64-битный uri данных и запустить носитель изначально. Я думаю, вы могли бы даже сохранить данные, просто манипулируя манифестом, чтобы он отражал. Потребуется немного дурачества, но это должно сработать.

person ceprovence    schedule 24.12.2011
comment
Насколько я понимаю, кэш приложений имеет довольно низкий предел размера для каждого сайта (5 МБ или около того, но по-разному для каждого браузера). Несколько мегабайт — это нормально для самого нашего приложения, но небольшая картошка, если мы хотим поддерживать библиотеку контента видеоклипов, фотографий , и т.д. - person Boon; 24.12.2011
comment
Я знал, что существует ограничение примерно в 5 МБ для appcache/localstorage, но я не знал, что ограничение применяется к фактическому исходному коду. - person ceprovence; 24.12.2011
comment
На iOS есть ограничение в 50 МБ, но кэширование видео ненадежное, и файлы могут быть легко повреждены, поэтому, на мой взгляд, это не очень хорошая идея. - person Christopher Grigg; 16.01.2015

Если вы используете подход 1, у вас будут хорошие возможности для перехода на веб-приложение после того, как основные браузеры будут поддерживать File API. Вы видите, что File API в PhoneGap основан на спецификации W3C, которую будут реализовывать браузеры.

2, я начал работать над плагином Dropbox для Android PhoneGap, но мне нужно немного «свободного времени», чтобы закончить его.

3, Apple, вероятно, отклонит ваше приложение, если оно будет просто оболочкой вашего веб-сайта. Они делали это в прошлом.

Саймон

person Simon MacDonald    schedule 04.01.2012