Есть ли лучший веб-обзор для Android?
Есть ли лучший веб-обзор для Android? В собственных документах Google упоминается не полагаться на объект webview.
Но для использования webkit кажется странным, что он настолько ограничен по сравнению с другими браузерами webkit, которые используются на мобильных устройствах со сравнимым оборудованием.
Это проявляется в реализациях jQuery для мобильных устройств или аналогичных приложений для веб-приложений. Версия Android страдает замедлением, проблемами с воспроизведением и плохим пользовательским интерфейсом, где другие мобильные устройства, например, iphone, будут работать нормально. они оба используют webkit. и вне приложения, фактический браузер для Android отлично работает.
Есть ли способ действительно решить проблему андроида на более низком уровне? Кто-нибудь сделал более полный веб-объект для Android?
Спасибо за понимание.
Ответы
Ответ 1
Я боюсь, что оба ответа (Commonsware и Fuzzical Logic) избегают реальности.
Реальность нашего двухлетнего опыта разработки веб-приложения HTML5 и более позднего приложения PhoneGap (гибридный с использованием веб-представления) для iOS, Android и Windows Phone:
Отлично работает на iOS (как Safari, так и в WebView), работает разумно в Chrome на Android, IE в Windows 8 и IE WebView (все проблемы, но могут быть решены), но остается кошмаром в Android WebView.
WebView в Android был сломан и по-прежнему сломан после обновления KitKat с заменой Chromium. Он просто падает на обычный HTML5 (даже не доходя до проблем с Javascript). Вы найдете много людей в сети, наблюдающих подобные вещи.
Такие вещи, как "Поддержка Flash", не имеют ничего общего с этим - Flash это не HTML5. Независимо от того, хочет ли производитель поддерживать определенный плагин (или, в данном случае, целое промежуточное ПО), зависит от него. Я всегда понимал решение Apple, и в WebView это делает еще меньше смысла.
Таким образом, проблема связана с проблемой Android/Google, так как сторонники этой платформы хотят ее отрицать. Конечно, это особенно неудобно для компании, которая всегда плакала "открыто", а затем не могла доставить рабочий компонент браузера HTML5 через несколько лет.
Но ваш вопрос был, если есть какой-либо другой WebView от кого-либо еще:
Хорошо, мы будем рады услышать об этом. К сожалению, мы также не нашли его до сих пор, и причина, вероятно, в том, что было упомянуто в вышеупомянутых сообщениях: его очень сложно реализовать, и он будет зависящим от оборудования (аппаратное ускорение и т.д.). Однако, поскольку Chrome работает по крайней мере разумно сейчас (после стольких лет...), я задаюсь вопросом, является ли отсутствие подобного качества в Chromium WebView намеренным Google, пытаясь удержать людей от создания замечательных веб-приложений или гибридных приложений. (Совершенно противоположно тому, что делает Microsoft).
Ответ 2
НКА,
Поймите, что я согласен с Commonswares и почти всем, что указано в ответе. Однако, похоже, этот вопрос подразумевает, что существует проблема, с которой вы сталкиваетесь (понимаете или понимаете), и хотите найти/разработать более адекватное решение для своих нужд.
Решение вопроса и ответов, которые вы, вероятно, собираетесь получить:
Я считаю, что критика со стороны "Commonswares valid объясняется тем, что вы не указываете , почему или , как предоставленный объект платформы неудовлетворительный, а также вы указываете почему или , когда полагаете, что Google сказал, что указанный объект ненадежен. Если вам нужна лучшая обратная связь, отредактируйте свой вопрос, чтобы сообщить об этом, и здесь у вас будет меньше проблем.
Далее, как объясняется ниже, вы подразумеваете, что это проблема с платформой Android (фактически, почти прямое ее утверждение), и это не так. Слишком много соображений в широком круге просмотра веб-страниц, которые нужно полностью решить простым управлением, таким как WebView. Microsoft столкнулась с той же проблемой со своим встроенным IE COM-объектом еще в 90-х годах. Это большая проблема, которая не принадлежит ни к одной группе.
Решение подразумеваемого вопроса:
Объект WebView
- это в основном мини-браузер, использующий очень гибкий код рендеринга, основанный на совершенно разных параметрах, чем у выделенного браузера. Это включает в себя все: от простого рендеринга до даже интерактивных (sp?) Объектов, таких как ссылки, которые будет использовать такая страница. Этот процесс очень затруднен (из-за отсутствия лучшего слова) для миниатюризации таким образом, чтобы возможности были одинаковыми для внедрения в различные приложения, которые могут иметь разную структуру и параметры компоновки каждый раз. Черт, такие двигатели трудно программировать равномерно даже с помощью выделенного механизма просмотра, что приводит к большим различиям между текущими основными браузерами в целом.
Таким образом, WebView
не предназначен для обеспечения полной функциональности выделенного браузера, а наиболее полезных аспектов отображения содержимого веб-контента в приложении, которое часто делает другие вещи. Это особенно актуально, когда вы рассматриваете последствия безопасности для добавления функциональности Javascript или обработки на основе клиента, переданной из указанного контента. Добавьте к этому, что каждое устройство может иметь другой механизм рендеринга или другую версию одного и того же механизма рендеринга, подобно тому, как разные устройства имеют разные возможности с использованием SQLite (т.е. Поддержка внешнего ключа).
Таким образом, WebView предоставляется в качестве решения для отображения веб-доставляемого контента без гарантии его расширяемости или удобства использования, если вы не используете его исключительно для просмотра (и, возможно, реагирования) надежного и стандартного кода HTML. Как только вы попадаете в реальные практики веб-сайтов реального мира, вы понимаете, что HTML был сделан настолько гибко, потому что каждый стандарт придерживался на разных уровнях разных разработчиков. Поскольку основным кредо HTML является то, что он работает (показать контент), несмотря на потенциальную двусмысленность, проблема разработки полностью всеобъемлющего приложения-ориентированного объектно-ориентированного решения становится еще сложнее разрабатывать.
... где другие мобильные устройства - например, iphone - будут работать нормально
Это зависит от содержимого. Также философия разработки для устройств Apple полностью отличается от философии разработки Android. У Apple есть только несколько устройств, поэтому они могут гарантировать единообразие на своих устройствах и выбирать, какие и когда добавлять дополнительные функции. Например, у первого iPhone не было встроенной поддержки Flash. Основываясь на последствиях вашего вопроса, я считаю, что это не дает "всестороннего" теста.
Android, напротив, имеет гораздо более широкий репертуар устройств. Код для Android настраивается и изменяется производителями этих устройств, чтобы позволить им создавать более подходящие поддерживаемые решения для удовлетворения конкретных потребностей устройства. Google не может гарантировать, что какое-либо данное устройство будет поддерживать любой или весь его код одинаково. Это создает дополнительные ограничения, но создает другие очень удивительные свободы.
... они используют webkit.
Chrome и Safari используют также webkit. Многие разработчики страдают от четных различий в том, как они используют их по-разному.
... вне приложения, фактический браузер для Android отлично работает.
Это рассмотрено выше.
Есть ли способ действительно решить проблему андроида на более низком уровне?
Опять же, это не проблема андроида. Если у вас есть конкретная проблема с текущей реализацией, вы можете закодировать отдельное решение. Кроме того, веб-контент был сделан для просмотра в браузере и который предоставляется. Лучшей практикой является определение того, что вам нужно для этого. Вам нужна WebView
для просмотра любой веб-страницы? Или просто твой? Каковы ваши проблемы с его текущим рендерингом? Вам нужны клиентские скрипты?
Каждый инструмент создается с особыми потребностями. Это справедливо и для так называемых "лучших" списков. Эти мнения были сделаны для удовлетворения конкретных потребностей, которые могут потребоваться более чем одному разработчику. В мире программирования (особенно ООП) действительно очень мало таких вещей, как всеобъемлющий. Если бы это было так, нам не пришлось бы распространять наши объекты в первую очередь. Рассматривая такой инструмент, рассмотрите, в чем он конкретно пытался обратиться.
Кто-нибудь сделал более полный веб-объект для Android?
Да. Обычно они отображаются в других выделенных браузерах, которые вы можете загрузить на свое устройство. Что касается того, доступны они или нет: лично я понятия не имею и не склонен смотреть.
Заключительное выражение
Проблема, которую вы подняли, действительно не была достаточно конкретной, чтобы обеспечить истинное решение. Он также, казалось, принял антагонистическую позицию из-за плохого выбора слова. Если ваша проблема не была решена ни ответом CommonsWare, ни моим собственным, рассмотрите возможность редактирования вашего вопроса, чтобы добавить наши более конкретные потребности. Тем не менее, я надеюсь, что оба наших ответа могли бы дать вам некоторое представление.
Надеюсь, что это поможет,
FuzzicalLogic
Ответ 3
Я удивлен, что никто не упомянул CocoonJS.
Он выполняет повторную реализацию стандартного WebView (Webview +); пакетное Webview, поэтому ваше приложение будет работать последовательно на всех устройствах (хотя и ограничено Android 4+ и iOS 8+).
Существует также среда Canvas + для WebGL, но она полностью отделена от WebView+. Это означает, что вам нужно наложить WebView + поверх Canvas +, чтобы одновременно отображать DOM и холст. Они не используют одну и ту же среду JS, но есть система обмена сообщениями для отправки сообщений между ними.
CocoonJS не кажется хорошим решением на уровне производства из-за ограниченной поддержки ОС, но, возможно, это будет в будущем.
Существует также Crosswalk. Он работает для Android 4+ и Tizen.
Ответ 4
Это чертовски близко к не по теме, отправьте ваши-rants-в другом месте, пожалуйста, соберите "вопрос".
Есть ли лучший веб-просмотр для Android?
Если под "webview" вы подразумеваете встроенный механизм веб-рендеринга, возможно, нет, так как писать такие движки сложно. Вы могли видеть, доступен ли он как ответвление Firefox Mobile. Или вы можете сделать свой собственный порт WebKit для Android, используя AOSP-версию в качестве отправной точки. Обратите внимание, что оба могут существенно увеличить размер вашего приложения.
В собственных документах Google упоминается не полагаться на объект webview.
Цитата, пожалуйста.
Кто-нибудь сделал более полный веб-объект для Android?
Это будет зависеть от одного определения "более всеобъемлющего веб-объекта". Примечательно, что вы пренебрегли предоставлением каких-либо определений для этой фразы.