Categoría : Frameworks

Cómo personalizar Blueprint CSS

Blueprint logotipoHace un tiempo hablé de Blueprint, y como dije en su día me resulta sumamente práctico usarlo para según qué proyectos.
Ahora estoy codificando el HTML y CSS en una web del tipo ideal para usar Blueprint, aunque me encontré un inconveniente ya que el diseño es de 980 pixels de ancho y Blueprint está pensado para un ancho de 960 pixels, así que tras una muy pequeña búsqueda llegué a una web que permite generar un "Blueprint a medida" y descargarlo.
Simplemente hay que ingresar el ancho de las columnas, margen, cantidad de columnas y la aplicación nos genera un nuevo juego de estilos de acuerdo a lo que necesitamos. Yo conseguí los 980 pixels usando 22 columnas de 35 pixels de ancho :)

CodeIgniter, primeros pasos con este framework PHP

Por sugerencia de LordTaran (que hace poco se ha decidido a incursionar en CodeIgniter) voy a escribir algo de CI. Hoy cuento cómo y porqué uso este framework PHP.

De CakePHP a CodeIgniter

Con CakePHP fue mi primer contacto con esto de los frameworks, y la verdad es que ¡me encantó! Después de un par de años programando en PHP "a mano", de repente poder hacer las cosas de forma mucho más fácil y rápida fue un gran avance para mi, pude hacer aplicaciones que antes me hubiera tomado muchísimo más tiempo y tampoco hubieran quedado tan bien.
Pero no todo fue "maravilloso", CakePHP exige aprender a hacer las cosas a su manera y es casi otro lenguaje. Sumado eso con el hecho de no tener tanta experiencia con PHP hizo que perdiera muchísimo tiempo para hacer algunas cosas a la manera de CakePHP.
Un día veo este comentario de Rasmus Lerdorf (creador de PHP) que hablaba sobre los frameworks PHP (no le gustan) y de CodeIgniter como el más ligero y con mejor rendimiento. Así que como tantos otros programas, librerías, efectos y plug-ins que pruebo continuamente, decidí probar este framework.
Lo primero que hice fue hacer los ejemplos de los video-tutoriales, que me gustaron.

CakePHP vs CodeIgniter

En esos días había puesto en marcha la primer versión de Retro Invaders (mi proyecto de planet de blogs de retro informática), así que para hacer algo concreto con CI decidí convertir el código del Retro Invaders hecho con CakePHP, fue más fácil de lo que pensaba aunque a base de "chapucear" un poco (sobre todo por desconocimiento de CI).

Rasmus Lerdorf - PHP - CakePHP - CodeIgniter

Al final logré tener dos aplicaciones casi gemelas, una con CI y otra con CakePHP 1.1xxx. Y no resistí hacer comparaciones de rendimiento y velocidad de ambas versiones, sobre el mismo servidor y con los mismos datos. El resultado fue que CI era el doble o triple más rápido que CakePHP, tampoco me tomo estas pruebas muy a pecho, porque seguro que en ambos casos se podría optimizar de diferentes maneras.
A partir de allí fui haciendo cada vez más cosas con CI y cada vez sintiéndome más y más cómodo con estas librerías. Por momentos extraño ciertas facilidades que da CakePHP, pero de a poco fui creando mi flujo de trabajo y ya llevo varios proyectos hechos con CodeIgniter, por lo que puedo decir que ahora es mi "framework php oficial".

CodeIngiter 1.7.1

De paso aprovecho para anunciar que se ha publicado una nueva versión: CodeIgniter 1.7.1 Released
Básicamente: muchas nuevas funciones, mejoras, bugs solucionados y una actualización de seguridad para la validación de formularios. Listado completo de esta actualización: Change Log Version 1.7.1

Mi experiencia usando BluePrint, un framework CSS

Cuando empecé a leer sobre los "frameworks" de desarrollo, la verdad es que no entendí bien a que se referían... recuerdo haber bajado CakePHP y no saber que hacer con esos archivos, luego comprendí cómo se usan y me decidí "mas adelante" probar alguno.... llegado el día, dí mis primeros pasos con CakePHP y comprendí el potencial de estas librerías/marcos de trabajo.

Luego probé el framework Javascript JQuery y me gustó, así que cuando supe de la existencia de "frameworks para CSS" me dije que tenía que probarlos también :)

Logotipo del framework CSS Blueprint El primero que miré fue BluePrint CSS, y mi opinión es que está muy bien, la verdad es que ayuda tener una buena base para armar el esqueleto de la web. Yo trato de hacer hojas de estilo CSS livianas y simples, primero uso un reset.css y luego voy creando mis estilos. La ventaja de usar Blueprint CSS es que hace el "reset" y además genera unos estilos básicos pensados para armar el esqueleto, crear columnas, margenes, contempla varios navegadores, versión impresa y además ¡funciona perfectamente en Internet Explorer, Opera y Firefox!.

Hice varios proyectos usando este framework, combinado con otros frameworks de desarrollo web, por ejemplo esta página web Ithkor que me encargaron la programación usé Blueprint+JQuery+CakePHP. No siempre lo uso, pero reconozco que facilita bastante la vida.

Una vez dado el primer paso en el uso de los frameworks, es difícil no tentarse y probar más. Ultimamente estoy probando CodeIgniter para programar PHP.

Enlaces:

Nueva versión: CodeIgniter 1.7

CodeIgniter logoAyer fue liberada la versión 1.7 de CodeIgniter, el framework PHP que estoy usando CodeIgniter para mi blog planet de retro informática: Retro Invaders.

Algunas características de esta versión:

  • Nuevo Form Validation Class, simplifica y mejora el anterior.
  • Actualización de Sessions class, permitiendo grabar en base de datos.
  • Opción max_filename a File Upload Class.
  • Modificación de Pagination.
  • Mejoras en Active Record class, cache en las funciones "update" y "delete".
  • Soporte para MySQL, MySQLi, y MS SQL.
  • Mejoras en el Form helper.
  • Mejoras en el URL helper, agregado current_url() y uri_segments().
  • Agregado meta() function al HTML helper.
  • Agregada limpieza en xss_clean() para HTML deprecado.
  • Y muchas cosas más.

Instrucciones para actualizar a CodeIgniter 1.7:

Bake Planet, un planet de blogs creado con CakePHP

CakePHPHace unos días, escribiendo en el foro de Computer Emuzone, se me ocurrió instalar un "planet de blogs" para los blogs de retro informática. Lo primero que hice fue buscar algo ya hecho para no reinventar la rueda, como estoy inscripto al Planet Stratos miré cual usaban (Planet Planet), pero está hecho con Python y yo no sé nada de Python... fue entonces cuando me picó el gusanito de "hacerlo yo mismo"... :D

El resultado es este: Retro invaders, blogs de retro informática, todavía hay algunos errores de charset, pero en general está totalmente operativa.
Para leer las semillas RSS he usado la librería SimplePie, que facilita muchísimo la lectura de RSS, haciendo la parte más pesada.
Apenas tenga una versión un poco mas depurada publicaré los códigos fuentes del proyecto con licencia GPL (o alguna de código libre).

Actualizándose a CakePHP 1.2

CakePHP 1.2 Framework PHPFinalmente me he decidido a dar el salto a la nueva versión de CakePHP.

El primer contacto fue duro porque:
- Estoy muy acostumbrado a la v1.1.
- Tengo muchas "mini-librerías" que fui creando a medida que aprendía a usar CakePHP.

Ahora me queda por delante aprender a usar todas las nuevas posibilidades, dejar de lado mis "mini-librerías" ya que CakePHP 1.2 ofrece de base cosas como gestión de usuarios, permisos de usuarios, gestión de lenguajes, paginación, etc.

Para ir aprendiendo comencé con un proyecto simple: convertir mi (muy) antigua página web de Manual de Crianza de Caracoles a CakePHP, agregarle un sistema de noticias y artículos de caracoles, recetas de cocina, etc. Ya avisaré cuando haga la actualización.

Framework PHP: CakePHP

Finalmente voy a hablar un poco de mis comienzos con este "framework" para PHP.

Empecé a programar PHP/MySQL hace algo más de 2 años, al principio todo era nuevo y el uso que le daba al lenguaje era usando los comandos básicos del lenguaje, pero a medida que iba aprendiendo y haciendo proyectos mas grandes y complicados veía que necesitaba "algo más"... Desde una manera de organizar los archivos, carpetas hasta una manera estandar de acceder a las bases de datos y mostrar la información.

Cuando uno apenas domina un lenguaje es impensable utilizar librerías y funciones que dan por sentado una base en el manejo del lenguaje,... pero una vez tenemos esas bases, ya podemos "aventurarnos" a las cosas mas complicadas.

CakePHPAsí que llegado a este punto en donde las bases de PHP ya las tenía mas o menos asumidas y viendo que necesitaba urgentemente un orden y sistema de trabajo fue cuando me atreví a ver de que se trataba esto del CakePHP.

En estos días se cumple mas o menos el año desde ese primer acercamiento a CakePHP, y no puedo estar más conforme con la elección :)

CakePHP es Código Abierto, o sea que somos libres de utilizarlo sin pagar, obviamente si podemos hacer donaciones para que ese proyecto siga creciendo y mejorando todos saldremos beneficiados.

 
#