Параметры движка Javascript для Android (без WebKit) - PullRequest
2 голосов
/ 12 января 2012

Мы создали приложение HTML5 + Javascript и хотели бы перенести его на Android.Мы уже знаем, что WebKit не способен запускать приложение HTML5, потому что

  • Гетерогенная кодовая база Android плохо поддерживает последние подвиги HTML5

  • Мы используем WebGL

  • Сложный пользовательский интерфейс HTML5 слишком медленный для визуализации на Android WebKit

Однако логика нашего основного приложения все еще находится в Javascript.

Сейчас ищем способы

  • Запускать логику приложения напрямую портированной (скопированной) Javascript

  • привязать себя к API Java Java UI APIлегко

  • Создание собственного пользовательского интерфейса Android на основе этой логики Javascript

  • Создание WebGL-совместимых привязок для Android OpenGL ES и доступ к графическому API из Javascript

  • Надеемся, JIT или приличная производительность

Какие варианты у нас есть для пользовательских сред выполнения JS на Android?Я знаю, что Firefox Aurora уже делает это;Firefox - это в большей степени приложение на основе JS, и теперь они переходят с XUL на собственный пользовательский интерфейс Android в сборках Aurora.

Полученное приложение должно быть производственного качества и подлежать распространению на Android Market.

Ответы [ 2 ]

0 голосов
/ 16 января 2012

Взгляните на новый собственный код пользовательского интерфейса для Firefox Mobile, он встраивает Gecko (и, следовательно, SpiderMonkey), и обладает всеми возможностями содержимого Firefox для настольных компьютеров, включая WebGL.

Обратите внимание, однако, что Firefox Mobile делал что-то очень похожее на то, что вы хотите: встраивать (и предоставлять необходимые API доступа к устройствам) движок Gecko, а затем выполнять весь пользовательский интерфейс и логику приложения с помощью XUL и JavaScript.Это приводит к значительным проблемам с производительностью и является основной причиной, по которой мы сейчас работаем над пользовательским интерфейсом Java для мобильных устройств.

Как уже упоминалось в staktrace, если вам нужен WebGL, вам потребуется DOM, а это означает, что вы 'Вам понадобится Геккон в полном объеме.Или вы можете использовать OpenGL ES напрямую с графическими API Android.Может быть возможно извлечь или повторно использовать часть кода Gecko WebGL и создать собственную привязку OpenGL JavaScript, но это не будет WebGL.

0 голосов
/ 12 января 2012

Если вам нужен весь HTML5 (и особенно WebGL), вам также понадобятся DOM API, которые не являются частью SpiderMonkey. SpiderMonkey - это только основной интерпретатор языка Javascript, и он не содержит привязок браузера, таких как объекты окна / документа / элемента. Так что на самом деле, если вы хотите использовать HTML5 + JS на Android, вам нужно встроить весь браузер, что нелегко сделать с Firefox Aurora.

...