Download Tabla comparativa de herramientas
Document related concepts
no text concepts found
Transcript
Pontificia Universidad Javeriana Visualizador de Currículos Flexibles - Aplicación Práctica TABLA COMPARATIVA DE FRAMEWORKS PARA DESARROLLAR LA HERRAMIENTA VISUAL POR: Rafael Andrés Gil Segura DIRIGIDO A: Ing. Hilda Cristina Chaparro López Título del TG Aplicación Web de visualización y apoyo a toma de decisiones en el proceso de elección de asignaturas de un currículo flexible. Caso de estudio: Estudiantes de Ingeniería de Sistemas de la Pontificia Universidad Javeriana. Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/02/2007 Página i Pontificia Universidad Javeriana Visualizador de Currículos Flexibles - Aplicación Práctica Contenido 1 INTRODUCCIÓN ...........................................................................................................1 2 BREVE DESCRIPCIÓN DE LOS ENTORNOS GRÁFICOS .................................................2 2.1 FIRST PAGE 2006 ......................................................................................................2 2.2 GRÁFICOS EN JAVA 2D..............................................................................................3 2.3 ADOBE FLASH ...........................................................................................................3 3 VARIABLES O CRITERIOS DE COMPARACIÓN .............................................................5 3.1 VARIABLES DE COMPARACIÓN ..................................................................................5 4 TABLA COMPARATIVA DE LAS HERRAMIENTAS .........................................................6 4.1 TABLA COMPARATIVA ...............................................................................................6 4.2 ANÁLISIS DE LA TABLA Y CONCLUSIONES .................................................................9 4.3 DECISIÓN FINAL ......................................................................................................10 5 REFERENCIAS BIBLIOGRÁFICAS ..............................................................................11 5.1 REFERENCIAS ..........................................................................................................11 Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/02/2007 Página ii Pontificia Universidad Javeriana Visualizador de Currículos Flexibles – Aplicación Práctica 1 Introducción El siguiente documento pretende realizar una comparación de tres herramientas o Frameworks disponibles en los cuales es posible el desarrollo de la aplicación Web. Inicialmente se hará un listado de las variables o criterios de comparación que se tendrán en cuenta en la escogencia y seguido de esto una tabla comparativa que mostrará en detalle qué tanto cumplen las herramientas, cada uno de esos criterios. Finalmente se harán conclusiones y se tomará una decisión de en cuál de los frameworks es más factible realizar la aplicación. Preparado por el Grupo Investigación Istar Página 1 Pontificia Universidad Javeriana Visualizador de Currículos Flexibles – Aplicación Práctica 2 Breve descripción de los entornos Gráficos 2.1 First Page 2006 First Page es un fantástico editor de programación, diseñado para el desarrollo profesional de sitios web, con el que podrás crear, editar, mantener y gestionar páginas web con toda facilidad y precisión. Este editor nació como aplicación especializada en HTML, pero ahora también ofrece soporte para XHTML, PHP, ASP, ColdFusion, Javascript, CSS y Perl, entre otros. Cuenta con una intuitiva interfaz que ofrece además tres modos de edición gracias a los cuales podrás tener controlado en todo momento tanto el código fuente de la web como su aspecto visual. First Page Incluye todas las herramientas que puedas necesitar en tu trabajo de desarrollo, desde el completado automático de los comandos que uses más a menudo (al estilo Dreamweaver) hasta la posibilidad de visualizar el resultado en dos navegadores al mismo tiempo, lado a lado, para comparar. Su amplio abanico de opciones y funciones se completa con código de colores para sintaxis de programación, esquemas de color prediseñados para tu Web, centenares de scripts de Java y DHTML listos para usar, herramientas especiales para diseñar hojas de estilo CSS o barras de desplazamiento y mucho, mucho más. [1] Preparado por el Grupo Investigación Istar Página 2 Pontificia Universidad Javeriana Visualizador de Currículos Flexibles – Aplicación Práctica 2.2 Gráficos en Java 2D El API 2D de Java introducido en el JDK 1.2 proporciona gráficos avanzados en dos dimensiones, texto, y capacidades de manejo de imágenes para los programas Java a través de la extensión del AWT. Este paquete de rendering soporta líneas artísticas, texto e imágenes en un marco de trabajo flexible y lleno de potencia para desarrollar interfaces de usuario, programas de dibujo sofisticados y editores de imágenes. El API 2D de Java proporciona: 1. Un modelo de renderizado uniforme para pantallas e impresoras. 2. Un amplio conjunto de gráficos primitivos geométricos, como curvas, rectángulos, y elipses y un mecanismo para renderizar virtualmente cualquier forma geométrica. 3. Mecanismos para detectar esquinas de formas, texto e imágenes. 4. Un modelo de composición que proporciona control sobre cómo se renderizan los objetos solapados. 5. Soporte de color mejorado que facilita su manejo. 6. Soporte para imprimir documentos complejos.[2] 2.3 Adobe Flash Adobe FLASH® (hasta 2005 Macromedia FLASH®) o FLASH® se refiere tanto al programa de edición multimedia como al reproductor de SWF (Shockwave FLASH) Adobe Flash Player, escrito y distribuido por Adobe, que utiliza gráficos vectoriales e imágenes ráster, sonido, código de programa, flujo de vídeo y audio bidireccional (el flujo de subida sólo está disponible si se usa conjuntamente con Macromedia Preparado por el Grupo Investigación Istar Página 3 Pontificia Universidad Javeriana Visualizador de Currículos Flexibles – Aplicación Práctica Flash Communication Server). En sentido estricto, Flash es el entorno y Flash Player es el programa de máquina virtual utilizado para ejecutar los archivos generados con Flash. Los archivos de Flash, que tienen generalmente la extensión de archivo SWF, pueden aparecer en una página web para ser vista en un navegador, o pueden ser reproducidos independientemente por un reproductor Flash. Los archivos de Flash aparecen muy a menudo como animaciones en páginas Web y sitios Web multimedia, y más recientemente Aplicaciones de Internet Ricas. Son también ampliamente utilizados en anuncios de la web. En versiones recientes, Macromedia ha ampliado Flash más allá de las animaciones simples, convirtiéndolo en una herramienta de desarrollo completa, para crear principalmente elementos multimedia e interactivos para Internet. Flash Player usa un modelo de seguridad sandbox, lo cual significa que las aplicaciones Flash que están reproduciéndose en un navegador disponen de recursos muy estrictos y limitados disponibles para ellos. Las aplicaciones, por ejemplo, no pueden leer archivos del disco duro (excepto los datos como cookies que ellos mismos hayan escrito, denominadas SharedObjects). A partir del lanzamiento de Flash Player 7, sólo pueden comunicarse con el dominio del que ellos se originaron, a menos que sea permitido explícitamente por otro dominio. Es cierto que la interfaz de programación de Flash está basada en JavaScript, pero con base en este lenguaje, fue creado ActionScript. Puede parecer a simple vista que JavaScript y ActionScript son iguales, pero no lo son. Por una parte, JavaScript es un lenguaje de programación estructurada (también llamada programación modular. Debido a la característica de poder armar por partes el script) y además se utiliza principalmente para agregarle interactividad a páginas web. Por otra parte, ActionScript, desde su versión 2.0, pasa de ser de programación estructurada a programación orientada a objetos, que trata de ver el entorno de programación como el mundo real, donde cada objeto tiene propiedades como el color, la forma y su ubicación, y métodos (borrar un texto, parar la línea de tiempo, cargar variables u hojas de estilo), y además nos encontramos con un lenguaje más estricto y más amplio donde usted puede crear sus propias clases.[3] Preparado por el Grupo Investigación Istar Página 4 Pontificia Universidad Javeriana Visualizador de Currículos Flexibles – Aplicación Práctica 3 Variables o criterios de comparación 3.1 Variables de comparación Usabilidad Calidad Gráfica Interactividad Conectividad y Compatibilidad Mantenibilidad y dificultad de implementar Fuentes de ayuda Precio Preparado por el Grupo Investigación Istar Página 5 Pontificia Universidad Javeriana Visualizador de Currículos Flexibles – Aplicación Práctica 4 Tabla comparativa de las herramientas 4.1 Tabla comparativa Usabilidad First Page 2006 Ajax First Page 2006 cuenta con una interfaz gráfica amigable y fácil de utilizar. Es muy intuitiva y ofrece herramientas para conectarse a una base de datos y algunas otras opciones que son importantes para el desarrollo. Java 2D Adobe Flash Para desarrollar la aplicacion sobre este API es necesario conocerlo y aprender cual es su funcionalidad. No tiene una interfaz gráfica y por lo tanto no es intuitivo. Flash tiene una interfaz grafica muy bien construida. Adicionalmente posee una línea de tiempo que nos permite crear gráficos como animaciones, dándole un aspecto más agradable a la aplicación gráfica. 40% 90% Java 2D cuenta con diferentes funcionalidades que permiten aplicar detalle a un diseño grafico, como aplicar transparencia o brillo a una imagen, o procesarla a traves de funciones que ya tiene preestablecidas. Sin embargo en este caso no es aplicable, ya que no se invertirá mucho tiempo en la realización de la presentación grafica. Adobe Flash permite crear gráficos profesionales y muy atractivos a la vista, a través de funciones de edicion de imágenes muy sencillas de utlizar y algunos diseños que el progrema ya tiene preestablecidos en su listado de ejemplos. 10% 100% Calidad Gráfica 80% First Page permite diseñar páginas Web dinámicas y basadas en estilos haciendo uso de los CSS u hojas de estilo. Se pueden lograr excelentes diseños y presentaciones front-end a través de estas hojas de estilo, pero requieren bastante codificación. Lee fácilmente scripts de javascript, y permite acoplar aplicaciones freeware o gratuitas, que permiten desarrollar la aplicación. Dentro de ellas tenemos a Scriptaculous, Lightbox, ZPanel, enre otras. 90% Preparado por el Grupo Investigación Istar Página 6 Interactividad Pontificia Universidad Javeriana Visualizador de Currículos Flexibles – Aplicación Práctica First page permite desarrollar aplicaciones Web que permiten una interacción con el usuario, facil y rapida. Se puede desarrollar en codigo JavaScript con la cual se puede desarrollar con un API gratuito que se llama AJAX, produce elementos dinamicos muy atractivos a la vista. Sin embargo su desarrollo requiere el conocimiento e investigación del ambiente AJAX y tiempo de desarrollo. La interactividad de las graficas que se pueden desarrollar en Java 2D es muy pobre a menos que se invierta mucho tiempo y código para la gráfica desarrollada. Debido a que no se cuenta con mucho tiempo para hacer la parte grafica de la aplicación, la programacion de la grafica se tornaria muy estatica y simple para la vista de quien use la aplicación desarrollada. Adobe Flash es una potente herramienta para desarrollar aplicaciones gráficas de la mejor calidad y aprovechando todas las fuentes interactivas que nos brinda la tecnología de hoy en dia. Permite a las animaciones graficas la adicion de efectos como iluminaciones intermitentes y desplazamientos suaves de los objetos en movimiento. Adicionalmente ofrece efectos de audio que hacen la aplicación mucho más atractiva de una manera fácil y práctica. 100% 10% 100% Preparado por el Grupo Investigación Istar Página 7 Conectividad y compatibilidad Pontificia Universidad Javeriana En cuanto a Conectividad y Compatibilidad First Page es compatible en la Web ya que hace uso de las hojas de estilo CSS para la parte grafica de las paginas HTML. La mayoría de navegadores de Internet soportan estos tipos de archivos y los interpretan de manera correcta. Habria que ver en la parte interactiva de la gráfica en cuanto a javascript y AJAX si los navegadores soportan todo lo que brindan estos lenguajes y si es fácilmente asequible un API ya desarrollado para varios ambientes como PHP, JSP o ASP dependiendo de donde se vaya a desarrollar la aplicación Web. Fácil integración con PHP un lenguaje gratuito y disponible en la red. Alto soporte en comunicación con bases de datos, etc. Visualizador de Currículos Flexibles – Aplicación Práctica Para montar la aplicación grafica en Internet es necesario el uso de alguna interfaz que soporte Java/HTML como por ejemplo un Applet. Para que los applets java funcionen es necesario que el usuario cliente de la aplicacion tenga instalado en su maquina la Java Virtual Machine, o en el Applet Viewer de Sun en donde es posible correr cualquier componente Java en la Web. De otro modo no se podrá ejecutar. Adobe Flash brinda un excelente soporte en compatibilidad e intercomunicación de aplicaciones. De igual forma que los Applets Java, Flash hace uso de un programa necesario para reproducir el aplicativo, el cual es llamado Macromedia Flash Player y la activación por parte del usuario de un control ActiveX que permite ejecutar FWSs (archivos ejecutables generados por Flash), dentro de paginas Web. Sin embargo a diferencia del JVM necesario para reproducir applets, el Macromedia Flash Player no pesa más de 2MB mientras que JVM pesa hasta 13MB. Además el Flash Player se descarga e instala automáticamente. La mayoría de navegadores Web soportan Flash y controles Activex. Solo depende del usuario activarlos o desactivarlos. Otra característica muy importante de Flash es que interpreta de una manera muy sencilla archivos XML lo cual permite versatilidad de intercomunicación con cualquier aplicación Web que implemente Web services o respuestas en XML. Recordemos que este es el “Idioma universal” de las aplicaciones de SW. 100% Preparado por el Grupo Investigación Istar 20% 100% Página 8 Costo Fuentes de ayuda Mantenibilidad y dificultad de implementar Pontificia Universidad Javeriana Visualizador de Currículos Flexibles – Aplicación Práctica Según todo lo anterior implementar una interfaz visual atractiva al ojo humano, el uso de esta herramienta es medianamente mantenible y medianamente fácil de implementar. Según todo lo anterior implementar una interfaz visual atractiva al ojo humano, el uso de esta herramienta es muy poco mantenible y fácil de implementar. Para realizar un buen trabajo se requiere de bastante tiempo, pero no es imposible. Hacer un buen trabajo visual requiere de demasiado tiempo para el que se tiene en todo el desarrollo del proyecto. 90% Según todo lo anterior implementar una interfaz visual atractiva al ojo humano, el uso de esta herramienta es mantenible de una manera sencilla y fácil de implementar. De igual manera es fácil de utilizar pues cuenta con su propio lenguaje de programacion (ActionScript) el cual es de extrema importancia al tener un componente fuertemente ligado con su programación. 60% 10% Es fácilmente encontrar información sobre esta metodología de desarrollar un componente grafico, sin embargo es necesario investigar las buenas prácticas a tener en cuenta. Es fácilmente encontrar información sobre esta metodología de desarrollar un componente grafico. Sun ofrece una de las mejores fuentes de ayuda y documentación existentes en la red. De ActionScript y Flash existen infinidad de tutoriales y ayudas en la red. Libros, foros, etc. 90% 70% Esta herramienta tiene su versión libre en Internet, sin embargo la que ofrecen tiene componentes claves restringidos, los cuales es necesario pagar, para tener una licencia. Como todo lo de Java, esta herramienta o API se encuentra en Internet fácilmente y es gratuito. Adobe Flash es una herramienta que tambien tiene su version libre en Internet pero es valida solo por 30 dias y restringe algunas funcionalidades importantes. 20% 100% 10% Gracias a que es una herramienta muy utilizada por la mayoría de personas. 90% 4.2 Análisis de la tabla y conclusiones En primera instancia es importante recordar que el tiempo para el desarrollo de una interfaz grafica interactiva es muy poco. Esto se convierte en una limitante o un riesgo en el desarrollo del proyecto con el fin de lograr su objetivo máximo el cual es “Visualizar”. Por esta razón es necesario mediar entre el poco tiempo que se tiene y una gráfica interactiva de excelente calidad. Preparado por el Grupo Investigación Istar Página 9 Pontificia Universidad Javeriana Visualizador de Currículos Flexibles – Aplicación Práctica Según la tabla desarrollada anteriormente no cabe dentro del proyecto quedarnos mucho tiempo desarrollando una interfaz gráfica, y vemos descartada por completo la posibilidad de utilizar Java 2D en el proyecto, pues requiere de mucho tiempo para desarrollar una más o menos buena para visualizar. Además de esto, necesitamos desarrollar un Applet Java en el cual motar la aplicación, lo cual lleva aquí más tiempo invertido en el front-end de la aplicación. En cuanto a First Page 2006, es una tecnología muy utilizada por los diseñadores Web expertos, como por ejemplo los de el diario El Tiempo: eltiempo.com, el cual es enteramente realizado a través de hojas de estilo CSS y RSS (Really Simple Syndication, sirve para presentar los componentes de la página de diferentes maneras, a través del lenguaje XML). Esta herramienta es fácilmente interconectable con lenguajes de programación como PHP y soporta asistentes a bases de datos mySQL. Su costo no es alto y los lenguajes y bases de datos son gratuitos, al igual, todo lo que se puede encontrar en internet de Ajax gratuito también. Por lo tanto es la opción más acertada por ahora. Finalmente nos queda Adobe Flash, del cual podemos decir que es una herramienta con un entorno muy amigable, fácilmente adaptable y compatible con la mayoría de aplicaciones y navegadores. Su desarrollo gráfico es profesional y permite una interactividad y experiencia con el usuario excelente, en donde involucra todas las diferentes opciones multimedia disponibles. Todo esto se logra de una manera sencilla y en poco tiempo. El único problema es su costo, requiere una licencia y no no es muy accesible por todos. A 4.3 Decisión final El desarrollo de la aplicación gráfica e interactiva de toda la herramienta visual se hará a través del lenguaje de programación PHP y bases de datos MySQL. Por medio del framework de First Page 2006. Preparado por el Grupo Investigación Istar Página 10 Pontificia Universidad Javeriana Visualizador de Currículos Flexibles – Aplicación Práctica 5 Referencias Bibliográficas 5.1 Referencias 1. http://first-page.softonic.com/ Reseña de Elena Santos. 2. http://www.programacion.com/java/tutorial/2d/9/ Reseña de Juan Antonio Palos 3. http://es.wikipedia.org/wiki/Adobe_Flash Preparado por el Grupo Investigación Istar Página 11