Изменение веб-сайта по умолчанию на Apache Cordova - Android

В моей команде мы разрабатываем приложение, которое будет воспроизводиться на планшетах, проект был в значительной степени разработан и протестирован в Google Chrome.

В это время мы вставляем этот webapp на Apache Cordova, чтобы отобразить его как родное приложение на Android (и позже на iOS), но приложение не отображает хорошо на планшете, это из-за версии WebKit, который зависит от каждой версии Android и не работает, как в Chrome.

Вопрос... Есть ли способ изменить версию webkit, которая работает с Apache Cordova? (или любой другой движок веб-рендеринга)

Ответ 1

В настоящее время нет возможности изменить версию Webkit, используемую Apache Cordova, потому что Cordova использует собственный компонент Android WebView, основанный на старой версии Webkit. Собственный Android WebView быстро становится IE 6 мобильного мира, если его еще нет.

ИЗМЕНИТЬ WHOOO! Android 4.4 объявила, что WebView по умолчанию теперь будет построен поверх Chromium! Это означает, что приложения Cordova, работающие на Android 4.4, должны работать намного быстрее (новый JS-движок) и поддерживать дополнительные функции (вещи HTML5). По-прежнему существует много путаницы в этом новом WebView и что это значит. Самая лучшая статья, которую я прочитал до сих пор, находится здесь: http://www.mobilexweb.com/blog/android-4-4-kitkat-browser-chrome-webview

Многие люди поняли, что это становится большой проблемой для приложений Кордовы. Была экспериментальная работа по созданию версии WebView, которая использует источник Chromium (и, следовательно, обновленную версию Webkit (Blink?)), Вы можете просмотреть здесь код: https://github.com/pwnall/chromeview Проверьте вкладку "Проблемы" и следуйте ей; Я получаю несколько писем каждую неделю от людей, подающих жалобы. Я думаю, что некоторые вилки опережают других, и, надеюсь, они приближаются. (Согласно архивам списков рассылки Cordova, Opera смогла получить это, работая над 2.2, но я не могу найти какой-либо код или что-то большее, чем прохождение ссылки.)

Если вы можете получить WebView, созданный с помощью Chromium, не должно быть так сложно отключить, какой класс WebView использует Cordova; Я почти уверен, что эта способность уже была добавлена ​​в Кордову с этим и подобными коммитами: https://git-wip-us.apache.org/repos/asf?p=cordova-android.git;a=commit;h=f6049881

Я думаю, что многие люди задерживают дыхание, что Android 5.0 наконец-то получит обновленный WebView, который использует источник Chromium, и будет обновляться синхронно с Chromium... если это так, это будет потрясающе, но он все равно уходит нас с 4.0 и ниже, похоже, не работает вообще.

Ответ 2

Я предлагаю проверить CrossWalk. Он разработан Intel и использует движок рендеринга Blink (такой же, как хром). Вы упаковываете его с помощью своего приложения cordova, а затем можете использовать тот же движок веб-рендеринга для всех устройств и версий 4.0 +.

https://crosswalk-project.org/

Примечание. Он добавляет около 20 МБ к размеру вашего приложения, но я бы сказал, что незначительный для головных болей он спасет вас в кросс-тестировании устройств/версий, которые вам нужно будет сделать.

Зайдите сюда, чтобы начать работу с пешеходным переходом и кордорой.. https://github.com/crosswalk-project/crosswalk-website/wiki/Create-Sample-App-With-Crosswalk-Cordova-Android