Termux

App web de Go, Vue y PostgreSQL en Android con Termux

Este artículo es una demostración sobre cómo poder montar una aplicación web que usa VueJS del lado del cliente (con la vue cli), Go/Golang del lado del servidor y PostgreSQL como base de datos.

Vamos a montar el proyecto web en un teléfono móvil con Android, usando la app Termux. Todo estará ejecutándose en Android, ya que se usará para programar.

Es decir, tendremos a node vigilando los archivos js, a go compilando en el lado del servidor y a PostgreSQL almacenando los datos.

¡Vamos allá!

Requisitos

Comienza instalando la app de Termux. Después, instala NodeJS en Android, más tarde instala PostgreSQL en Android y finalmente instala go con:

pkg install golang

Además de los lenguajes de programación / compiladores / intérpretes necesitamos otras utilidades como git:

pkg install git

Clonando repositorio

Tengo mi proyecto en un repositorio de GitHub así que lo primero que hice fue clonarlo con:

git clone https://github.com/usuario/proyecto

Así como se ve en la siguiente imagen:

Clonando repositorio de GitHub en Android con Termux

Una vez que estuvo listo ingresé al directorio del repositorio.

Instalar dependencias de node

Para generar el JavaScript y todo lo necesario del lado del cliente necesitamos algunas dependencias. Además, mi proyecto usa Buefy.

Gracias al archivo package.json simplemente ejecuté:

npm install

Y esperé a que estuviera terminado.

Instalando dependencias de Node en Termux

Con eso ya tenía lo necesario para el lado del cliente.

Instalación de dependencias de Go

En el lado del servidor también necesité algunos paquetes de Go; todavía no uso dep, así que me tocó hacerlo manualmente.

Algunos paquetes usados fueron gorilla, gorm, entre otros. Cada paquete se instala con go get ruta_paquete como se ve en la imagen:

Dependencias de Go con go get

Ejecutando app

Del lado del cliente tenía que ejecutar npm run serve para que se compilaran los archivos, y así fue, después de 40 segundos todo había compilado y estaba escuchando en el puerto 8080:

Compilando app de JavaScript en Termux con npm run serve

Eso fue del lado del cliente, pero faltaba el lado del servidor. Para ello abrí otra sesión de Termux y ejecuté:

go build

Para compilar mis archivos. Más tarde ejecuté:

./api

Y el servidor empezó a escuchar en el puerto 2811:

Compilando app de Go en Android

La edición del archivo fue para cambiar las credenciales de Go a PostgreSQL, pues no son las mismas que en mi pc local y todavía no uso env.

Todo estaba listo, ahora era momento de probar.

Probando app

La app que estoy haciendo es un control escolar simple que lleva la asistencia, tareas y otras cosas; lo presentaré más tarde (por ahora puedes ver un control escolar de calificaciones y horarios con gráficas y reportes).

Actualización: ya he publicado el software de control de tareas.

Pero ahora visité localhost en el puerto 8080 y todo fue de maravilla:

App web de Vue Go y PostgreSQL en Android usando Termux

Lo anterior solo fue un menú pero quise ver si la base de datos funcionaba. Me sorprendió lo rápido que fue (incluso más rápido que en mi computadora, lo cual es razonable pues pronto cumplirá 5 años de servicio):

Gestión de alumnos

Para terminar muestro otra captura que tuve que tomar en modo de escritorio; se trata de una revisión de tareas:

Calificación de tareas

Por el momento no se adapta a las pantallas pequeñas pero ya veré los ajustes.

Conclusión

Android, gracias a Termux, nos ha dado posibilidades que no habríamos imaginado. Ahora se puede programar completamente en un dispositivo móvil, y hay varios paquetes (incluso el SO ubuntu sobre Android) populares para programadores.

Con un teclado y un mouse inalámbrico, una pantalla o quizás una tableta, podríamos hacer algunos ajustes o cambios rápidos de código de manera portátil.

Te invito a ver más sobre Termux en mi blog.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

3 días hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

3 días hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

3 días hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

3 días hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

3 días hace

Solución: Apache – Server unable to read htaccess file

Ayer estaba editando unos archivos que son servidos con el servidor Apache y al visitarlos…

4 días hace

Esta web usa cookies.