De WebApp a MobileApp usando Vue-native y Expo

René Silva Valdés
vuemobileapp
Published in
2 min readSep 8, 2020

Si tenemos una App web responsiva, podemos convertirla en una App movil (con ciertas limitaciones) utilizando un web-view. En este tutorial explicamos como hacerlo utilizando Vue-native, el framework Expo y su módulo react-native-webview.

Requisitos

En el caso de contar con una App web responsiva (cuyo diseño se adapte a todos los tamaños de pantallas posibles de forma dinámica), solo necesitaremos tener instalado Vue Native con el framework Expo.

Web view

Un web-view es un componente que permite visualizar contenido web en una vista nativa (de aplicación). Con esto podemos embeber la aplicación web dentro de nuestra aplicación y verla tal cual se vería en el navegador.

Para implementar nuestro web-view nos vamos a la carpeta de nuestro proyecto de Vue Native e instalamos el módulo react-native-webview ejecutando:

$expo install react-native-webview

Como el nombre indica, se trata de un componente de react-native y no de Vue native ( lo que da cuenta de que Vue native lo que en verdad hace es “encapsular” a React native). Para implementarlo modificamos nuestro archivo App.vue agregando el web-view de la siguiente manera:

<template>
<web-view :source="{uri:URL_WEBAPP}" />
</template>
<script>
import { WebView } from "react-native-webview";
export default {
name: "myComponent",
components: {
"web-view": WebView
}
};
</script>

En donde debemos reemplazar URL_WEBAPP por el URL de nuestra aplicación web. Con esto tendremos implementado nuestro web-view en nuestro proyecto Vue Native. Podemos ver el resultado ejecutando:

$expo start

Lo cual ejecutará Expo DevTools, permitiéndonos cargar la aplicación en un dispositivo físico con la ayuda de la App Expo o en un emulador de smartphone si así lo deseamos.

Siguiendo estos sencillos pasos obtendremos una App móvil capaz de cargar nuestra App web como si lo hiciéramos desde el navegador y con ello tener un punto de partida para agregar más funcionalidades o features si así deseamos. Un aspecto negativo de esta solución es que existen algunas funciones, como la descarga de archivos, que quedan deshabilitadas en la app móvil al utilizar el web-view.

Si llegaste hasta acá, espero que te haya ayudado y te permita ahorrar recursos en el desarrollo de una app móvil. Próximamente más publicaciones sobre Apps móviles, Vue Native y Expo.

Un saludo!

--

--