Navegador web en VB. NET (3)

Navegador web usando la versión moderna del control WebBrowser, el control WebView, que renderiza las páginas usando el motor de Microsoft Edge en lugar de hacerlo con el motor de Internet Explorer, en Visual Studio 2017

En 2 ejercicios anteriores (1 y 2) se desarrolla una aplicación de formularios de Windows construida alrededor de un objeto de la clase WebBrowser que permite mostrar en su interior páginas web y también interactuar con las páginas visitadas. Se trata de una clase muy madura que apareció en NET Framework 2, fácil de utilizar y con muchos textos de ayuda en Internet.
Pero tiene el inconveniente de que, por su antigüedad, utiliza el motor de renderizado de Internet Explorer, navegador actualmente obsoleto incluso para la propia Microsoft. En teoría renderiza con la versión de Internet Explorer que tengamos instalada en el sistema pero en la práctica parece mostrar las características de Internet Explorer 7 salvo que se manipule el registro para forzar a nuestra aplicación a utilizar el motor de la versión más moderna que es la 11 a condición de que la tengamos instalada (las instrucciones para hacerlo están en el artículo 2 de los referidos al principio del texto).

Microsoft ha desarrollado una clase que hereda bastantes de las características de WebBrowser pero renderizando con el motor de Microsoft Edge y con funcionalidades que la configuran como una clase más adaptada al entorno actual de Internet. Se trata de la clase WebView que no viene por defecto en Visual Studio 2017 pero se instala desde el paquete Microsoft.Toolkit.Win32.UI.Controls. Se requiere tener instalada la versión de desarrollo 4.6.2 o superior de NET. Framework, en caso contrario el paquete rehúsa la instalación.
El inconveniente que he encontrado es que existe todavía poca información para Visual Basic .NET y que algunas de las propiedades, métodos y eventos de WebBroser, que en este control eran muy sencillos de implementar, no existen en WebView o son elementos diferentes de mayor complejidad.
WebView se puede usar en aplicaciones de tipo WPF (Windows Presentation Foundation) y, aunque ofrece más funcionalidad en aplicaciones modernas desarrolladas en XAML, con algunas limitaciones también se puede utilizar en aplicaciones con formularios Windows.

Nota: WebBrowser usa el motor de Microsoft Edge en Windows 10, en versiones anteriores de Windows recurre al motor de Internet Explorer.

He desarrollado una aplicación muy sencilla cuya única finalidad es mostrar la manera de incluir WebView en un formulario Windows. El código ni siquiera tiene control de errores. Los métodos utilizados, que ya existían en el control anterior, son GoBack, GoForward, Navigate, Stop y Refresh.

'volver a la página anterior
Private Sub BtBack_Click(sender As Object, e As EventArgs) Handles BtBack.Click
	WbView.GoBack()
End Sub

'ir a la página siguiente
Private Sub BtForw_Click(sender As Object, e As EventArgs) Handles BtForw.Click
	WbView.GoForward()
End Sub

'ir a la página de inicio
Private Sub BtStart_Click(sender As Object, e As EventArgs) Handles BtStart.Click
	WbView.Navigate("https://www.google.es/")
End Sub

'detener la carga de la página
Private Sub BtParar_Click(sender As Object, e As EventArgs) Handles BtParar.Click
	WbView.Stop()
End Sub

'volver a cargar la página
Private Sub BtRecargar_Click(sender As Object, e As EventArgs) Handles BtRecargar.Click
	WbView.Refresh()
End Sub

Puedes descargar la aplicación completa en Visual Studio 2017 desde aquí.

Deja un comentario

Tu dirección de correo electrónico no será publicada.