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