No quiero aprender JavaScript

Todos los que hemos programado con Vélazquez Visual, Velneo 6.X o Velneo V7 entendemos el significado del término Life is Soft pues hemos vivido en primera persona lo que significa programar de forma rentable y sencilla.Sin embargo, desde la versión 7.9 a Velneo le ha dado por integrar y abrir su plataforma a otros lenguajes dando soporte a scripts de QML para la creación de interfaces de usuario avanzadas y de JavaScript dando acceso a un API de bajo nivel. Las preguntas que me surgen como programador de Velneo son obvias: ¿Tengo que ponerme ahora a aprender QML o JavaScript? ¿Qué ha pasado con el Life is Soft? ¿Está Velneo buscando otro perfil de programador para su plataforma olvidándose de la palabra sencillo?.Voy a intentar dar respuesta a preguntas que me autoformularé y que creo nos hacemos muchos. Trataré de ser lo más neutral posible teniendo en cuenta que mi posición dentro del equipo de desarrollo de la plataforma condiciona mi visión. Algunas de estas preguntas ya han sido formuladas y respondidas en los artículos FAQ sobre QML y JavaScript, pero creo que es bueno incluirlas:

¿Puedo seguir programando olvidándome de QML y JavaScript?

, sin lugar a dudas la aparición de QML no ha supuesto un cambio disruptivo en el desarrollo de aplicaciones con Velneo V7. Todavía son pocas las aplicaciones que incorporan objetos QML en su interface. Debemos tener en cuenta que QML es un lenguaje que se encuentra en su primera versión por parte de Qt.La integración dentro de Velneo V7 también se encuentra en una primera fase y seguirá avanzando en la próxima versión donde ya se integrarán las clases del API disponible para JavaScript que también lo estará para los objetos QML de ficha y de lista. Sin embargo, quedarán pendiente nuevas fases de integración para completar el acceso al API o conseguir que la integración sea bidireccional. Debemos entender que esto es una carrerade fondo para 3 atletas: Qt, Velneo y los desarrolladores de la plataforma.En resumen, podemos hacer cosas muy interesantes con QML en nuestras aplicaciones, pero no sólo no estamos obligados a usarlo, al contrario, sólo deberíamos usarlo cuando QML nos aporte algo diferencial.Algo similar le ocurre a JavaScript, todavía nos encontramos en las primeras fases de integración por lo que tendremos tiempo con la aparición de las próximas versiones de conocer JavaScript si realmente nos interesan sus funcionalidades.

¿Qué es más importante para mis desarrollos, dominar QML o JavaScript?

Depende (respuesta Gallega). Si tu aplicación requiere una interfaz muy avanzada con posibilidades que sólo alcanzas con QML, pues la respuesta en ese caso podría ser QML. Si lo vemos desde un punto de vista general, sin duda, mi respuesta sería JavaScript ya que considero que el porcentaje de uso de JavaScript será mucho más amplio que el de QML.En este punto debemos comprender que QML tiene un objetivo claro focalizado en la interfaz de las aplicaciones. Aunque es cierto que también aporta acceso a otras funcionalidades interesantes no podemos obviar que JavaScript también nos aporta un acceso a la interfaz de bajo nivel a través de las nuevas clases y su uso desde los manejadores de eventos de los objetos de vista de datos (formularios, rejillas, alternadores, casilleros, multivistas, etc.)JavaScript, además llega prácticamente a todas las áreas de nuestras aplicaciones. Nos da acceso a:

  • Los objetos creados en nuestros proyectos: proyectos, tablas, campos, índices, objetos visuales...
  • La base de datos: búsquedas, listas de registros, registros, regeneración...
  • Los controles en tiempo de ejecución: formularios y sus controles, vistas de datos y sus registros...
  • Objetos y clases de Qt con funcionalidad no existentes hasta ahora en la plataforma...

En definitiva, podemos usar JavaScript para tener control en tiempo de ejecución sobre objetos y controles que de otra manera no podríamos controlar.

¿Puedo usar QML sin aprender QML?

, hace tiempo se publicó un vídeo con un ejemplo de como se puede duplicar un objeto QML y adaptarlo a una nueva tabla y para la visualización de nuevos campos.De esta forma podemos usar QML sin aprender la sintaxis de los scripts QML, aunque debemos tener claro que necesitaremos ayuda externa si deseamos modificar algún aspecto del QML como los colores, fuentes, tamaños, etc.Hay un punto intermedio entre aprender QML para ser capaz de desarrollar nuevos scripts de QML y tener un conocimiento básico que nos permita realizar pequeñas adaptaciones sobre aspectos visuales que no sean demasiado complejos. Este conocimiento sí que puede resultar interesante adquirirlo.Por poner un símil, sería como tener conocimiento para modificar algunas características de un CSS de web o de nuestra aplicación (colores, fuentes, tamaños) sin necesidad de ser un experto en la creación de CSS.

¿Puedo usar JavaScript sin aprender JavaScript?

, una de las grandes virtudes de la implementación de JavaScript en Velneo V7 ha sido la posibilidad de realizar includes de otros ficheros JavaScript lo que permite organizar nuestras funciones JavaScript en repositorios almacenados en carpetas, subcarpetas y ficheros que pueden contener múltiples funciones.Toda esta organización es una gran ayuda para que cualquier desarrollador pueda reutilizar estas funciones de forma sencilla en cualquier función, proceso o manejador de evento. El único conocimiento que se requiere es saber como realizar la llamada a la función y los parámetros que deben pasarse a la función si así lo requiere. Una buena documentación de las funciones y sus parámetros serán de gran ayuda para cualquier desarrollador que desee utilizarlas.Por lo tanto al igual que sucede con el QML en JavaScript podemos usar fácilmente script creados por otros desarrolladores. Estoy convencido de que el catálogo de Open Apps crecerá aportando múltiples recursos relacionados con el JavaScript.

¿Qué beneficios obtendré si aprendo un nivel básico de JavaScript?

A medio y largo plazo serán muchos. La integración de JavaScript en Velneo V7 sí que supone un cambio disruptivo en la plataforma. Son tantas las aportaciones y las posibilidades que nos brinda que requeriría una serie de artículos para enumerarlas y detallarlas.Mi consejo es que sin prisa pero sin pausa, si aún no has programado en JavaScript, aprendas sus conceptos básicos que te ayudarán a utilizar todas las funciones que tendrás a tu disposición.

¿A medio plazo estoy obligado a aprender JavaScript?

Obligado no, aconsejable sí. Me atrevería a decir que más que aconsejable es la mejor decisión que puedes tomar si quieres sacar la máxima rentabilidad a Velneo V7.Puede ser que ya tengas conocimientos de programación en JavaScript, incluso puede ocurrir que ya programes en un lenguaje similar. En ambos casos podrás usar con total soltura JavaScript en tus aplicaciones Velneo. En el caso de que no tengas conocimientos en JavaScript aprender los conceptos básicos, su sintaxis, el uso de variables, la creación de funciones, las condiciones, los operadores, las comparaciones, los bucles, los tipos de datos y la creación de objetos apenas te llevará unas horas.Conocer JavaScript a un nivel básico te abrirá las puertas a un nuevo mundo de posibilidades en Velneo V7.

¿Pero usar JavaScript no supone perder la filosofía Life is Soft?

Es evidente que usar JavaScript supone un modo diferente de programar funciones, procesos y manejadores de eventos. Y esto como siempre ocurre aporta beneficios pero también tiene sus handicaps, algo que también ocurre actualmente con la programación de procesos.El equipo de desarrollo con el arquitecto a la cabeza es consciente de que usar un lenguaje de programación supone perder el paternalismo existente en cuanto a la refactorización de campos y objetos, también supone enfrentarse a las características de los lenguajes en los que resulta más fácil cometer errores de codificación y en los que debemos ser mucho más extrictos a la hora de programar. Por ese motivo se ha dotado a vDevelop de herramientas que te faciliten esta labor como el directorio de scripts, el editor de scripts con ayuda integrada y sensible al contexto, toolbar con acciones de integración de objetos V7, autocompletado de objetos, propiedades, funciones y enumeracione o ayudas a la edición de otros scripts incluídos. En definitiva un paquete de ayudas que te facilitan ya tu labor de programador y que seguro seguirán creciendo en futuras versiones.Sin embargo, JavaScript nos abre las puertas a una herencia completa, a la personalización programable de nuestras aplicaciones, al acceso a bajo nivel a los controles y objetos, a un control más amplio sobre las transacciones y la reutilización de código que nos puede permite reducir drásticamente el número de nuestros procesos y funciones.

¿Pueden convivir objetos V7 con objetos JavaScript?

Sí. Recuerda que siempre tienes la posibilidad de seguir usando procesos, funciones y manejadores de evento como hasta ahora y que solamente cuando lo consideres oportuno debes dar el salto a JavaScript, algo que podrás hacer de forma gradual y haciendo convivir objetos V7 con objetos JavaScript, que además pueden interactuar y comunicarse.

Conclusión

En definitiva, programar en Velneo V7 con JavaScript al principio te supondrá algo más de tiempo, como siempre ocurre hasta que adquieras soltura, pero a la larga ese esfuerzo supondrá un importante ahorro de tiempo a la vez que te permitirá desarrollar aplicaciones más completas, configurables y personalizables. Y esto significa que serás un desarrollador más Life is Soft que nunca.Otros artículos relacionados con JavaScript y con QML:

Regístrate ahora y nuestro equipo se pondrá en contacto muy pronto