sábado, 12 de febrero de 2011

¿QUE 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 que 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 , 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.



¿QUE ES CAKEPHP?



Es un framework para Php de la misma manera que Rails es para Ruby, basicamente es una utilidad diseñada para facilitar el desarrollo de proyectos en Php.

Ahora la siguiente pregunta que puede que te estes haciendo sea :

¿Debo utilizarlo?

Pues debes utilizarlo si te gusta Ruby On Rails, si sabes de Php pero no tienes tiempo para aprender otro lenguaje, si estas cansado de programar siempre las mismas cosas, si compartes hosting, si quieres hacer más en menos tiempo, si quieres usar templates, si quieres utilizar urls limpias y no pasar las variables con las típicas urls index.php?id=21





¿Es Cake mejor que Rails?


Cake Php sigue el modelo MVC (Modelo Vista Controlador) o lo que es lo mismo separar los datos de la interfaz del usuario.La respuesta a la pregunta es que cómo Php y Ruby son lenguajes distintos estos dos frameworks no pueden ser comparados.

¿Para que sirve?

Facilita la creación de administradores para el manejo de contenido estandar (insertar, editar y eliminar registros), facilita la validación de los campos de los formulario, previene de ataques por SQL injection, facilita el testeo de las aplicaciones, facilita la interacción con la base de datos mediante el uso de ActiveRecord y tambien tiene un sistema de plantillas rápido y flexible.

¿Cómo utilzarlo?


Los requisitos mínimo son Apache con PHP 4.3.2 o superior y MySQL, si el mod_rewrite esta habilitado mejor que mejor, tambien puede utilizarse con IIS.
Cake Php: Sitio Oficial




¿QUE ES SYMPHANY?





Symfony es un completo framework , una biblioteca de clases coherente escritorio en PHP ,proporciona una arquitectura, componentes y herramientas para desarrolladores para crear aplicaciones web complejas más rápido. Elegir Symfony permite liberar sus aplicaciones anteriores, el anfitrión y la escala ellos sin problema, y mantenerlos en el tiempo con una sorpresa.

Symfony se basa en la experiencia. No reinventar la rueda: utiliza la mayor parte de las mejores prácticas de desarrollo web y se integra algunas grandes bibliotecas de terceros.

Miles de desarrolladores de Symfony ya confían para sus aplicaciones!

Los nuevos usuarios unirse a la comunidad todos los días, y que hace de Symfony el framework PHP más populares. Una gran comunidad de medios fáciles de encontrar apoyo, contribuciones de usuarios de documentación, plugins, y aplicaciones libres.





CMS PARA TIENDA VIRTUAL

Oscommerce:

Es un sistema de creación de tiendas virtuales muy utilizado y expandido, es Open Source (código abierto) y está programado en PHP.

Es muy fácil de utilizar, lo instalarlo y tendrás listo un panel de control para subir tus productos. Verás como en minutos tienes tu catálogo online y listo para vender.

Otra de las ventajas que tiene es que, como ya sucede en otros proyectos de código abierto, tiene una gran cantidad de usuarios que aportan sus mejoras y módulos. Gracias a esto podrás encontrar módulos para la mayoría de pasarelas de pago, traducciones para el sistema, templates y multitud de mejoras más.

Tiene una comunidad enorme, miles de extensiones para casi todo lo que podamos necesitar y resulta muy sencillo encontrar documentación sobre Oscommerce. Su gran desventaja: lleva muchos años sin renovarse y está obsoleto en todos los sentidos. Oscommerce es un fósil (y la prometida nueva versión 3.0 no parece que vaya a salir nunca) pero si no somos programadores o no tenemos el tiempo suficiente, muchas veces nos veremos obligados a usarlo al ser el único que tiene una extensión que necesitamos. Aún así debes saber que personalizar a fondo su apariencia o instalar una extensión puede ser un infierno, está tan anticuado que no dispone de sistema de plantillas integrado (si de terceros), ni de un sistema sencillo de extensiones









Magento:

Es un sistema de creación de tiendas online, es Open Source (código abierto) y está programado en PHP haciendo uso de bases de datos MySQL.

Es muy fácil de utilizar, únicamente instalarlo y tendrás listo un panel de control para subir tus productos. Verás como en minutos tienes tu catálogo online y listo para vender.

Magento aprovecha el ya extenso conocimiento sobre tiendas online (gracias a otros sistemas como osCommerce) para llevarlo a otro nivel, donde las funcionalidades, estetica y potencia se mezclan en la herramienta perfecta. Sin lugar a dudas Magento se presenta como el posible sucesor del gran osCommerce.


Algunos le llaman el Oscommerce del futuro. Es un proyecto dirigido por la empresa Varien muy joven y moderno, aunque ya se encuentra en versiones bastante estables.

Toda su interfaz hace uso de Ajax para mejorar su estética y usabilidad, está diseñado para ser escalable al máximo mediante extensiones, tiene un buen sistema de plantillas, está preparado para SEO, etc… en definitiva tiene casi todo lo que podamos pedirle a un CMS moderno y a un carrito de compra.

Su gran desventaja: es un mastodonte, de los CMS más pesados que he probado, además de ser bastante exigente respecto a la configuración del hosting. Por lo demás es posiblemente la mejor alternativa hoy en día, pues su comunidad a pesar de ser joven es muy activa y crece rápidamente.







PrestaShop:

Es uno de los CMS para tiendas online con más futuro, aunque aún necesita seguir avanzando en cuanto a opciones.

Es muy sencillo de instalar y configurar. Además, al contrario que Magento, es una aplicación bastante rápida y liviana. Conforme su comunidad de usuarios vaya creciendo, de momento es pequeña, creo que se convertirá en una de las mejores opciones. De momento, aún sin ser la opción más completa, puede ser muy interesante para pequeños negocios.


¿QUE 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 jerarq...