Service worker en Progressive Web App

Crear y publicar Progressive Web App – Convertir app web en PWA

Hoy voy a enseñarte cómo convertir cualquier aplicación web en una PWA o Progressive Web App.

Tú puedes programar en cualquier lenguaje y Framework, ya que las PWA no están atadas a algo más allá de JavaScript.

Así que mientras tu app conste de archivos del lado del cliente, podrás convertirla en PWA. Y con estos archivos me refiero a CSS, JS, HTML, imágenes, etcétera.

Te repito que para crear una PWA no necesitas usar un framework específico, así que puedes usar JavaScript puro, Angular, Vue, React, jQuery (bueno, jQuery no, ya es obsoleto) y cualquier otro que genere JavaScript al final.

(más…)

App web de Angular corriendo en el navegador de Android

Programar en Angular desde Android

En este post te mostraré cómo editar y crear proyectos de Angular desde tu móvil o tableta con Android.

No vas a usar emuladores o cosas así, realmente podrás usar Angular en tu teléfono o dispositivo móvil.

Vamos a lograr esto usando NPM y Node.js, mismos que se pueden instalar en Termux.

Y como la CLI de Angular es solo un paquete más, podremos instalarla en nuestro teléfono parar crear y compilar proyectos de Angular.

(más…)

Lista de tareas pendientes con Angular - Ejecutando proyecto con ng serve

Lista de tareas pendientes con Angular – ToDo list

En este post te mostraré un proyecto muy sencillo creado con Angular. Se trata de una lista de tareas pendientes, ToDo list, to-do list o como sea que le llames.

Vamos a usar el framework Angular y el lenguaje de programación TypeScript para crear una lista de tareas por hacer. Tendrá las opciones de agregar, eliminar, editar y marcar como terminada.

Por cierto, en este caso vamos a usar localStorage para almacenar la lista pero bien podrías usar una API con un lenguaje como PHP o cualquier otra cosa.

Para tener el proyecto simple me he enfocado a no usar frameworks CSS, así que solo será HTML plano. De todos modos lo que importa es cómo vamos a manejar la lista de tareas pendientes con Angular.

(más…)

Input ligado a propiedad TypeScript con Angular

Angular – Simple binding en Input

En este post te mostraré cómo ligar un input con una variable de Angular, de manera que si la variable cambia en el input, se cambie en los demás lugares.

Y de manera similar, si la variable cambia desde otro lugar se refresque en el input. Todo esto será con Angular y con el two way binding.

Por cierto, esto que te enseñaré será muy simple por si solo necesitas un input. En caso de que quieras algo más avanzado mira los formularios con Angular.

(más…)

Agregar elemento a arreglo con JavaScript

JavaScript – Agregar elemento a arreglo

Hoy veremos algo muy simple en JS: cómo agregar un elemento a un arreglo ya sea para agregarlo al inicio o al final.

Esto lo vamos a hacer con JavaScript así que puede que funcione para los frameworks como Vue, React, Angular o jQuery.

Recuerda que un array en JavaScript puede tener elementos mixtos y de cualquier tipo. Por otro lado puedes agregar elementos sin límite.

Veamos entonces cómo agregar un elemento a un array en JavaScript.

(más…)

Repositorio para publicar página web en GitHub

Alojar página web en GitHub

En este tutorial te enseñaré cómo alojar tu sitio web o aplicación web en GitHub totalmente gratis. Si bien GitHub no está pensado como un servicio de hosting, podemos ejecutar nuestras aplicaciones dentro del servicio.

Te enseñaré cómo usar GitHub para servir tu proyecto web. Por ahora solo te mostraré cómo usarlo para servir JavaScript, HTML y CSS (pues no podemos procesar nada del lado del servidor).

Así que, que quede claro: solo va a funcionar para las cosas del lado del cliente y no del lado del servidor sin importar el lenguaje de programación.

Pero no te preocupes, para un portafolio o aplicación web funcionará de maravilla, siempre y cuando no utilice backend.

(más…)

Clima con Angular - App que consume API

Angular – Aplicación para el clima con API

Clima con Angular - App que consume API

Clima con Angular – App que consume API

Hoy te voy a mostrar un sistema web hecho con Angular. Se trata de una app web que muestra el clima a través de una API.

Lo que hace este software es obtener la ubicación del usuario a través de su IP y obtener el pronóstico del tiempo usando otra API a partir de la latitud y longitud obtenidas anteriormente.

Verás que está implementado de una manera muy sencilla utilizando componentes y servicios. Al final vamos a tener una app web que muestra:

  • Ubicación del usuario con nombre de la ciudad y país
  • Reloj
  • Reporte del clima para los próximos 5 días usando imágenes
  • La temperatura máxima y mínima esperada para determinado día

Además, la aplicación web será responsiva pues vamos a usar Bootstrap. Al final del post dejaré el enlace del repositorio para que puedas explorar el código fuente y descargarlo si es necesario. Como lo dije, utiliza Angular.

(más…)

Pequeño e-commerce en Angular, Node y MySQL (tienda online)

Hoy vengo a presentar un software de comercio electrónico, tienda online o e-commerce escrito en Angular, con los estilos de Angular Material, y con una API escrita con JavaScript del lado del servidor usando Node con Express. Para la base de datos se ha usado MySQL.

El software es open source; puede ser descargado y modificado por cualquier persona. Entre sus características encontramos:

  • Gestión de productos
  • Fotos de productos (guardadas en el disco duro)
  • Carrito de compras por cada usuario
  • Registro de venta con dirección de envío
  • Vista de tienda
  • Detalle de producto

Quiero aclarar que no es un software listo para producción, y más bien es un proyecto escolar que puede servir ya sea como base para un proyecto completo de un e-commerce o para otro proyecto escolar.

Veamos ahora cómo es que está programado, en dónde se puede descargar. etcétera.

(más…)

Angular cambia la opacidad en CSS

Hoy te voy a mostrar cómo solucionar el siguiente problema: al preparar aplicación web de angular para producción con ng build --prod los estilos CSS se cambian y en la opacidad se obtienen distintos resultados.

Quiero aclarar que esto no es problema de Angular, sino de cssnano, una herramienta que utiliza Angular para optimizar los estilos CSS.

(más…)

CORS con Node y Express

CORS es necesario para compartir recursos en distintos dominios. Hoy vamos a ver cómo habilitar CORS con Node.js al usar express.

Sé que CORS no es una cosa “que se habilite” pero encuentro facilidad al decirlo de este modo. De hecho lo que se hace es responder con un encabezado indicando cuáles dominios se permiten para compartir recursos.

Bien, veamos cómo configurar CORS con Node.

(más…)

Angular Router: navegar de manera programada

En este post te mostraré cómo navegar a otra ruta en una SPA de Angular usando TypeScript. Es decir, navegar en el click de un botón o en determinada acción, y no a través de un enlace.

Lo único que tenemos que hacer es importar al router, inyectarlo en el constructor y después invocar a navigateByUrl (igualmente el router tiene más métodos).

(más…)