Archivo de la etiqueta: themes

miniEntrevista : Daniel Nabil

Desde hace tiempo que le sigo, sus trabajos y su web muestra la gran experiencia y calidad en sus proyectos, todavía no he tenido la oportunidad de conocerle pero ya tendremos una meetup para que todos podamos compartir conocimientos. Él se describe así:

Construyo sitios webs. Lo suelen llamar diseño web, desarrollo frontend y otros nombres que suenan a que haces algo complicado, pero básicamente lo que hago desde hace unos 15 años es eso, montar páginas web y dar forma a las ideas en Internet, porque siempre me ha gustado construir cosas.

 

Tienes un portafolio impecable ¿Cual es el proyecto más complejo en el que has participado?

Muchas gracias. En la mayoría de los casos lo que ha hecho complicado un proyecto, más que el propio diseño o desarrollo, han sido cosas como la urgencia, las exigencias poco realistas del cliente o los continuos cambios a mitad del proyecto. En otras palabras, más que proyectos complicados, lo que he tenido son proyectos que se complican.

Todo proyecto tiene tendencia a complicarse si lo dejas demasiado “suelto”, por eso es importante atarlo bien. Poco a poco he ido aprendiendo a guiar al cliente para que defina y priorice sus necesidades desde el principio, precisamente para evitar esa complejidad innecesaria.

Casi todos los proyectos empiezan siendo muy simples y estando todo muy claro, pero muchas veces ves perfectamente que no es así, y que si no dedicas un tiempo al principio a marcar objetivos y concretar detalles, vas a acabar trabajando más de lo necesario.

 

¿Tienes algún Tema libre en wp.org o premium en algún marketplace?

Todavía no. Tengo varios temas a punto de terminar, tanto gratuitos como de pago, pero aun no están disponibles. Me apetece mucho poder ofrecer soluciones económicas a nivel de diseño y funcionalidad, pero sin perder ese toque especial de las webs hechas a mano y a medida.

Es algo que hace mucho tiempo que quiero hacer, no solo para los clientes que no se pueden permitir un trabajo exclusivo, sinó para poder devolver a la comunidad la guía y el apoyo recibidos de manera desinteresada desde que empecé a trabajar con WordPress.

 

¿Cuánto es el máximo de plugins que has usado en un proyecto?

Poco más de diez. No soy muy amigo de arreglarlo todo a base de plugins. Se trata de conseguir que la web haga lo que el cliente necesita que haga. Si se puede conseguir sin plugins, perfecto, si no, como máximo debo haber instalado 10 o 12. No recuerdo ningún proyecto que necesitara más. Cada extensión que añades incrementa la complejidad del sistema, por lo que suelo ser bastante ahorrador en este aspecto.

 

¿Trabajas solo, con agencias o un equipo más grande?

En la mayoría de proyectos en los que trabajo yo me encargo de casi todo, desde el diseño y la maquetación, hasta el desarrollo y la implementación, aunque muchas veces acabas trabajando junto a alguien más para cosas como traducciones, correcciones, fotografía, SEO, etc.

Montar páginas web te permite estar en contacto con mucha gente. A no ser que el proyecto sea muy pequeño, para poder realizar el trabajo completo suele ser necesario contar con un equipo, aunque normalmente suele ser algo disperso: varias personas trabajando, pero cada una por su lado.

Pero por otra parte, me gusta “verle la cara” a la empresa o negocio para el que estoy trabajando, saber a quién estoy ayudando, por eso no me suelen interesar los proyectos demasiado grandes.

 

¿Cuáles crees que son los requisitos de un buen Tema?

Yo creo que lo principal es que se ajuste a lo que necesita el usuario final. Un tema no puede serlo todo para todo el mundo: no puede ser rápido, simple y limpio y al mismo tiempo incorporar todos los scripts de pases de fotos conocidos.

Precisamente uno de los grandes inconvenientes que les veo a la mayoría de plantillas compradas en Themeforest y sitios similares es que están hechas para intentar encajar en todos los casos posibles. Estos temas vienen cargadísimos de archivos que lo más probable es que nunca vayamos a utilizar, con lo cual las webs se convierten en pequeños monstruos, lentos y pesados. Sería como si necesitas un cuarteto de cuerda para una fiesta, pero al final te traen toda la orquesta sinfónica, por si acaso.

Evidentemente, si no conoces al usuario final no puedes adaptarte a sus necesidades, por lo que, en el caso de plantillas enfocadas a distribución general, lo más importante es que sean temas simples, limpios y escritos siguiendo los estándares de código, para que puedan servir de base para montar lo que necesitemos.

 

Puedes seguir a Daniel en su twitter @daninabil o visitar su web www.danielnabil.com

Pero que es Git o GitHub?, Es lo mismo?, Para que sirve?

wpoctocat

-No trabajes en caliente- Era la frase que muchos administradores de sistemas me decían cuando tocaba el código de un proyecto directamente en el FTP, hacer eso es un riesgo grande ya que puedes dejar a tu cliente sin web por estar toqueteandole las entrañas mientras la web está siendo visitada. -¿Tienes backup?- Otra de las preguntas que siempre debes hacerte a la hora de desarrollar, si usas Time Machine de OSX o cualquier sistema de backup con disco externo sabes que tienes unos backups cada hora de todo el sistema, pero si trabajas en caliente esos backups no se guardan a menos de que bajes el archivo a tu ordenador y este se incluya en las “revisiones” de Time Machine, ahora dejemos TM para el sistema ya que no es lo óptimo para trabajar en grupo y peor de forma remota. -Pero que has tocao!??- Es ese sudor frío que te recorre la médula espinal cuando tu desarrollo deja de funcionar y no sabes porque, ni quien lo modifico, ni cuando ni que linea de código o archivo.

Una de las claves de trabajar como un profesional es tener un entorno profesional y una pieza importante de ese entorno es un repositorio de versiones, ya sea SVN o Git (hay mas). Esta entrada pretende ayudarte a comprender de que se trata Git y Github. Para ello invitamos a Alfonso Alba un profesional que ha creado aprendegit.com un blog especializado en Información y Experienciassobre el uso de Git.

 

Primero. ¿Que es Git? 

Es un software de control de versiones diseñado por Linus Torvalds, pensando en la eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones cuando estas tienen un gran número de archivos de código fuente. Wikipedia

Git es un sistema distribuido de control de código fuente o SCM (en inglés Source Code Management). Si nunca has utilizado un SCM, me imagino que la frase anterior te habrá sonado a chino. Si es así, la pregunta que te estarás haciendo ahora es ¿qué es un SCM?

Un SCM es una herramienta que nos resuelve una serie de problemas a todos aquellos que tenemos que trabajar código fuente. “Código fuente” pueden ser muchas cosas:

  • Ficheros HTML / CSS / Javascript
  • Ficheros PHP
  • Ficheros de configuración
  • Documentación
  • … y un largo etc

Si te das cuenta, todos los ejemplos que he puesto tienen una cosa en común: todo son ficheros de texto plano y todos son ejemplos de ficheros que encontrarás en tu WordPress.

¿Y qué problema resuelve un SCM?

Vamos a ponernos en situación: imagínate que acabas de comprarte un nuevo tema o plugin para tu WordPress. Está muy bien, te has gastado 60€ (o 0€ si es gratis) y con ese plugin tienes resuelto el 80% de las necesidades del proyecto que estás haciendo. Ahora sólo te falta desarrollar el 20% restante. Para hacerlo, tendrás que modificar el código fuente que has adquirido:

  • Seguramente tengas que modificar la hoja de estilos CSS y adaptarla a tu diseño
  • Tendrás que utilizar alguno de los hooks para implementar la funcionalidad que te falta
  • Quizás incluso tengas que añadir tu propio tipo de post, crear una interfaz de administración para él y seguramente hacer tu propio de shortcode

Cuando terminas, subes tu código al servidor y publicas tu nuevo proyecto o se lo entregas al cliente. En este momento, el código fuente ya no es el mismo que adquiriste, lo has cambiado. Es ahora cuando te hago las siguientes preguntas:

  • ¿Sabrías decirme dentro de 6 meses qué es exactamente lo que has cambiado del código del plugin del que partiste?
  • Resulta que tu plugin inicial se ha actualizado y ha pasado de la versión 1.5.1 a la versión 1.6 ¿Serías capaz de incorporar todas las mejoras y novedades a tu versión personalizada (en un tiempo corto, no hacerlo todo otra vez)?
  • Con el paso del tiempo el cliente te pide una actualización, se la subes a su servidor y dos días después te dice que lo dejes como estaba porque no funciona bien ¿Podrías volver atrás de forma rápida? ¿Te acordarás de qué líneas de código has modificado con precisión para depurar rápidamente dónde está el error que has introducido en el sistema?
  • El cliente llama a los tres meses diciendo que no funciona el WordPress ¿serías capaz de determinar de forma rápida si el cliente ha modificado el código fuente del proyecto por su cuenta y se lo ha cargado él? ¿o realmente es un bug que no ha salido en tres meses? La pregunta es importante porque el coste del arreglo no sería el mismo según el tipo de mantenimiento o garantía que hayas acordado con tu cliente

Un SCM es la herramienta que nos permite responder positivamente a estas preguntas, y a muchas más.

¿Qué nos aporta git?

  • Auditoría del código: saber quién ha tocado qué y cuándo
  • Control sobre cómo ha cambiado nuestro proyecto con el paso del tiempo
  • Volver hacia atrás de una forma rápida
  • Control de versiones a través de etiquetas: versión 1.0, versión 1.0.1, versión 1.1, etc. Sabremos exactamente que había en cada una de ellas y las diferencias entre cualquiera de ellas dos
  • Seguridad: todas las estructuras internas de datos están firmadas con SHA1. No se puede cambiar el código sin que nos enteremos
  • Mejora nuestra capacidad de trabajar en equipo
  • Merging y branching extremadamente eficientes

 

Segundo. ¿Y que es Github? 

GitHub es una forja para alojar proyectos utilizando el sistema de control de versiones Git. Utiliza el framework Ruby on Railspor GitHub, Inc. (anteriormente conocida como Logical Awesome).

Desde enero de 2010, GitHub opera bajo el nombre de GitHub, Inc.

El código se almacena de forma pública, aunque también se puede hacer de forma privada, creando una cuenta de pago. Wikipedia

 

¿Recuerdas la primera frase del artículo? “Git es un sistema distribuido de control de código fuente o SCM”. Que git sea distribuido quiere decir que está preparado para poder trabajar en equipos distribuidos (es decir, cada uno en su casa) de forma eficiente. Imagínate que tú estás en España y yo en Rusia ¿Cómo hacemos para coordinarnos? ¿Cómo sé yo qué código has tocado tú y viceversa?.

Este problema git lo resuelve con herramientas un poco complicadas de configurar si no tienes la experiencia y conocimientos adecuados (Servidores SSH, claves públicas y privadas, etc). Si eres administrador de sistemas y tienes tu propio servidor, no tardarías mucho en hacerlo. En caso contrario, Github te facilita toda la infraestructura para trabajar en equipos distribuidos a través de una interfaz web la mar de cómoda.

¿Y me interesa usar github si trabajo yo sólo? Yo lo hago, por la sencilla razón de que si tienes una copia de tu código fuente en github, tienes un backup de todo el proyecto completo. Ese backup incluye no sólo el código que tienes ahora sino también de todo el historial de modificaciones que el código ha sufrido desde el primer día. Esta copia la puedes recuperar en cualquier momento y continuar trabajando desde cualquier ordenador como si nada… pero esto sería ya tema para otro artículo.

 

 

Invitamos a todos visitar aprendegit.com seguir sus excelentes y fáciles tutoriales orientados al uso de Git con Apps o Línea de comandos. Gracias Alfonso 🙂