
En el episodio de hoy hablaremos de buenas prácticas para la integración componentes web en Velneo. También comentaremos como esas buenas prácticas nos permiten sacar el máximo provecho a muchos controles que enriquecen la interfaz.
¿Qué te impulsa a buscar una forma distinta de integrar componentes web con Velneo?
- Estuve desarrollando web hace apróx. 4 años, esto me permitió conocer ciertas buenas prácticas sobre la integración de componentes webs para facilitar la reutilización y su mantenimiento. Cuando volví a desarrollar en Velneo, quise reutilizar componentes que ya conocía.
- Sufrí la fricción existente entre Velneo y la integración web. No me gustaba nada como tenía que hacerlo y odiaba incorporar componentes web porque la depuración era un auténtico infierno. Aún así, conseguí algunas integraciones.
- Este sentimiento me hizo buscar alternativas para mejorar la reutilización y el mantenimiento.
- Fui averiguando como hacer algunas cosas y juntándolo todo conseguí cerrar el ciclo completo. Ahora lo mejor es depurar desde el navegador, el infierno se ha convertido en una maravilla. Ahora es casi como trabajar en nativo en ambas plataformas.
¿Qué importancia tienen los componentes Web en mis proyectos?
- Nuestros proyectos son variopintos, pero la web se ha extendido mucho, y los clientes te dicen, ves esto que hay aquí, pues esto es lo que quiero, y te enfrentas a desarrollar un interfaz nuevo con QML o forzando (cuando es posible) el interfaz de Velneo, o buscas componentes webs que hacen bien su trabajo y los integras. Es un carácter diferenciador en nuestros proyectos.
¿Merece la pena integrar componentes web en Velneo?
- Desde luego, existe una gran multitud de componentes web que se puede reutilizar. Velneo poco a poco va creando nuevos componentes, pero no puede disponer de todo lo que ya existe en la Web, por tanto, es un gran valor para nuestros desarrollos, porque podemos tener lo mejor de ambos mundos.
- Alguien puede decir que para hacer cosas especiales está QML, y es cierto, pero en el mundo web existe mucho más contenido que podemos reutilizar que en el mundo QML. QML también tiene sus ventajas frente a la web, por lo que también tiene su hueco en nuestros proyectos.
¿Qué conocimiento hay que tener de la web para integrar un componente?
- Si el componente ya está hecho o funcionando en Velneo, con saber un mínimo de JSON, la info. que requiere el componente para funcionar y la info. que devuelve es más que suficiente.
- Si el componente hay que integrarlo desde cero, es decir, el componente se descarga o se compra, se requiere un nivel de Javascript medio. Puesto que hay que controlar bien los eventos.
- Si el componente hay que generarlo desde cero, es decir, el componente no existe y lo vamos a crear, necesitaremos un nivel de Javascript más alto, aunque no es necesario ser un experto.
- Proveedores interesantes:
¿En qué otros temas tenéis experiencia en Velneo en relación a la tecnología web?
- Tenemos amplia experiencia con vModApache, creación de APIs RESTFUL en Velneo, comunicación de webs con Velneo: sincronizaciones en diferido o tiempo real, diseño y maquetación web de calidad. De hecho trabajamos con algunos clientes de Velneo en sus proyectos de integración web, por ejemplo con áreas web para sus clientes.
¿Qué puede mejorar Velneo para suavizar la integración de componentes web?
- Lo primero a una gran distancia del resto: manipulación de JSON desde Velneo de forma nativa. Muy necesario, puesto que es una grandísima herramienta. Soluciona otros problemas incluso que no tienen que ver con la web. Esto nos permitiría comunicarnos más fácilmente con el componente web (especialmente a todos aquellos que no se encuentran cómodos trabajando con JS en Velneo).
- Mejorar la edición de código HTML: por ejemplo eliminaría la vista renderizada de HTML que no aporta nada a los componentes, o incluso mejor -> podría ser viable que Velneo permitiera integrar editores de código externos, de manera que haciendo doble clic sobre el fichero se abra en nuestro editor preferido (¿para que reinventar la rueda?), de forma que cuando guardemos nuestro fichero, se almacene en nuestro proyecto.
- Poder ejecutar desde Velneo código JS en un visor HTML, para que nos devuelva su resultado. Esto nos permitiría por ejemplo la lectura de variables en JS directamente desde Velneo.
- Poder lanzar eventos directamente desde web a Velneo (mediante el uso del IPC por ejemplo), sin tener que emular un clic, aunque la fórmula actual con VelneoFakeLink se comporta sorprendentemente bien.
- Poder inyectar variables directamente en el código HTML, parecido a como se hacía en v6. Esto nos permitiría no tener que hacer un reemplazo (bruto) de __CONFIG__ para inicializar el componente. Por suerte, solo se hace una única vez, ya que aúno en la inicialización todo lo necesario para el componente.
- Corregir una incidencia relativa al uso de código HTML con contenido en variable en lugar de fichero para los Mac. Esto permitirá que no tengamos que crear un fichero y será algo más rápida la ejecución del componente (para multiplataforma, si solo usas Windows puedes hacerlo en memoria).
- Documentación sobre la fórmula para depurar los componentes web mediante vclient (esta documentación existe en Qt), pero no tiene visibilidad directa para el usuario de Velneo).
Deja una respuesta