Páginas

martes, 12 de junio de 2012

Introduciendonos en el mundo de los Frameworks PHP

En esta entrada se tocará un tema un tanto polémico, y aunque la intención no es caer en batallas de mi framework contra el de los demás, si es dar una idea a todos los desarrolladores  PHP que no se han adentrado en el mundo de los frameworks.

Lo primero que debemos tener claro es que es un framework PHP, mi definición sería es una herramienta para desarrollar aplicaciones web con el lenguaje. Un conjunto de librerías que una vez aprendida a utilizar nos facilitan el trabajo, ya que nos brindan una cantidad de códigos que nos evitan el reescribir una y otra vez los mismos script.

¿Porque un framework?


Esta es una pregunta que muchos cuando comenzamos a adentrarnos mas en el lenguaje nos hacemos, porque un framework si yo ya he hecho mis propios sistemas que funcionan, ya que hacen lo que se quería. Mi respuesta muy directa y viene de la mano con la definición es que estos nos brindan una serie de librerías y evitamos el reescribir nuevamente una y otra vez el mismo código, además de que estos framework tienen un soporte de la comunidad y están realizados bajo buenas prácticas de programación.



¿Puedo hacer mi propio framework?


Esta es la pregunta del millón, siempre que me la hacen mi respuesta es la siguiente "Claro que pudieras hacer tu propio framework con buenas prácticas de programación", pero no es mejor trabajar con alguno de los que ya existen que son bastantes y participar en esa comunidad, de manera que los esfuerzos y conocimientos que se tienen ayuden a una comunidad entera, que ya tiene cierta cantidad de tiempo trabajando por mantener el framework listo. A esta pregunta también hay muchos que son menos tolerantes que yo (suele pasar :-)) que dicen para que reinventar la rueda si ya existen muchos frameworks realizados con las mejores prácticas de programación.

¿Que busco en un framework php?

Lo principal que se busca es que tengan buenas prácticas de programación, actualmente los frameworks vienen desarrollados bajo una serie de patrones de diseños como lo son Modelo Vista Controlador ( El famoso MVC), Active Record, DAO o DataMapper para el trabajo del ORM que brinde el framewokr, entre otros patrones que estos brindan.

Sistema de plantillas fácil de manejar.

Soporte por parte de la comunidad (es decir que no este en el olvido).

Componentes o librerías que nos brinda el framework.

Facilidad para integrar con librerías externas a lo que son el framework ejemplo (FPDF, Doctrine, etc).

¿Es un framework un CMS?


Esta es una de las preguntas mas comunes que solemos hacernos los desarrolladores (yo no soy muy amante de los CMS aunque lo admito he usado Wordpress XD). Pero un framework y un CMS no son lo mismo, un framework es una herramienta para programadores, que nos brinda una serie de librerías, un CMS es un gestor de contenido ya hecho que con solo montarlo ya tenemos una página, solo hay que acomodarla a nuestro gusto o crear un theme y ya tenemos una web, cualquier diseñador es capaz de montar una web con ellos.

¿Top tres de frameworks (opinión personal)?


Este es la pregunta mas polémica de este post, ya que es la que normalmente crea guerras santas entre cual es el mejor framework para desarrollar con php, aunque solo he probado por encima o testeado con algunos yo pudiera dar estos tres en mi lista:

Symfony 2: Este framework aplica excelentes prácticas de programación, su sistema de plantillas twig es muy sencillo de utilizar, aunque también puede usarse php como motor de plantillas, el sistema de ruteo es simple, tiene como ORM a doctrine 2, su configuración es fácil de realizar, el sistema de bundles que tiene es maravilloso ya que hay muchos realizados lo que hay es que adaptarlos a nuestra situación. Pudiera seguir dando más detalles de este, pero mejor vayan a su web oficial y vean que mas hay.

ZendFramework: Muchos dicen que es el framework ofical de php ya que lo creo y da soporte la comunidad de los que desarrollan el php "Zend", tiene excelentes prácticas de programación aunque dicen que la curva de aprendizaje del mismo es difícil vale la pena aprenderlo. Lo desacoplado de este framework, la cantidad de librería que este brinda y la utilización de las mismas sin necesidad de usar el framework nos dice lo bueno que es el framework.

YiiFramewor: Es un framework super sencillo de utilizar, ademas que aplica excelentes prácticas de programación, trae una serie de librerías que nos permiten crear código de manera fácil y siendo precisos, tiene un componente para crear los CRUD de manera simple permitiendo que el desarrollador se concentre en la lógica específica de su desarrollo.

Personalmente utilizo yiiFramework actualmente, aunque cualquiera de los tres que acabo de nombrar los usaría con gusto.

Espero que este post ayude a los que están comenzando en el trabajo con php a decidirse por utilizar un buen framework con buen soporte, pueden dar su top tres también de framework y el porque sin insultar ningún otro ya que no es el punto llegar a batallas sino informar, saludos


2 comentarios:

  1. Importante que se paso al momento de crear el post, este link trae la comparación entre distintos frameworks de php http://www.phpframeworks.com/, saludos

    ResponderEliminar
  2. Hola, dado que hay muchos frameworks y que a mi gusto son un poco complicados, decidí construir uno propio.

    Si te interesa ver como evoluciona su desarrollo, puedes seguirme en mi blog.

    Saludos cordiales.

    http://velkanphp.blogspot.com

    ResponderEliminar