miércoles, 9 de febrero de 2011

Definiciones de Symphony, CakePhp y Struts

¿Qué es Simphony?

  Un marco más eficiente el desarrollo de aplicaciones mediante la automatización de muchos de los patrones empleados para un fin determinado. Un marco también agrega a la estructura del código, lo que llevó al desarrollador escribir código mejor, más legible y más fácil de mantener. En última instancia, un marco facilita la programación, ya que los paquetes de operaciones complejas en instrucciones sencillas.


Symfony se diseñó con el fin de cumplir los siguientes requisitos: Fácil de instalar y configurar en la mayoría de plataformas (y garantizados para trabajar en * nix estándares y plataformas de Windows). Base de datos del motor independiente. Fácil de usar, en la mayoría de los casos, pero aún lo suficientemente flexible como para adaptarse a casos complejos. Basado en la premisa de convención sobre configuración - el desarrollador necesita para configurar sólo la convencional. Cumple con las prácticas más mejor web y patrones de diseño. Lista para la empresa - adaptable a las tecnologías de la información (TI) las políticas y arquitecturas, y lo suficientemente estable para proyectos a largo plazo. Muy código legible, con los comentarios phpDocumentor, para facilitar el mantenimiento. Fácil de extender, lo que permite la integración con bibliotecas de otros proveedores.

Las funciones automatizadas de Proyectos Web

La mayoría de las características comunes de los proyectos web son automatizados en Symfony, de la siguiente manera:
  • Características de autenticación de credenciales y facilitar la creación de secciones restringidas y la gestión de la seguridad del usuario.
  •  Interacciones Ajax son fáciles de implementar gracias a los ayudantes de una línea que encapsulan efectos JavaScript cruzada compatibles con el explorador.
  • Las fábricas, plug-ins, y mixins proporcionar un alto nivel de la extensibilidad.
  • Las listas son más fáciles de usar gracias a la paginación automática, clasificación y filtrado. Incorporado en el correo electrónico y las características de la API de gestión permiten a las aplicaciones web para ir más allá de las interacciones clásico navegador.
  • Inteligentes de enrutamiento y las URL que la parte dirección de la página de la interfaz y motor de búsqueda de fácil.
  • La gestión de la caché características reducir el uso de ancho de banda y la carga del servidor
  • Salida de escape protege las aplicaciones frente a ataques a través de datos dañados.
  • Formas de apoyo automatizados de validación y repoblación, y esto garantiza una buena calidad de los datos en la base de datos y una mejor experiencia de usuario.
  • La presentación utiliza plantillas y diseños que pueden ser construidas por diseñadores
  • HTML sin ningún conocimiento del marco.
  • Ayudantes de reducir la cantidad de código de presentación de escribir encapsulando grandes porciones de código en las llamadas a funciones simples.
  • El incorporada en la capa de internacionalización permite tanto para los datos y la traducción de la interfaz, así como la localización de contenidos.
Para cumplir con los requisitos de las empresas que tienen sus propias pautas de codificación y las normas de gestión de proyectos, Symfony puede ser totalmente personalizado. Se establece, por defecto, entornos de desarrollo de varios y que se incluye con múltiples herramientas que automatizan las tareas de ingeniería de software. 

¿Qué es CakePhp?

CakePHP es un framework de desarrollo rápido para PHP que ofrece una arquitectura extensible para el desarrollo, mantenimiento y despliegue de aplicaciones. Using commonly known design patterns like MVC and ORM within the convention over configuration paradigm, CakePHP reduces development costs and helps developers write less code. Uso de patrones de diseño conocido como MVC y ORM dentro de la convención sobre el paradigma de configuración, CakePHP reduce los costes de desarrollo y ayuda a los desarrolladores a escribir menos código.


 
Funciones básicas
  • Modelo, Vista, Controlador de Arquitectura
  • Aplicación de andamios
  • Generación de código a través de Hornear
  • Ayudantes para el HTML, las formas, la paginación, AJAX, JavaScript, XML, RSS y más
  • Listas de control de acceso y autenticación
  • Simple pero extensa validación de los datos del modelo
  • Router para URL cartografía y manejo de extensiones
  • Seguridad, Sesiones y Componentes RequestHandler
  • Utilidad de clases para trabajar con archivos, carpetas, matrices y más.
  • Internacionalización y localización con las traducciones estática en el estilo de gettext o traducciones dinámica de los datos del modelo.
  • Completo entorno de consola con soporte para múltiples tareas. Incluido: hornear, esquema, acl, i18 extractora, api.
  • CSRF protección a través de componentes de seguridad
  • HTTP a través de componentes de seguridad
  • Flexible de almacenamiento en caché: memcache uso, XCache apc, el sistema de archivos, o un modelo para acelerar su aplicación
  • Clase configurar para proporcionar un control dinámico de la configuración y la aplicación de clase para manejar la importación de las clases requeridas.
Estado del proyecto

 
CakePHP está en la versión 1.3.6 Stable.


¿Qué es Struts?

Es un framework que implementa el patrón de arquitectura MVC en Java
Un framework es la extensión de un lenguaje mediante una o más jerarquías de clases que implementan una funcionalidad y que (opcionalmente) pueden ser extendidas. El framework puede involucrar TagLibraries.
El patrón de arquitectura MVC (Model-View-Controller) es un patrón que define la organización independiente del Model (Objetos de Negocio), la View (interfaz con el usuario u otro sistema) y el Controller (controlador del workflow de la aplicación: "si estoy aquí y me piden esto entonces hacer tal cosa, si sale bien mostrar esto y sino lo aquello otro").
¿Cómo funciona esto en aplicaciones Web?
El navegador genera una solicitud que es atendida por el Controller (un Servlet especializado). El mismo se encarga de analizar la solicitud, seguir la configuración que se le ha programado en su XML y llamar al Action correspondiente pasándole los parámetros enviados. El Action instanciará y/o utilizará los objetos de negocio para concretar la tarea. Según el resultado que retorne el Action, el Controller derivará la generación de interfaz a una o más JSPs, las cuales podrán consultar los objetos del Model a fines de realizar su tarea.

¿Para qué sirve?
Evidentemente, como todo framework intenta, simplifica notablemente la implementación de una arquitectura según el patrón MVC. El mismo separa muy bien lo que es la gestión del workflow de la aplicación, del modelo de objetos de negocio y de la generación de interfaz.
El controlador ya se encuentra implementado por Struts, aunque si fuera necesario se puede heredar y ampliar o modificar, y el workflow de la aplicación se puede programar desde un archivo XML Las acciones que se ejecutarán sobre el modelo de objetos de negocio se implementan basándose en clases predefinidas por el framework y siguiendo el patrón Facade. Y la generación de interfaz se soporta mediante un conjunto de Tags predefinidos por Struts cuyo objetivo es evitar el uso de Scriplets (los trozos de código Java entre "<%" y "%>"), lo cual genera ventajas de mantenibilidad y de perfomance (pooling de Tags, caching, etc).
Logísticamente, separa claramente el desarrollo de interfaz del workflow y lógica de negocio permitiendo desarrollar ambas en paralelo o con personal especializado.
También es evidente que potencia la reutilización, soporte de múltiples interfaces de usuario (Html, sHtml, Wml, Desktop applications, etc.) y de múltiples idiomas, localismos, etc.
¿Licencia?
Struts está disponible bajo la licencia "free-to-use-license" de la Apache Software Foundation

No hay comentarios:

Publicar un comentario