lunes, 14 de diciembre de 2015

Experimentando con selectores CSS en una tabla


Los selectores CSS permiten identificar el elemento al cual se pretenden aplicar propiedades diferenciadas.

Experimentando, o jugando, con las posibilidades de los selectores CSS, he comprobado que se puede aplicar formato a cualquier parte de una tabla sin necesidad de utilizar etiquetas diferenciadas, clases o identificadores.

Es decir, que partiendo de una tabla que solo tienen etiquetas <tr> y <td>, se pueden utilizar selectores para identificar las siguientes partes de la tabla:

Selector de tabla completa: table

Selectores de Filas
  • Todas las filas: tr
  • La tercera fila: tr:nth-child(3)
  • Primera fila: tr:nth-child(1) o también tr:first-child
  • Última fila: tr:nth-last-child(1) o también tr:last-child
  • Filas Pares: tr:nth-child(even) o también tr:nth-child(2n)
  • Filas Impares: tr:nth-child(odd) o también tr:nth-child(2n-1)

Selectores de Columnas
  • Todas las columnas:  td
  • La tercera columna:  td:nth-child(3)
  • Primera columna:  td:nth-child(1) o también td:first-child
  • Última columna:  td:nth-last-child(1) o también td:last-child
  • Columnas Pares:  td:nth-child(even) o también td:nth-child(2n)
  • Columnas Impares:  td:nth-child(odd) o también td:nth-child(2n-1)

Selectores de Celdas
  • Fila 4ª, celda 6ª:  tr:nth-child(4) td:nth-child(6)
  • Celdas vacías:  td:empty
  • Celda según su contenido:  td:contains('texto')
    No se puede utilizar directamente en CSS, ya que la especificación de la pseudoclase :contains() fue abandonada por la W3C.
    Sin embargo, sí se puede aplicar a través de JQuery. Por ejemplo, para poner en color rojo los números negativos:
      <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
      <script>$( "td:contains('-')" ).css( "color", "red" );</script>


Aquí se puede ver la demo: http://codepen.io/lmrichart/pen/MKaNwg

Aquí se puede ver la demo: MKaNwg de Luis Miguel Richart (@lmrichart) on CodePen.


Os animo a experimentar con los selectores. Descubriréis que tienen muchísimas más posibilidades de las que puede parecer.

martes, 13 de enero de 2015

Tecnologías web más populares


En muchas ocasiones los alumnos que se inician en el Desarrollo de aplicaciones con tecnologías web me preguntan qué tecnologias deben aprender. Quieren saber cuales son los lenguajes más utilizados, los gestores de contenidos, las librerias...
Mi recomendación es comenzar por las tecnologías más populares, aquellas que se utilizan mayoritariamente. A partir de ahí se puede profundizar o especializar en alguna tecnología minoritaria o  en la dirección que a uno más le atraiga.
Utilizando las estadísticas que proporciona w3techs.com he elaborado el siguiente informe.
Observaciones:
- Los porcentajes están referidos con respecto al total de los sitios de todo el mundo.
- Estos datos no son excluyentes. Es decir que un sitio puede estar utilizando simultaneamente dos tecnologías: por ejemplo JavaScript y Flash.

Desarrollo de aplicaciones con tecnologías web

Lenguajes de cliente

Sin duda el gran ganador es JavaScript, presente en el 88% de los sitios mundiales, impulsado por su facilidad de uso y las nuevas posibilidades de las APIs de HTML5.  Muy por detrás queda Flash (12%) que aun se sigue utilizando como base para reproductores de video y banners, pero que prácticamente ha desaparecido como sistemas de navegación y de interfaz.

Lenguajes de servidor

El 82% de los sitios de todo el mundo utilizan PHP, un 12% utilizan ASP y solo un 2% utiliza JAVA.
PHP tiene las ventajas de ser un lenguaje opensource, con miles de aplicaciones desarrolladas y una extensa desimantación y soporte. A menos que la aplicación requiera explícitamente .NET, sin duda el lenguaje de servidor más utilizado es PHP.

Bases de datos

No he encontrado unas cifras fiables del uso de los diferentes tipos de bases de datos, pero sin duda la más utilizada es MySQL seguida de lejos por Microsoft SQL Server (normalmente con ASP) y marginalmente PostgreSQL.

Servidores Web

Apache sigue siendo el tipo de servidor web mas popular con un 56%. Nginx le esta comiendo el terreno alcanzando un 23%. Por último los servidores de Microsoft se utilizan en el 13% de los sitios web.

Gestores de contenidos CMS

El 24% de los sitios del mundo esta creado con Wordpress, un 3% con Joomla, un 2% con Drupal y solo un 0,5% con Prestashop. Sin duda Wordpress es hoy día la herramienta preferida para gestionar contenidos online.

Librerias de JavaScript

Para efectos avanzados la libreria de Jquery es la más utilizada, presente en un 61% de los sitios a nivel mundial. Por detras, con exito menor, estan Bootstrap en 6% de los sitios, MooTools en un 4% y Prototype en un 2%.

Desarrollo de aplicaciones con tecnologías web

Asi pues, el curso ideal de Desarrollo de aplicaciones con tecnologías web deberia constar de aquellas tecnologias más populares, es decir:
- Lenguaje de marcas:  HTML + CSS
- Lenguaje de guión: Javascript
- Lenguaje de servidor: PHP + MySQL
- Gestores de contenido: Wordpress

Estas son las tecnologias web que es imprescindible aprender.
Como herramientas extras, recomiendo continuar por Jquery y Prestashop.
A partir de ahí, el universo es infinito.