[Front End] Dale calidad a tu código JavaScript con ESLint

Si estás en el mundo del desarrollo de software, sabes que cada programador tiene su propio “estilo de programar”. Es por ello, que se recomienda que en un equipo de trabajo defina una guía de “buenas prácticas” de programación para poder tener un código estándar, es decir que cualquier miembro del equipo, o incluso un nuevo miembro, pueda entenderlo con facilidad y que de la sensación que fue escrito por un único programador (¡Ay qué ideal!)

Pongamos un ejemplo: “Creación de variables”

Un programador que crea sus variables con estilo “camelCase“, definirá una variable “idAluno”

Un programador que utiliza “guiones” ( – ) o “guión bajo” ( _ ), definirá “id_aluno”

Y no falta el programador que definirá “variable1” (¿es en serio?¿le pusiste “variable” como nombre?)

Otro ejemplo: Programando en JavaScript

Java, Visual Basic, C# entre otros lenguajes de tipo “compilado”: Necesitan pasar por el proceso de “compilación”, el cual permite encontrar errores antes de ser ejecutados. Los diferentes IDE’s (entornos de desarrollo) como Neatbeans para Java, detectan errores como “la falta del ‘punto y coma’ (‘ ; ‘) al final de cualquier sentencia” o “variable y/o import no utilizado”

¿Qué pasa con JavaScript? él es un lenguaje de tipo “interpretado” o sea no necesita pasar por el proceso de compilación, además que es más “permisivo” lo que hace que el programador esté propenso a errores y que solo los verá en la ejecución [7].

Aquí [8], un ejemplo sencillo de lo que nos permite JavaScript:

Para declarar variables, se usa la palabra clave var.  

// A single declaration.
var count;

Sin embargo, puedes declarar una variable sin utilizar la palabra clave var y asignarle un valor.  Se trata de una declaración implícita.  

// The variable noStringAtAll is declared implicitly.
noStringAtAll = "";

En ambos casos, todo funcionará Ok!.

Lamentablemente, no siempre es así

Por ejemplo, no nos daremos cuenta de variables que no han sido declaradas o estén mal escritas hasta que lo ejecutemos y veamos ese error en la consola del browser:

Resultado de imagen para error in console chrome

¿Pero sabías que se puede optimizar la calidad de nuestro código? La respuesta es la definición de las “buenas prácticas” o reglas a seguir en nuestro proyecto a través de herramientas de Linting, como ESLint para proyectos JavaScript (React, Angular otros).

Así que es hora de parar de decir “¿Por Dios quién programo esto?”, admítelo lo has dicho haha.

Leer más

Piracicaba ¡Lugar onde o peixe para!

¿Qué se nos viene a la mente cuando pensamos en Brasil?. Seguramente, ya estás visualizando el “Cristo Corcovado” y las hermosas playas en Río de Janeiro, la cosmopolita y moderna São Paulo o las impresionantes cataratas de Foz de Iguazú. Sin duda son lugares “must-see” es decir que sí o sí debes visitar en Brasil.

Sin embargo, Brasil ofrece muchos otros hermosos lugares que vale la pena conocer. Hoy quiero contarles de 2 ciudades que pertenecen al interior de São Paulo: Cordeirópolis y Piracicaba, las cuales recorrí junto con mis queridos Jacky y Juan un día de junio. En esta época del año se realizan las “Festas Juninas” (Fiestas juninas) que es  una festividad con la cual se celebra a San Antonio, San Juan y San Pedro en Brasil.

Nuestro recorrido empezó en Cordeirópolis, municipio brasilero del estado de São Paulo fundado en 1884 (sin fecha exacta). Una versión dice que su nombre se originó por la antigua hacienda “Cordeiro” de propiedad de la familia con el mismo nombre. Sin embargo fue en 1943, que pasó a llamarse “Cordeirópolis” a pedido de la población a través de un plesbicito.

Cordeirópolis está formando básicamente por descendientes de inmigrantes italianos en su mayoría, portugueses, españoles, alemanes y africanos. Así que no es difícil encontrar restaurantes que ofrezcan comida de dichos lugares, como es el caso de una querida amiga brasilera, Dildre, que junto con su familia tienen su restaurante “Vasques” especializado en culinaria italiana en “Cordeiro” (nombre cariñoso para Cordeirópolis el día de hoy) y tuvimos la oportunidad de degustar sus platos en el horario del almuerzo. Comida deliciosa, lugar acogedor, servicio excelente y todo a un precio justo. Recomiendo “frango a parmegiana” (pollo a la parmesana)

Caminar por las calles de Cordeirópolis fue muy ameno, nos encontramos con un concurso de bandas escolares y nos tomamos fotos con un grupo de jóvenes que aceptaron gustosamente. También podemos encontrar diversos negocios (comida, venta de ropa, bancos, librerías, etc.). Nos despedimos de Cordeiro para seguir nuestro full day, ahora a la ciudad de Piracicaba, ¡o lugar onde o peixe para! (Lugar donde los peces se detienen)

Leer más

[Front-End] Creación de un “sticky” footer

Como desarrolladores front-end, de seguro que ya se nos ha presentado este problema durante el desarrollo de nuestros sitios web:

Problema -> “Una sección footer que no se encuentra en la ubicación correcta (parte inferior) debido a la poca información que contiene la página web que visualizamos”

Figura 1: Footer azul se encuentra ubicado en la mitad de la página web (error de ubicación)

Lo que buscamos es que el footer se encuentre siempre “pegado” (sticky footer) en la parte inferior de la página web, sin importar la cantidad de contenido que haya en dicha página.

Solución-> Sticky Footer utilizando el CSS3 Flexbox

Figura 2: Footer azul ubicado en la parte inferior a pesar de no existir suficiente contenido en la página web

Aclaraciones:

En la figura 3, el navegador web (Google Chrome, Firefox, etc) es representado por el recuadro negro. En el lado izquierdo vemos que el “sticky footer” está en la parte inferior de la ventana del navegador pues la página web no contiene información suficiente. Sin embargo en el lado derecho, como existe mucho contenido, éste “empuja” al footer a la parte más inferior posible.

Figura 3 – Comportamiento del Sticky Footer [3]

 

OJO: Sticky Footer es diferente a Fixed Footer

Figura 4 – Los 3 tipos de footers: Default, sticky y fixed [5]

 

¡Vamos a ver cómo lo hacemos!

Leer más

¿Qué es Google Cloud Platform?

Los sitios web de la mayoría de los clientes de LiOnline están alojados en Godaddy pues nuestra experiencia ha sido positiva con dicho proveedor de hosting y dominios. Esos sitios web desarrollados y personalizados con el CMS (Content Management System): “WordPress“, nosotros los consideramos de tipo “informativos” ya que cuentan con una estructura básica para presentar el giro del negocio del cliente:

  • Inicio
  • Sobre nosotros
  • Catálogo de productos/ servicios y/o proyectos
  • Formulario de contacto
  • Blog (Publicación de noticias yo/o artículos)

Godaddy ha sido suficiente para soportar dichos sitios web. Sin embargo, ¿qué pasa con aquellos clientes que requieren soluciones web más complejas y con mayor nivel de seguridad/velocidad?

Ejemplo de sitio web con estructura básica
A inicios del año 2017, un cliente (que no era del área de tecnología) me comentó sobre Google Cloud Platform (GCP) y deseaba tener su sitio web allí. Fue la primera vez que oía sobre GCP, empecé a investigar un poco pero no fui más alla ya que el sitio web informativo de este cliente no necesitaba toda una infraestructura robusta como la que ofrece GCP (o al menos fue la razón que en ese momento consideré mejor). Hoy, julio 2018, surgió un proyecto de migración de un sitio web de Godaddy a GCP, que ¡LiOnline asumió!.
En este punto, seguro ya te estarás preguntando: pero ¿Qué es Google Cloud Platform?.
Si entramos al sitio oficial encontramos 2 mensajes que resaltan las ventajas más importantes de GCP:
“Juntos, nosotros podemos ayudarte a resolver tus problemas más difíciles y hacer crecer tu negocio. Con Google Cloud: nuestra infraestructura es tu infraestructura. Nuestras herramientas son tus herramientas. Nuestras innovaciones son tus innovaciones”
“Creemos que la seguridad empodera la innovación – así que si tú pones la seguridad en primer lugar, todo lo demás fluirá”
“Infraestructura”. “Seguridad” e “Innovación” las 3 palabras que considero clave para entender GCP.

Leer más