Я пытаюсь создать автономное приложение gwt с помощью манифеста кэша HTML5 и локального хранилища , но для этого мне нужно создать файл манифеста , в котором перечислены все созданные GWT файлы, не так ли? Могу ли я сделать это во время процесса компиляции или лучше сделать это в сценарии оболочки?HTML5 Offline GWT APP
ответ
Это должно быть сделано с помощью компоновщика, так что ваши ресурсы автоматически добавляются в манифест во время компиляции. Я знаю, что существует манифест манифеста кэша HTML5, поскольку команда GWT упомянула его несколько раз, но я не знаю, где находится источник.
Ближайшей альтернативой (и, вероятно, хорошей отправной точкой для написания компоновщика HTML5) является the Gears offline linker. Представления Gears в автономном режиме довольно похожи на HTML5, поэтому, вероятно, это вопрос изменения нескольких строк, чтобы заставить его работать.
Существует также информативное видео о using GWT linkers to have your app take advantage of HTML5 Web Workers.
Я просто должен был сделать это на другой день на работе. Как и в предыдущем ответе, вам просто нужно добавить компоновщик. Вот пример того, который создает файл манифеста для пользовательского агента Safari на основе файла шаблона.
// Specify the LinkerOrder as Post... this does not replace the regular GWT linker and runs after it.
@LinkerOrder(LinkerOrder.Order.POST)
public class GwtAppCacheLinker extends AbstractLinker {
public String getDescription() {
return "to create an HTML5 application cache manifest JSP template.";
}
public ArtifactSet link(TreeLogger logger, LinkerContext context, ArtifactSet artifacts) throws UnableToCompleteException {
ArtifactSet newArtifacts = new ArtifactSet(artifacts);
// search through each of the compilation results to find the one for Safari. Then
// generate application cache for that file
for (CompilationResult compilationResult : artifacts.find(CompilationResult.class)) {
// Only emit the safari version
for (SelectionProperty property : context.getProperties()) {
if (property.getName().equals("user.agent")) {
String value = property.tryGetValue();
// we only care about the Safari user agent in this case
if (value != null && value.equals("safari")) {
newArtifacts.add(createCache(logger, context, compilationResult));
break;
}
}
}
}
return newArtifacts;
}
private SyntheticArtifact createCache(TreeLogger logger, LinkerContext context, CompilationResult result)
throws UnableToCompleteException {
try {
logger.log(TreeLogger.Type.INFO, "Using the Safari user agent for the manifest file.");
// load a template JSP file into a string. This contains all of the files that we want in our cache
// manifest and a placeholder for the GWT javascript file, which will replace with the actual file next
String manifest = IOUtils.toString(getClass().getResourceAsStream("cache.template.manifest"));
// replace the placeholder with the real file name
manifest = manifest.replace("$SAFARI_HTML_FILE_CHECKSUM$", result.getStrongName());
// return the Artifact named as the file we want to call it
return emitString(logger, manifest, "cache.manifest.");
} catch (IOException e) {
logger.log(TreeLogger.ERROR, "Couldn't read cache manifest template.", e);
throw new UnableToCompleteException();
}
}
}
GWT Применение Manifest генератор Используйте gwt2go library «s, чтобы сделать именно это. Это было легко. :)
- 1. Offline Аутентификация с использованием GWT
- 2. HTML5 Offline Web хранения база
- 3. HTML5 iphone offline webapp
- 4. HTML5 `favorite` offline caching
- 5. Обход HTML5 Offline Appcache
- 6. Offline кэш - html5
- 7. HTML5 offline странное поведение
- 8. ASP MVC offline страница с кешем app api HTML5
- 9. Offline App с помощью Open Street Map и HTML5
- 10. Offline db app для онлайн-синхронизации, кросс-платформенный, использовать HTML5?
- 11. WordPress app backebd, offline
- 12. App inventor offline
- 13. HTML5 Offline хранения не работает
- 14. iPad Offline Web App с несколькими записями
- 15. windows 8.1 app offline login
- 16. Adobe AIR app installer offline
- 17. GWT offline, загрузить данные json в html
- 18. GWT плагин для Eclipse, Luna (Offline)
- 19. Поддержка GWT для HTML5
- 20. gwt-html5-database Альтернатива?
- 21. Password Protect HTML5 Offline Application Directory
- 22. Тестирование HTML5 offline mainfest на tomcat localhost
- 23. HTML5 Offline Кэш только определенные файлы
- 24. HTML5/JS/Offline режим - запрос страницы с параметрами запроса
- 25. Приложение GWT MVP app
- 26. GWT: TabLayoutPanel crashed app
- 27. GWT Multipage App
- 28. iOS Offline Web App - индикатор выполнения?
- 29. Хранение слов для iOS offline flashcard app
- 30. Cordova-Like Hybrid App Framework - но Offline