Что такое webview


Зачем Android нужен WebView и как он работает

Несмотря на то что почти все смартфоны на Android получают новые версии ОС только два года, Google худо-бедно старается их поддерживать в актуальном состоянии ещё какое-то время путём обновления своих сервисов. Для этого поисковый гигант просто рассылает апдейты через Google Play, чтобы те пользователи, которым уже не светят традиционные обновления, могли получить запланированные нововведения и экстренные баг-фиксы. Однако, многие, как показала практика, этого не знают, и, видя, как системные компоненты с непонятными им названиями, спрашивают, например, что такое WebView и зачем это нужно. Восполняю пробел.

Вы много раз видели Android System WebView, но наверняка не знаете, что это и зачем нужно

Google наконец сделает ночную тему в Chrome на Android полноценной

Вы могли видеть WebView, полное название которого Android System WebView, в двух местах: в каталоге Google Play и в разделе «Приложения». Причём мелькает он заметно чаще других, периодически получая обновления и фигурируя в описаниях обновлений стороннего софта, разработчики которого почему-то считают необходимым упомянуть его. Прямо-таки в каждой бочке затычка. Однако, если разобраться чуть глубже, всё становится на свои места.

Что такое Android WebView

WebView — это встроенный браузер для приложений

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

Google рассказала, что изменится в Google Chrome после обновления

Но поскольку Android System WebView является, по сути, самостоятельным компонентом, периодически пользователи сталкиваются с проблемами в его работоспособности. Одни уверяют, что WebView не работает, другие сообщают, что WebView не обновляется, а третьи – что WebView недоступен. Казалось бы, причины у этих проблем могут быть самые разные и, чтобы что-то советовать пользователям, которые с ними столкнулись, нужно хотя бы разузнать дополнительные подробности или по крайней мере худо-бедно разбираться в разработке приложений и особенностях функционирования системных компонентов. Но нет.

WebView и Google Chrome

В конце прошлого года Google интегрировала в Android System WebView компонент Chrome WebView. Проще говоря, компания просто сделала так, что теперь все ссылки в сторонних приложениях будут открываться в виджете Chrome, который будет встроен во все программы по умолчанию. Поисковый гигант объяснил это тем, что это позволяет снизить нагрузку на ресурсы устройства и облегчит эффективность обновления. Но, как показывает практика, это только лишний раз запутало пользователей, которые вообще перестали понимать, что им делать в случае возникновения проблем.

Samsung хочет, чтобы Chrome для Android получил поддержку расширений

А, между тем, всё очень просто. Несмотря на то что Android System WebView по-прежнему обновляется самостоятельно, он глубоко связан с Google Chrome. Поэтому, когда вы сталкиваетесь с перебоями в работе системного компонента, вам нужно не искать обновления для него, а установить апдейт браузера.

Как обновить Android WebView

  • Для этого перейдите в Google Play и свайпните от левого края экрана;
  • Перейдите во вкладку «Мои приложения и игры;

Зачастую обновлять следует не Android System WebView, а Google Chrome

  • В открывшемся окне нажмите «Обновить всё» или отыщите Google Chrome и обновите его;
  • Для надёжности рекомендуется обновить и Android System WebView, если для него тоже доступно обновление.

Chrome загружает процессор и жрёт зарядку? Google всё исправит

На первый взгляд, может показаться, что всё это глупости, и на самом деле обновления ничего не решают, но это не так. В прошлом Google неоднократно выпускала такие патчи, которые возвращали работоспособность системных компонентов, от которых во многом зависела и работа сторонних приложений. Последний такой случай произошёл в декабре прошлого года, когда из-за сбоя в Chrome пользователи лишились возможности открывать ссылки в приложениях, которые к Google не имеют никакого отношения. Поэтому не пренебрегайте обновлениями. Они выходят для вас.

Android System Webview — что это за приложение и почему оно не включается

Если вы владелец Android смартфона или планшета, с большой вероятностью вы замечали среди приложений Android System WebView: оно очень часто обновляется (а иногда не может обновиться), в некоторых случаях может вызывать проблемы и, среди частых вопросов — можно ли его удалить.

В этой статье о том, зачем нужно приложение Android System WebView, о возможности его удаления и других нюансах, которые могут оказаться полезными.

Назначение Android System WebView

Приложение Android System WebView — один из основных системных компонентов, который используется другими приложениями для отображения веб-контента без открытия отдельного экземпляра браузера. Почти всегда это приложение предустановлено на устройствах, однако, если по какой-то причине его нет (например, вы удалили его с помощью root-доступа), вы можете скачать его из Play Маркет

Например, при использовании приложений некоторых информационных сайтов, при открытии ссылок внутри некоторых приложений, в том числе от Google, в некоторых играх, когда какой-то контент из Интернета открывается внутри самого приложения, вероятнее всего это происходит с использованием Android System WebView.

Android System WebView по своей сути представляет собой то же самое, что браузер Chrome, но позволяет разработчикам использовать его возможности внутри собственных приложений без запуска отдельного экземпляра Google Chrome. При обновлении Chrome обновляется и Android System WebView, поэтому вы часто видите, как эти два приложения обновляются одновременно.

Вопросы об Android System WebView, возможные проблемы с приложением

Теперь ответы на частые вопросы и некоторые нюансы, касающиеся рассматриваемого приложения:

  • Можно ли удалить Android System WebView? На актуальных версиях Android этого сделать нельзя, так как приложение необходимо для работы очень многих других приложений, в том числе официальных приложений от Google. В течение короткого периода времени, в версиях Android 7, 8 и 9, вместо WebView использовался полновесный Chrome и на некоторых устройствах была возможность отключения Android System WebView, однако затем компонент снова стал обязательных.
  • Что делать, если Android System WebView не обновляется? Случается, что все приложения обновляются исправно, в то время как Android System WebView — нет. Если вы столкнулись с этим, четкого решения нет. Обычно через какое-то время обновление всё-таки проходит успешно, и проблема решается сама собой. Но можно попробовать обновить приложение после обновления Google Chrome или использовать другие типы соединения, например, мобильную сеть вместо Wi-Fi, использовать VPN. Дополнительные варианты: запустить обновление после удаления имеющихся обновлений, очистки кэша Play Маркет.
  • Если после обновления Android System WebView какие-то приложения, показывающие веб-контент стали работать неправильно, можно попробовать удалить обновления в настройках приложения. Как правило это выполняется через меню «Настройки» — «Приложения», выбираем «Android System WebView» и пункт «Удалить обновления» в меню, однако интерфейс удаления обновлений на Android-устройствах разных производителей может отличаться.
  • Возможна ситуация, обратная изложенной во 2-м пункте: не обновляется Google Chrome, пока вы вручную не обновите Android System WebView.
  • В Google Play можно найти предварительные версии Android System WebView Beta, Dev и Canary, однако рядовому пользователю нецелесообразно их устанавливать, они предназначены для разработчиков и тестирования.

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

remontka.pro в Телеграм | Другие способы подписки

Понимание WebViews

WebViews позволяют отображать веб-контент внутри нативного приложения, но они скрывают больше хитростей, чем просто это. Узнайте, что это за трюки!

Когда дело доходит до доступа к интернет-контенту, мы обычно используем такие браузеры, как Chrome, Firefox, Safari, Internet Explorer и Edge. Вы, вероятно, используете один из этих браузеров прямо сейчас, чтобы прочитать эту статью! Хотя браузеры довольно популярны для доступа к интернет-контенту в целом, у них есть серьезные конкуренты, на которые мы, вероятно, никогда не обращали особого внимания. Это соревнование проходит в форме чего-то, известного как Веб-просмотр . Эта статья объяснит все, что такое этот загадочный WebView и почему он вроде как крут.

Вперёд!

WebView 101

Давайте избавимся от скучного определения. WebView — это встраиваемый браузер, который собственное приложение может использовать для отображения веб-контента. Здесь нужно выделить два набора слов:

  1. Первый набор слов — родное приложение (также известное как приложение) . Нативное приложение — это приложение, написанное на языке и фреймворке пользовательского интерфейса, разработанном специально для конкретной платформы:

Другими словами, приложение не является кроссплатформенным веб-приложением, работающим в браузере. Вместо этого считайте, что ваши приложения в основном написаны на таких языках, как Swift, Objective-C, Java, C++, C# и т. д., которые более тесно взаимодействуют с системой. Для сравнения: большинство приложений, которые вы используете на своем мобильном устройстве, будут нативными. Многие популярные приложения, такие как Microsoft Office на вашем настольном компьютере / ноутбуке, также.

  1. Второе слово, которое нужно выделить, это встроенный браузер . Все мы знаем, что такое браузер. Это отдельное приложение, которое мы можем использовать для серфинга в Интернете:
  2. .

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

WebView — это просто часть движка браузера, которую вы можете вставить вроде iframe в свое родное приложение и программно сообщить ему, какой веб-контент загружать.

Собрав все это вместе и соединив некоторые точки, WebView — это просто визуальный компонент/элемент управления/виджет/и т.д. которые мы будем использовать как часть визуального оформления нашего родного приложения. Когда вы используете нативное приложение, WebView может просто прятаться на виду рядом с другими нативными элементами пользовательского интерфейса, даже если вы этого не осознаете:

Ваш WebView почти как удобный для Интернета остров в большом океане нативности. Содержимое этого острова не обязательно должно быть локальным для вашего приложения. Ваш WebView обычно загружает веб-контент удаленно из адреса http:// или https://. Это означает, что вы можете взять части (или все) вашего веб-приложения, которое находится на вашем сервере, и полагаться на WebView для его отображения внутри вашего собственного приложения:

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

 

...ваш JavaScript, работающий внутри вашего WebView , имеет возможность вызывать собственные системные API . Это означает, что вы не ограничены традиционной песочницей безопасности браузера, которой обычно должен придерживаться ваш веб-код. Следующая диаграмма объясняет архитектурные различия, которые делают это возможным:

По умолчанию любой веб-код, работающий внутри WebView или веб-браузера, изолирован от остальной части приложения. Это сделано из соображений безопасности, которые связаны с минимизацией ущерба, который может нанести вредоносному JavaScript. Если браузер или WebView отключаются, это печально, но OK . Если вся система выходит из строя, это печально... но НЕ ОК . Для произвольного веб-контента этот уровень безопасности имеет большое значение. Вы никогда не сможете полностью доверять загружаемому веб-контенту. Это не относится к WebViews. Для сценариев WebView разработчик обычно имеет полный контроль над загружаемым содержимым. Вероятность того, что вредоносный код попадет туда и вызовет хаос на вашем устройстве, довольно низка.

Вот почему для WebViews у разработчиков есть множество поддерживаемых способов переопределить поведение безопасности по умолчанию и заставить веб-код и собственный код приложения взаимодействовать друг с другом. Это общение обычно происходит через нечто, известное как мост . Вы можете увидеть этот мост , визуализированный как часть Native Bridge и JavaScript Bridge на предыдущей диаграмме. Подробное описание того, как выглядят эти мосты, выходит за рамки этой статьи, но ключевой момент, который следует усвоить, заключается в следующем: тот же самый JavaScript, который вы пишете для Интернета, будет работать не только внутри вашего WebView, он также может вызывать собственные API-интерфейсы и помогать вашему приложению более глубоко интегрироваться с классными функциями системного уровня, такими как датчики, хранилище, календарь/контакты и многое другое.

Случаи использования WebView

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

Браузеры внутри приложений

Одним из наиболее распространенных применений WebView является отображение содержимого ссылки. Это особенно верно для мобильных устройств, где запуск браузера, переключение пользователя из одного приложения в другое и надежда, что он вернется в приложение, приводит к разочарованию. WebView прекрасно решает эту проблему, полностью загружая содержимое ссылки внутри самого приложения.

Посмотрите следующее видео о том, что происходит, когда мы нажимаем на ссылку в приложениях Twitter или Facebook:

Ни Twitter, ни Facebook не загружают связанный контент в браузере по умолчанию. Вместо этого они используют WebView для имитации браузера в приложении и отображения содержимого как части самого приложения. Браузер в приложении Twitter выглядит очень просто, но Facebook делает еще один шаг вперед с причудливой адресной строкой и даже изящным меню:

 

Я случайно выбрал Twitter и Facebook, так как у меня были установлены эти два приложения и мог бы легко записать видео, чтобы поделиться со всеми вами. Существует множество приложений, которые открывают ссылки аналогичным образом, полагаясь на то, что WebView ведет себя как браузер в приложении.

Рекламные объявления

Реклама по-прежнему остается одним из самых популярных способов заработка нативных приложений. Как обслуживается большинство этих объявлений? Поскольку веб-контент подается через WebView :

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

Полноэкранные гибридные приложения

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

Эти приложения известны как гибридные приложения . С технической точки зрения это все еще нативные приложения. Так уж получилось, что единственная нативная вещь, которую делают эти приложения, — это размещение WebView, который, в свою очередь, загружает веб-контент и весь пользовательский интерфейс, с которым будут взаимодействовать пользователи. Гибридные приложения популярны по нескольким причинам. Самый большой из них — производительность разработчиков . Если у вас есть адаптивное веб-приложение, которое работает в браузере, заставить одно и то же приложение работать как гибридное приложение на различных устройствах довольно просто:

Когда вы обновляете свое веб-приложение, это изменение будет мгновенно доступно для всех устройств, которые его используют, поскольку контент поступает из одного централизованного места, вашего сервера:

Если вам пришлось иметь дело с чисто нативное приложение, вам не только придется обновлять проект для каждой платформы, для которой вы создали приложение, вам, возможно, придется пройти трудоемкий процесс сертификации приложения, чтобы сделать ваше обновление доступным во всех магазинах приложений. С точки зрения развертывания и обновления гибридные приложения очень удобны. Объедините это удобство со встроенным доступом к устройствам, который дает вашим веб-приложениям сверхвозможности, и вы получите выигрышное техническое решение. WebView делает все это возможным.

Собственные расширения приложений

Последняя большая категория, в которой вы увидите используемые WebView, связана с расширяемостью. Многие нативные приложения, особенно для настольных компьютеров, позволяют расширить их функциональность, установив надстройку или расширение. Из-за того, насколько просты и эффективны веб-технологии, эти надстройки и расширения часто строятся на HTML, CSS и JavaScript, а не на C++, C# или чем-то еще. Одним из популярных примеров этого является Microsoft Office. Различные приложения, входящие в состав Microsoft Office, настолько нативны и старомодны, насколько это возможно, но один из способов создания расширений для них связан с веб-технологиями. Например, популярным таким расширением является приложение Википедия:

То, как эти веб-расширения, такие как Википедия, появляются внутри приложения Office, такого как Word, через . .. да, WebView:


Фактический контент, отображаемый внутри WebView, поступает из этого URL. Когда вы посещаете эту страницу в браузере, вы не видите многого. Это пересечение между собственными функциями приложения и функциями веб-кода (предоставляемыми через WebView), которое делает работу в полной мере. Как пользователь расширения Википедии внутри приложения Word, вы никогда не зададитесь вопросом, что происходит под обложкой, потому что функциональность хорошо интегрирована и просто работает .

Веб-представления (обычно) не являются чем-то особенным

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

  1. В iOS движок веб-рендеринга всегда WebKit, тот же самый, на котором работает Safari... и Chrome. Да, вы прочитали это правильно. Chrome на iOS фактически использует WebKit скрыто.
  2. На Android механизм рендеринга под обложкой — , обычно Blink, тот же, что и в Chrome.
  3. В Windows, Linux и macOS, поскольку это более либеральные настольные платформы, существует большая гибкость в выборе разновидности WebView и механизма рендеринга, используемого скрыто. Популярными движками рендеринга, которые вы увидите, будут Blink (Chrome) и Trident (Internet Explorer), но нет ни одного движка, на который вы могли бы положиться. Все зависит от приложения и используемой им реализации WebView.

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

Есть вопрос? Пишите на форумы для быстрого ответа!

  • Предыдущий артикул
  • Следующая статья

Определение WebView | PCMag

Движок браузера, содержащийся в приложении. WebView позволяет программисту написать большую часть приложения, используя HTML, JavaScript и CSS, которые являются стандартными инструментами веб-программирования. WebView также позволяет отображать веб-контент на внешних сайтах в приложении, не переключая пользователей на их веб-браузер и другой интерфейс. Например, Android System WebView предоставляет эту возможность разработчикам приложений для Android. См. Гибридное мобильное приложение.

Реклама

Истории PCMag, которые вам понравятся

{X-html заменен}

Выбор редакции

ЭТО ОПРЕДЕЛЕНИЕ ПРЕДНАЗНАЧЕНО ТОЛЬКО ДЛЯ ЛИЧНОГО ИСПОЛЬЗОВАНИЯ. Любое другое воспроизведение требует разрешения.
Copyright © 1981-2022. The Computer Language(Opens in a new window) Co Inc. Все права защищены.

Информационные бюллетени PCMag

Информационные бюллетени PCMag

Наши лучшие истории в папке «Входящие»

Следите за новостями PCMag

  • Фейсбук (Открывается в новом окне)
  • Твиттер (Откроется в новом окне)
  • Флипборд (Открывается в новом окне)
  • Гугл (откроется в новом окне)
  • Инстаграм (откроется в новом окне)
  • Pinterest (Открывается в новом окне)

PCMag.com является ведущим авторитетом в области технологий, предоставляющим независимые лабораторные обзоры новейших продуктов и услуг. Наш экспертный отраслевой анализ и практические решения помогут вам принимать более обоснованные решения о покупке и получать больше от технологий.

Как мы тестируем Редакционные принципы

  • (Открывается в новом окне) Логотип Зиффмедиа
  • (Открывается в новом окне) Логотип Аскмен
  • (Открывается в новом окне) Логотип Экстримтек
  • (Открывается в новом окне) Логотип ИНГ
  • (Открывается в новом окне) Логотип Mashable
  • (Открывается в новом окне) Предлагает логотип
  • (Открывается в новом окне) Логотип RetailMeNot
  • (Открывается в новом окне) Логотип Speedtest
  • (Открывается в новом окне) Логотип Спайсворкс

(Открывается в новом окне)

PCMag поддерживает Group Black и ее миссию по увеличению разнообразия голосов в СМИ и прав собственности на СМИ.


Learn more

Только новые статьи

Введите свой e-mail

Видео-курс

Blender для новичков

Ваше имя:Ваш E-Mail: