Abril de 2017 marcó el momento en el tiempo, en el Flowing Code comenzó a existir. Desde entonces, hemos estado aprendiendo, investigando, codificando, brindando un alto valor a nuestros clientes y también manteniendo una comunidad en crecimiento. Mientras celebramos alcanzar este increíble hito, les dejamos un repaso de nuestro último año.
Nuevos clientes y desafíos
Nuestro enfoque principal es ayudar a nuestros clientes a lograr sus objetivos, brindando el soporte necesario relacionado con la evolución de su infraestructura de software, especialmente sus principales productos. Tenemos mucha experiencia en el desarrollo de aplicaciones empresariales, y uno de los sistemas más complejos de construir en ese campo son los ERPs (aplicaciones de planificación de recursos empresariales).
Este tipo de aplicaciones tienen un requisito especial que va más allá de los requisitos funcionales y no funcionales: necesitan sobrevivir y perdurar en el tiempo, los clientes no pueden simplemente cambiar un ERP de un día para otro.
Lograr esto en un mundo en el que surgen nuevas tecnologías cada minuto puede ser bastante difícil, especialmente si desea concentrarse en las características funcionales y no perder el tiempo en mantener la aplicación utilizando el último framework que apareció la semana pasada.
Estamos ayudando a nuestros clientes a desarrollar sus ERP brindándoles los siguientes servicios:
- Evaluación de la evolución: esto incluye comprender toda la arquitectura de la aplicación, cómo funcionan juntos las capas internas, los componentes y los servicios, analizar las dependencias y la versión de la plataforma que se utiliza y, finalmente, ayudar a elaborar un plan de migración.
- Capacitar a sus desarrolladores para comprender y dominar las últimas herramientas y tecnologías que se requieren para implementar y mantener la próxima versión de su software.
- Crear PoC (Prueba de Conceptos) que verificará que se puede implementar una determinada estrategia personalizada para llevar su ERP al siguiente nivel.
- Diseñar, crear y mantener componentes y módulos reutilizables que puedan usar para agregar nuevas funciones a su aplicación.
- Proporcionar servicios de desarrollo y consultoría para aumentar su fuerza laboral y apoyar sus necesidades técnicas durante el proceso.
Siguiendo este camino, el año pasado ayudamos a tres clientes distintos que se encuentran en diferentes partes de su viaje a actualizar su producto, a las últimas tecnologías para que puedan ayudar a sus clientes con lo que quieren.
Continuamos ayudando a un cliente de España que está evolucionando su ERP desde el punto de vista de la infraestructura para que pueda ofrecer los servicios en un entorno en la nube completamente seguro. Estamos utilizando Docker y varias técnicas DevOps para lograr este objetivo.
Empezamos a ayudar a un nuevo cliente de Costa Rica que está actualizando su ERP basado en Vaadin 7 a Vaadin 23. Esto implicó básicamente recrear las vistas con la nueva versión, pero al mismo tiempo capacitarlos en las nuevas tecnologías y también desarrollar una forma de facilitar la transición.
Otro cliente de Argentina quiere migrar toda la tecnología frontend a Vaadin, pero al mismo tiempo actualizar la versión de Java y también como construye y versiona el código (versiones de Java más nuevas y utilización de Git). En este caso comenzamos brindándoles servicios de capacitación y todos los aspectos necesarios antes de la migración real.
Además de eso, continuamos brindando nuestra experiencia al hacer crecer el equipo de una importante empresa de código abierto. Durante el último año nos especializamos en el desarrollo de componentes personalizados para clientes de todo el mundo.
Abriendo el código
Nuestra colección de proyectos de código abierto que incluye un conjunto cada vez mayor de componentes frontend basados en Vaadin y Web Component crece cada año. Lo más interesante de este crecimiento es que, a medida que pasa el tiempo, vemos que la comunidad participa cada vez más, por lo que queremos aprovechar la oportunidad para agradecerles a todos por los comentarios y también por las contribuciones de código que hacen que nuestro equipo virtual a nivel mundial sea cada vez más grande.
Addons
El año pasado creamos los siguientes addons:
- WC Stories: este addon se basa en este componente web. La idea es facilitar las cosas si quieres mostrar historias como Instagram, Whatsapp, Facebook o Snapchat.
- Year Month Calendar: Este da la posibilidad de mostrar un calendario de todo el año con ciertas fechas resaltadas
- Image Comparison: con este componente, puede mostrar un par de imágenes con un control deslizante para compararlas con solo deslizar hacia adelante y hacia atrás.
Implementamos en los siguientes componentes importantes características nuevas:
- XTerm Console: tuvo una reescritura completa en typescript y soporte para Vaadin 22+
- FontAwesome: soporte para FontAwesome 6
- AppLayout: soporte para endpoints de Fusion
Otra cosa interesante para mencionar es que creamos y publicamos algunos componentes web que se pueden usar con prácticamente cualquier framework que pueda producir html como salida:
- Google Map: Esto fue publicado por nosotros hace mucho tiempo, pero esta es probablemente una de las versiones más mantenidas de un componente web que simplifica la tarea de mostrar un mapa de Google.
- AppLayout y MenuItem: un par de componentes web utilizados internamente por nuestro addon AppLayout para Vaadin, pero se pueden usar para mostrar un diseño responsivo en cualquier sitio web. Tenemos publicada una demo online aquí.
- FontAwesome Iconset: este componente web facilita las cosas cuando se requiere mostrar iconos de FontAwesome en un sitio simplemente usando un componente web.
Para facilitar el acceso a toda esta información, estamos mejorando nuestra sección de código abierto para enumerar todos estos proyectos con sus enlaces.
Artículos Técnicos
Escribimos un artículo que explica en profundidad todo lo relacionado con cómo lidiar con uno de los componentes más complejos de Vaadin: el TreeGrid.
Le agregamos soporte a uno de nuestros componentes para comunicarse a través Fusion Endpoints (ahora Hilla Endpoints): AppLayout, por lo que escribimos un artículo que explica cómo y compartimos un proyecto de prueba para que pueda jugar con él. Estamos planeando actualizar el addon y el artículo para que puedan usar Hilla en lugar de Vaadin Fusion.
Finalmente, investigamos la API de WebSockets y el modelo de desarrollo de Spring Reactive, y escribimos un artículo completo que explica cómo crear una aplicación que se comunique con un proveedor de precios de criptomonedas y muestre los datos en tiempo real.
Participación en otras comunidades
Brindamos servicios de consultoría a otras empresas que se enfocan en el mundo del código abierto, y en esa dirección ayudamos aumentando y evolucionando el conjunto de componentes disponibles en la organización de GitHub Vaadin Component Factory:
- Date Range Picker: este es un componente web y un wrapper de Vaadin Flow que permite seleccionar un rango de fechas usando un solo calendario.
- Pdf Viewer: también un componente web y un wrapper en Vaadin Flow que permite renderizar un pdf directamente en el navegador, utilizando la librería de JavaScript pdfjs.
- Enhanced Grid: una extensión de Vaadin Grid que agrega características adicionales como un mejor soporte para filtrado y selección.
- Timeline: componente que permite mostrar una línea de tiempo de eventos con varias funciones, como arrastrar y soltar y el manejo de varios eventos producidos. Se basa en la librería de JavaScript visjs.
- Combo Box V8 y Grid Layout: un par de componentes que ayudan en la migración a Vaadin 10+ desde Vaadin 8, al reproducir comportamientos similares de ComboBox y agregar una primera versión del inexistente GridLayout.
- Splide: componente que permite mostrar un carrousel con soporte para imágenes, videos y miniaturas automáticas con soporte para pantalla completa. Basado en la librería de JavaScript Splidejs
También codificamos la mayor parte de la migración del proyecto Spring Pet Clinic a Vaadin Flow. Spring Pet Clinic es una aplicación de ejemplo full stack diseñada para mostrar cómo se puede utilizar Spring para crear aplicaciones sencillas pero potentes orientadas a bases de datos. Para obtener más información, puede visitar su organización Github o su sitio.
Flujo constante
Aparte de los aspectos técnicos de nuestro repaso, nos mudamos a oficinas nuevas, más grandes y mejor ubicadas para que podamos estar más cómodos cuando vamos a trabajar.
También fortalecemos nuestra relación con las universidades locales al continuar con nuestro programa de pasantías, y nuestra idea es continuar haciéndolo en el futuro. Estamos totalmente comprometidos a ayudar a formar nuevos profesionales de software y ampliar nuestro equipo.
Finalmente continuamos con la inversión de nuestro tiempo y esfuerzo en definir una línea base para asegurar la máxima calidad en nuestra oferta de servicios. Prometemos contar más sobre esto durante este año.
Todo esto y más durante los últimos 365 días. Y más hitos alcanzados en el último (y nuestro primer) lustro, así que nos preguntamos: ¿Qué más vendrá?
¡Únete a la conversación!