Issuu on Google+

Symfony

Symfony es un completo framework diseñado para optimizar el desarrollo de las aplicaciones web basado en el patrón Modelo Vista Controlador. Para empezar, separa la lógica de negocio, la lógica de servidor y la presentación de la aplicación web. Proporciona varias herramientas y clases encaminadas a reducir el tiempo de desarrollo de una aplicación web compleja. Además, automatiza las tareas más comunes, permitiendo al desarrollador dedicarse por completo a los aspectos específicos de cada aplicación. El resultado de todas estas ventajas es que no se debe reinventar la rueda cada vez que se crea una nueva aplicación web. Symfony está desarrollado completamente en PHP 5.3. Ha sido probado en numerosos proyectos reales y se utiliza en sitios web de comercio electrónico de primer nivel. Symfony es compatible con la mayoría de gestores de bases de datos, como MySQL, PostgreSQL, Oracle y Microsoft SQL Server. Se puede ejecutar tanto en plataformas *nix (Unix, Linux, etc.) como en plataformas Windows.

Ventajas Symfony fue diseñado para ajustarse a los siguientes requisitos: • Fácil de instalar y configurar en la mayoría de plataformas (y con la garantía de que funciona correctamente en los sistemas Windows y *nix estándares). • Independiente del sistema gestor de bases de datos. Su capa de abstracción y el uso de Propel, permiten cambiar con facilidad de SGBD en cualquier fase del proyecto. •

Utiliza programación orientada a objetos, de ahí que sea imprescindible PHP 5.

• Sencillo de usar en la mayoría de casos, aunque es preferible para el desarrollo de grandes aplicaciones Web que para pequeños proyectos. • Aunque utiliza MVC (Modelo Vista Controlador), tiene su propia forma de trabajo en este punto, con variantes del MVC clásico como la capa de abstracción de base de datos, el controlador frontal y las acciones. • Basado en la premisa de “convenir en vez de configurar”, en la que el desarrollador sólo debe configurar aquello que no es convencional. •

Sigue la mayoría de mejores prácticas y patrones de diseño para la web.

• Preparado para aplicaciones empresariales y adaptable a las políticas y arquitecturas propias de cada empresa, además de ser lo suficientemente estable como para desarrollar aplicaciones a largo plazo. • Código fácil de leer que incluye comentarios de phpDocumentor y que permite un mantenimiento muy sencillo. •

Fácil de extender, lo que permite su integración con las bibliotecas de otros fabricantes.

• Una potente línea de comandos que facilitan generación de código, lo cual contribuye a ahorrar tiempo de trabajo.


• Permite la internacionalización para la traducción del texto de la interfaz, los datos y el contenido de localización. • La presentación usa templates y layouts que pueden ser construidos por diseñadores de HTML que no posean conocimientos del framework. • Los formularios soportan la validación automática, lo cual asegura mejor calidad de los datos en las base de datos y una mejor experiencia para el usuario. •

El manejo de cache reduce el uso de banda ancha y la carga del servidor.

• La facilidad de soportar autenticación y credenciales facilita la creación de áreas restringidas y manejo de seguridad de los usuarios. • El enrutamiento y las URLs inteligentes hacen amigable las direcciones de las páginas de la aplicación. • Las listas son más amigables, ya que permite la paginación, clasificación y filtraje automáticos. •

Los plugins proveen un alto nivel de extensibilidad.

La interacción con AJAX es mucho más sencilla.

Un aspecto a tener en cuenta seria que ofrece al desarrollador no centrarse en tareas repetitivas y de bajo nivel, si no concentrarse en lo importante: "En un entorno altamente funcional, Symfony2 también garantiza un cierto nivel de comodidad para los desarrolladores. Al cuidar de una serie de tareas desagradables (desarrollo de funcionalidades de menor importancia, por ejemplo), Symfony2 permite a los desarrolladores centrarse en los aspectos más destacados reales de una aplicación y para ambos completamente validar su papel y mejorar su productividad. Entre las herramientas de Symfony diseñados para que el vida de un desarrollador mucho más fácil, está la barra de herramientas de depuración web legendario, así como soporte nativo para entornos de desarrollo, páginas de error detallados o incluso de seguridad nativa." Además de todas estas ventajas, cuenta con una gran comunidad de tras de ella, ofreciendo desde su página web guías, foros y noticias acerca de la herramienta.


Tendencia Absoluta.

Tendencia Relativa.

http://librosweb.es/symfony_1_2/capitulo_1/symfony_en_pocas_palabras.html#caracteristicas_d e_symfony http://es.wikipedia.org/wiki/Symfony


codeIgniter

CodeIgniter es un framework para aplicaciones web de código abierto para crear sitios web dinámicos con PHP. «Su objetivo es permitir que los desarrolladores puedan realizar proyectos mucho más rápido que creando toda la estructura desde cero, brindando un conjunto de bibliotecas para tareas comunes, así como una interfaz simple y una estructura lógica para acceder esas bibliotecas.2 » También hay que destacar que CodeIgniter es más rápido que muchos otros entornos. 3 4 5 Incluso en una discusión sobre entornos de desarrollo con PHP, RasmusLerdorf, el creador de PHP, expresó que le gustaba CodeIgniter «porque es rápido, ligero y parece poco un entorno». 6

Ventajas  Eficiencia en la ejecución del código (Las páginas se procesan más rapido)  Reutilización de código (Desarrollos más rápidos)  Facilidad de edición del código ya creado (En caso de requerir actualizaciones o modificaciones)  Facilidad de extender el software (Para crear nuevos módulos, páginas o funciones)  Acceso a librerías públicas y clases (Desarrollos más rápidos debido a clases ya existentes)  Estandarización del código (Evitar problemas cuando se involucra a más de un programador)  URLs amigables con SEO (Ej. http://www.mosti.com.mx/servicios/mi_servicio/ventas en lugar de http://www.mosti.com.mx/index.php?page=servicios&id=5&product=654)  Separación de la lógica y arquitectura del sitio/aplicación

En este foro, encontré un comentario acerca de ajax, para el cual se tendría que usar otro framework para el manejo del mismo.

http://www.desarrolloweb.com/manuales/manual-codeigniter.html

Tendencia absoluta


Tendencia Relativa

http://www.blogdephp.com/5-razones-para-programar-con-el-framework-php-codeigniter/ http://es.wikipedia.org/wiki/EllisLab

Conclusión Teniendo en cuenta varios aspectos para el buen desarrollo del proyecto, symfony nos permitiría tener un mejor proceso de desarrollo ya que presenta las herramientas necesarias para llevar a cabo el proyecto, brindándonos facilidad a la hora de trabajar con la tecnología ajax y presentando


una curva de aprendizaje corta con una comunidad amplia que lo respalda. Por otro lado codeigniter tampoco presenta una curva de aprendizaje tan amplia, y su instalaci贸n es relativamente f谩cil. Symfony ser铆a una gran elecci贸n para llevar a cabo el proyecto debido a sus ventajas y para agilizar el desarrollo del proyecto.


Investigacionframeworks