YAML: un framework CSS
Publicado por el Jueves, 31 de Enero de 2008
Hacía ya mucho, mucho tiempo de mi último post, y David, el único de nosotros que parece lo suficientemente disciplinado como para escribir con alguna regularidad, había empezado a monopolizar este blog, así que aquí estamos de nuevo…
En general, los frameworks CSS consisten en una serie de ficheros CSS que han de ser enlazados por nuestras páginas y que proporcionan, entre otras cosas:- Reseteo del navegador: los navegadores disponen de una hoja de estilos que define el estilo “por defecto” de las páginas que renderizan. Para evitar las diferencias entre navegadores y simplificar la tarea de desarrollar para múltiples navegadores se incluye una hoja de estilos que “anula” los estilos por defecto.
- Tipografía y estilos básicos: se fijan también algunos valores para la tipografía y algunos elementos HTML básicos (formularios, encabezados, párrafos, etc.).
- Layout o grid: a la hora de posicionar los elementos en pantalla, hay dos opciones: o bien utilizar una serie de layouts predefinidos por el framework, o bien posicionar elementos en un grid montado mediante CSS.
- Hacks o patches: para garantizar que todo se ve como debe en el IE o en otros navegadores.
- Plugins: algunos frameworks ofrecen la posibilidad de añadir plugins, que no son más que ficheros CSS adicionales y, ocasionalmente, imágenes de fondo, para crear determinados widgets como menús con tabs, formularios “chulos”, etc.
Existen multitud de frameworks CSS: Yahoo Grids CSS, Blueprint, Elements, Logicss, Schema, WYMstyle.
Nosotros hemos optado por YAML, y no porque su nombre nos suene rubyistico, que no somos de esos, sino porque, aparte del framework de Yahoo, es el que parece tener una documentación más amplia y, sobre todo, más útil (os la recomiendo como lectura, aunque no vayáis a usar el framework). Eso sí, también es de los que tiene un mayor número de ficheros y al principio resulta un poco complejo.
Como colofón, ya que parece que está de moda en este blog ponerse literarios, ahí va lo mío: Car tout ce que je raconte, je l’ai vu; et si j’ai pu me tromper en le voyant, bien certainement je ne vous trompe point en vous le disant. He dicho.
El infierno de los valores cableados
Publicado por el Martes, 29 de Enero de 2008
A veces me pregunto como es posible que hoy en día la gente siga cableando valores en su código.
Último ejemplo que me he encontrado: acts_as_sphinx. Este simpático plugin permite de manera muy sencilla que nuestros modelos active record lancen búsquedas contra un sphinx. Es sencillo, funciona y se adapta muy bien a lo que buscamos para una aplicación que estamos desarrollando y por eso lo usamos. Sin embargo, no es perfecto. Y lo que me “cablea” es que la caguen en algo tan trivial. Digamos que este plugin nos “obliga” a que el fichero de configuración de sphinx sea $RAILS_ROOT/config/sphinx.conf (mala idea porque no se puede usar “de serie” una configuración diferente para producción y desarrollo, aunque esa ya es otra historia).
acts_as_sphinx_tasks.rake:
desc "Start searchd server"
task :start do
if File.exists?('/var/run/searchd.pid')
puts 'Sphinx searchd server is already started.'
... y así varias veces más ...
Ahora el fichero de configuración de ejemplo/documentación de sphinx:
searchd {
...
# a file which will contain seachd process ID
# used for different external automation scripts
# MUST be present
pid_file = @CONFDIR@/log/seachd.pid
...
Me parece muy bien que a los autores del plugin les guste que el fichero de pid esté en /var/run/searchd.pid, pero yo no lo coloco ahí. ¿Era tan difícil, ya que sabes dónde localizar el fichero de configuración, extraer de él el nombre del fichero con el pid? Yo creo que no. Puede hacerse en 5 líneas. Menos incluso. Y menudo cambio.
Y alguién dirá que no pasa nada, que redefina las tareas rake o que modifique el plugin. Y yo diré que bien, que de acuerdo, pero que, como plugin que es, debería ofrecer una funcionalidad mínima y correcta, sin que me obligue a hacer nada a mayores (porque para eso es el código de terceros, para no tener que hacerlo uno mismo). No pretendo cambiar el funcionamiento del plugin. Sólo que haga lo que dice que hace correctamente.
Dejo en la recamara un ejemplo de cableo salvaje de valores en una libreŕia bastante conocida. Un día me animo y cuento la historia. Que no tiene desperdicio.
Haml ¿Haiku?
Publicado por el Lunes, 28 de Enero de 2008
Lo prometido es deuda: un nuevo post. Hoy: Haml. ¿Comparte realmente las características de un buen haiku?, ¿es breve, conciso, evocador, bello, etc?.
Nota: Este post no va a explicar qué hace o cómo se usa Haml. Eso podéis descubrirlo ampliamente en su página web, que debéis visitar para poder seguir leyendo.
Admito que mi experiencia con Haml no es muy amplia. Hasta hace poco sólo había usado ERB y Markaby. Por lo que había leido del tema, Haml se me antojaba similar a Markaby, así que no le di mucha importancia hasta el día en que me tope de bruces con StaticMatic (del que hablaré en otro post… espero). De todos modos, y a pesar de mi corto rodaje me he dado cuenta de que Haml es la típica historia que, o bien odias, o bien amas con locura. Así que tenemos nueva batalla en el mundo Rails: hamelistas contra erebeistas (si nadie ha registrado esas palabras yo lo haré: quiero un euro cada vez que alguién las utilice, jaja..). En Trabe Soluciones, ante estos debates, solemos optar por la tercera vía (la llamada “vía gris”) que se basa en usar las cosas sólo cuando lo consideramos oportuno, sin que medien pasiones u odios.
Lo que nos gusta de Haml
- Conciso. Muy conciso. Escribir poco es bueno
- Genera un HTML bonito (bien indentado, etc)
- SASS, que tiene cosas geniales como la aritmética de colores
Lo que nos disgusta de Haml
- No todos los editores entienden Haml (y ésto es como “La Casera”, si no hay highlighting nos vamos)
- A veces cuesta encontrar el fragmento de markup o de CSS que estamos depurando con herramientas como Firebug.
- Es más lento que ERB
- ¿Por qué demonios no se puede indentar con un tab y hay que usar dos puñeteros espacios? No importa mucho si el editor cambia los tabs por espacios, pero no puedo evitar recordar pesadillas “cobolisticas” de antaño
- Convence tú a un diseñador para que lo aprenda
En resumen. Haml está ahí. Está bien pensado. Es útil. No es perfecto. Pero tendréis que probarlo para saber si se adapta a vuestras necesidades. Haml es, en efecto, como un haiku: algo breve cuya belleza es, a veces, discutible:
Mujer agachada
que orina y hace fundir
la nieve
Seguimos...
Publicado por el Domingo, 27 de Enero de 2008
Sí, seguimos aquí. Quién lo diría viendo la fecha de nuestro último post. Ya ha pasado más de un mes, lo que se antoja excesivo. Así pues, aprovecharé estas líneas para disculparme por la falta de novedades. En adelante, intentaremos publicar más a menudo. Aunque debo decir que la tarea es ardua, ya que un grupo de aventureros como nosotros, que se dedica a la búsqueda de tesoros arqueológicos en parajes exóticos, latigo en mano y sombrero calado, aporreando a los malos y ligándose siempre a la prota, apenas tiene tiempo para otras cosas (vamos, que estamos hasta arriba de trabajo y no damos para mucho más).
Y para que no parezca que lo dicho es de cara a la galería, mañana publico un post de verdad. Hoy no, que ya es tarde.
