Page 37 - REVISTA 2015
P. 37

•  Al carecer de un diseñador visual de interfaces estable, hacer interfaces web recuerda a los ini-
                 cios de Java con AWT y Swing.
             •  Aunque el desarrollo es íntegramente en Java, cuando se quieren hacer acciones muy específi-
                 cas, se necesita el conocimiento de todas las tecnologías base que utiliza Vaadin.
             •  Preocupaciones al utilizar una nueva tecnología.
             •  A nivel académico y personal tiende a ser motivador, desafiante o distintivo utilizar tecnologías
                 emergentes o bien sistemas que no tienen suficiente tiempo en el mercado, sin embargo no es
                 del todo aceptado o bien visto cuando se trata de proyectos de negocio. Las “nuevas” tecnologías
                 tienden a tener poco testing real, poca documentación o bien una comunidad reducida, pueden
                 generar problemas de compatibilidad con versiones de software anteriores, pocas formas de ca-
                 pacitación y soporte reducido. Estas carencias pueden no ser importantes a la hora de proyectos
                 académicos o personales, pero suelen ser fundamentales en proyectos de negocio; por lo que
                 tener en cuenta estos factores es imperativo para la elección de las tecnologías a utilizar.


          Vaadin ofrece una solución a estas carencias según se detalla a continuación:
             •  Soporte comercial: Si bien el framework es open source, la empresa ofrece consultoría a través
                 de las cuentas denominadas Pro.
             •  Comunidad: El sitio web de Vaadin ofrece foros donde la comunidad pueden postear dudas,
                 problemas de código o consultas. Presenta una comunidad altamente activa y también es de
                 destacar que los desarrolladores de Vaadin son asiduos usuarios de los foros, por lo que no es de
                 extrañar que algunas consultas sean respondida por los autores del framework.

             •  Documentación y Capacitación: Vaadin presenta una importante cantidad de documentación, ya
                 sea por terceros o por parte de la empresa; el libro book-of-vaadin es la documentación oficial y
                 si bien principalmente está en inglés existen proyectos para internacionalizarlo. También cuenta
                 con la documentación de la API mediante java-docs. Cuando buscamos capacitación es impor-
                 tante saber que existen cursos oficiales que van desde lo más básico hasta lo más avanzado; no
                 es algo menor saber que la misma empresa es la encargada de dictar los cursos de capacitación
                 y que ofrece la posibilidad de realizar los cursos en modalidad online.
             •  Testing del framework y compatibilidad: El proceso de testing declarado por la empresa, contabi-
                 liza más de 8.000 tests unitarios y para garantizar la compatibilidad entre versiones, muchos de
                 estos test ejecutan test a nivel de pixel de regresión.



          Arquitectura de Vaadin

          En líneas generales podemos decir que la arquitectura dominante en los distintos frameworks de de-
          sarrollo de aplicaciones web es el modelo clásico de HTML sobre HTTP (basado en request/response)
          utilizado por Spring MVC, Struts, entre otros; sin embargo para los desarrolladores de aplicaciones clien-
          te-servidor es más intuitivo pensar en componentes y enlace de datos (data binding) a la hora de diseñar
          una aplicación.

          Por otro lado, algunos frameworks web, como ser JSF intenta unir estos mundos brindando a los desarro-
          lladores la posibilidad de manejar componentes que se renderizan en una página (no en el concepto de
          ventana) mientras que siguen teniendo que manejar la navegación entre páginas.
          Vaadin propone una arquitectura basada en dos principios:

             •  Permite a los desarrolladores crear aplicaciones orientadas a componentes y enlace de datos.
             •  Aísla al desarrollador del modelo HTML sobre HTTP (request/response) brindándole la posibi-
                 lidad de realizar el diseño pensando en interfaces y no como páginas web o navegación entre
                 páginas. Un modelo más aproximado a las clásicas aplicaciones de escritorio.


               Revista de la Facultad de Ingeniería
   32   33   34   35   36   37   38   39   40   41   42