Está en la página 1de 11

Frameworks PHP Y CODEIGNITER

POR QUE USARLOS?

JESUS GOROSTIAGA HERRERA

INDICE
INTRODUCCION
QUE ES UN FRAMEWORK? NECESITO UN FRAMEWORK VENTAJAS Y DESVENTAJAS Ventajas Desventajas Arquitectura MCV Qu es MVC? Por qu utilizar MVC?

FRAMEWORKS PHP CODEIGNITER REFERENCIAS

INTRODUCCION
Bueno el presente trabajo trata de hablar sobre los frameworks como estos nos ayudan a agilizar el trabajo como estos mimos ya tienen todo lo bsico en cuanto a programacin innecesaria cuando uno est haciendo el mismo trabajo una y otra vez adems se ver el concepto de la arquitectura vista, controlador, modelo, que hoy en da es muy usada en la realizacin de proyectos web, la importancia de usar estas herramientas y porqu nos simplifican la vida de manera que podamos hacerlo todo ms rpido ms sencillo ordenadamente. Tambin tocare un framework en especial, CODEIGNITER el cual es una de las buenas herramientas con la cual he tenido la experiencia de trabajar adems de ser una de los frameworks el cual tiene una curva de aprendizaje no tan elevada como otros y para aquellos que recin se estn iniciando en este mundo de los frameworks, vern que es muy sencillo desde el momento de su instalacin hasta el momento de uso.

QUE ES UN FRAMEWORK?
Los "frameworks son un conjunto estandarizado de conceptos, prcticas y criterios para enfocar un tipo de problemtica particular, que sirve como referencia para enfrentar y resolver nuevos problemas de ndole similar. En el desarrollo de software, un framework , es una estructura conceptual y tecnolgica de soporte definido, normalmente con artefactos o mdulos de software concretos, con base a la cual otro proyecto de software puede ser ms fcilmente organizado y desarrollado. Tpicamente, puede incluir soporte de programas, bibliotecas, y un lenguaje interpretado, entre otras herramientas, para as ayudar a desarrollar y unir los diferentes componentes de un proyecto. En general, con el trmino framework, nos estamos refiriendo a una estructura Software compuesta de componentes personalizables e intercambiables para el Desarrollo de una aplicacin. En otras palabras, un framework se puede considerar como una aplicacin genrica incompleta y configurable a la que podemos aadirle las ltimas n piezas para construir una aplicacin concreta.

Los objetivos principales que persigue un framework son: acelerar el proceso de desarrollo, reutilizar cdigo ya existente y promover buenas prcticas de desarrollo como el uso de patrones.

NECESITO UN FRAMEWORK?
Los Frameworks ayudan en el desarrollo de software, proporcionan una estructura definida la cual ayuda a crear aplicaciones con mayor rapidez. Ayuda a la hora de

realizar el mantenimiento del sitio gracias a la organizacin durante el desarrollo de la aplicacin. Los Frameworks son desarrollados con el objetivo de brindarles a los programadores y diseadores una mejor organizacin y estructura a sus proyectos. Se utiliza la Programacin Orientada a Objetos (POO), permitiendo la reutilizacin de nuestro cdigo Los objetivos principales que persigue un framework son: acelerar el proceso de desarrollo, reutilizar cdigo ya existente y promover buenas prcticas de desarrollo como el uso de patrones.

VENTAJAS Y DESVENTAJAS
Ventajas -escalabilidad y mantenimiento La escalabilidad es la propiedad deseable de un sistema que indica su habilidad para extender el margen de operaciones sin perder calidad, o bien manejar el crecimiento continuo de trabajo de manera fluida, o bien para estar preparado para hacerse ms grande sin perder calidad en los servicios ofrecidos. -independencia lgica de negocio e interfaz grfica MVC: Modelo, Vista, Controlador Se puede separar la lgico para un mantenimiento ms fcil -Desarrollo ms rpido y mejor -hay libreras y cdigos ya realizados (lo tpico ya se tiene) -Extensa documentacin y muchos incluso en espaol -independencia de base de datos La independencia de los datos consiste en la capacidad de modificar el esquema (fsico o lgico) de una base de datos sin tener que realizar cambios en las aplicaciones que se sirven de ella. -suelen seguir la mayora de las mejores prcticas y patrones de diseo web

Los patrones de diseo son la base para la bsqueda de soluciones a problemas comunes en el desarrollo de software y otros mbitos referentes al diseo de interaccin o interfaces. Un patrn de diseo es una solucin a un problema de diseo. Para que una solucin sea considerada un patrn debe poseer ciertas caractersticas. Una de ellas es que debe haber comprobado su efectividad resolviendo problemas similares en ocasiones anteriores. Otra es que debe ser reutilizable, lo que significa que es aplicable a diferentes problemas de diseo en distintas circunstancias.

Desventajas A veces me limitan por que no se modificar algo del ncleo o no me hace lo que pienso que debera. Si lo hubiese programado yo entero lo tendra todo ms claro. La curva de aprendizaje es costosa en algunos frameworks No me siento realizado no todo es mo Puede implicar trabajar ms de lo necesario configuracin del cache. Obligado a mejor resultado

Qu es MVC?
Modelo Vista Controlador es un patrn de arquitectura de software que se utiliza mucho en aplicaciones web, separndola en tres capas (modelo, controlador y vista) El Modelo se encarga de interactuar con la base de datos y tambin se ejecuta las reglas de negocio. El Controlador procesa las peticiones de la pgina web (vista), y enva estos datos a la capa modelo, para que esta le devuelva la informacin adecuada para mostrarla en la capa vista. La vista es el cdigo HTML que se muestra al usuario, con la informacin proveniente del controlador.

Por qu utilizar MVC? El fcil mantenimiento de cdigo en un futuro, ya que al estar separadas los distintos procesos segn su tipo. Si quisiramos por ejemplo cambiar de tipo de base de datos, solo tendremos que cambiar la capa modelo.

Como funciona

Segn este patrn, la capa intermedia de una aplicacin Web puede estar dividida en tres bloques funcionales: Controlador Vista Modelo El Controlador Se puede decir que el controlador es el cerebro de la aplicacin. Todas las peticiones a la capa intermedia que se realicen desde el cliente son dirigidas al controlador, cuya misin es determinar las acciones a realizar para cada una de estas peticiones e invocar al resto de los componentes de la aplicacin (Modelo y Vista) para que realicen

las acciones requeridas en cada caso, encargndose tambin de la coordinacin de todo el proceso. La centralizacin de flujo de peticiones en el Controlador proporciona varias ventajas al programador, entre ellas: Hace que el desarrollo sea ms sencillo y limpio. Facilita el posterior mantenimiento de la aplicacin hacindola ms escalable. Facilita la deteccin de errores en el cdigo. La Vista Tal y como se puede deducir de su nombre, la Vista es la encargada de nombre, la Vista es la encargada de generar las respuestas (habitualmente XHTML) que deben ser enviadas al cliente. Cuando esta respuesta tiene que incluir datos proporcionados por el Controlador, el cdigo XHTML de la pgina no ser fijo sino que deber ser generado de forma dinmica, por lo que su implementacin correr a cargo de una pgina JSP, Hay cuatro tipos de Vista: Presentacin de datos (Grficos, tablas, listas) Formularios para ingreso de datos Pestaas de navegacin (Mens, hipervnculos, mapas del sitio) Ventanas emergentes o pop-ups (Instrucciones, mensajes de ayuda, mensajes de error, dilogos de confirmacin) El Modelo En arquitectura MVC la lgica del negocio de la aplicacin, Incluyendo el acceso a los datos y su manipulacin, est Encapsulada dentro del modelo.

El Modelo lo forman una serie de componentes de negocio Independientes del Controlador y la Vista, permitiendo as su Reutilizacin y el acoplamiento entre las capas. DONDE SE APLICA El modelo vista controlador se aplica en el diseo de interfaces ya que La lgica de un interfaz de usuario cambia con ms frecuencia que los almacenes de datos y la lgica de negocio. Se trata de realizar un diseo que desacople la vista del modelo, con la finalidad de mejorar la reusabilidad. De esta forma las modificaciones en las vistas impactan en menor medida en la lgica de negocio o de datos.

FRAMEWORKS PHP
Los llamados frameworks para PHP, son un conjunto de archivos PHP que vienen preparados con toda la estructura necesaria para desarrollar varios tipos de proyectos . Cuando tenemos que desarrollar un proyecto en PHP, muchas veces empezamos escribiendo todo el cdigo desde cero, lo que no es muy prctico. Para ello tenemos disponibles los llamados frameworks para PHP, que nos har ms ptimo el trabajo. Hay muchos Frameworks de PHP; cada uno orientado a un tipo de proyecto, por lo que elegir el adecuado nos puede ahorrar una gran cantidad de trabajo. Aqu les presentamos una lista de los 5 frameworks PHP ms destacados. Zend Framework: Zend Framework es un framework PHP orientado a objetos 100%, con una fuerte implementacin del patrn MVC, una abstraccin de datos muy simple de usar y un rendimiento muy estable, siendo uno de los frameworks ms robustos de la actualidad. Adems, al ser un framework de cdigo abierto, evitaremos posibles problemas con licencias como nos podra ocurrir con algn framework restrictivo o de pago. CakePHP: Uno de los frameworks ms ligeros que existen, su paquete base es realmente muy ligero. Tiene la buena (o mala, segn se mire) caracterstica de soportar PHP 4, por lo tanto no ser un problema para usarlo en servidores que no se hayan actualizado a PHP 5. Symfony:

Un framework PHP construido enteramente para PHP 5, por lo que no es compatible, pero al mismo tiempo ofrece un rendimiento excelente en la ltima versin de PHP. Con Symfony el programador se podr centrar solo realmente en lo que es la programacin, obviando tareas comunes y centrndose en el proyecto entre manos. CodeIgniter: Framework increblemente ligero que usa el diseo MVC y contiene una muy buena estructuracin de sus libreras. Usarlo es tan fcil como descomprimir su contenido en una carpeta en el servidor, slo con eso ya funcionar. Es uno de los frameworks ms indicados para las personas que quieran iniciarse en el uso de los mismos. Seagull: Seagull es un Framework compatible con PHP 4 y PHP 5 con el que podremos realizar aplicaciones y pginas web de una forma muy sencilla y visual, ya que al mismo tiempo es un CMS que cuenta con interfaz grfica, lo cual acelerar bastante el trabajo en algunas ocasiones.

CODEIGNITER
CodeIgniter es un entorno de desarrollo abierto que permite crear webs dinmicas conPHP. Su principal objetivo es ayudar a que los desarrolladores, puedan realizar proyectos mucho ms rpido que creando toda la estructura desde cero. Tambin hay que destacar que CodeIgniter es ms rpido que muchos otros entornos.2 3 4Incluso en una discusin sobre entornos de desarrollo con PHP, Rasmus Lerdorf (el creador de PHP) expres que le gustaba CodeIgniter "porque es rpido, ligero y parece poco un entorno".5 Kohana ha creado una rama a partir de CodeIgniter 1.5.4 en 2007, como resultado del disgusto de la comunidad por la falta de correccin de errores y el deseo de incorporar otras caractersticas demandadas por los usuarios. CodeIgniter es Libre CodeIgniter se encuentra bajo una licencia open source Apache/BSD-style, as que lo puede usar donde le parezca.

Referencias
http://es.wikipedia.org/wiki/Framework http://es.wikipedia.org/wiki/EllisLab http://www.cssblog.es/guias/Framework.pdf http://www.jourmoly.com.ar/introduccion-a-mvc-con-php-primera-parte/ http://www.rpp.com.pe http://www.codeigniter.com http://techtastico.com/post/manual-codeigniter-castellano/ http://net.tutsplus.com/?s=codeigniter

También podría gustarte