¿Buscas una alternativa a Clarion para el desarrollo de aplicaciones de bases de datos?

alternativa clarion programación

Si tenemos en cuenta los números sin más consideraciones, la mayoría de los desarrolladores que se acercan a Velneo provienen de Visual Basic y .NET, y en menor medida de Java y Visual FoxPro, y no de Clarion. Es simplemente una cuestión de volumen: hay muchos más desarrolladores buscando alternativas a Visual Basic/.NET, FoxPro y a Java para el desarrollo de aplicaciones empresariales que de Clarion por el simple hecho de hay muchos más, es así de simple.

Sin embargo, si tenemos en cuenta aspectos diferentes al volumen como la satisfacción general, la curva de aprendizaje con la que los programadores de Clarion, los tiempos de desarrollo y en general el buen encaje que tiene la filosofía de Velneo como alternativa a Clarion para los desarrolladores de este entorno de desarrollo.

En este artículo explicaremos brevemente por qué Velneo tiene tan buena acogida en la comunidad de Clarion.

¿Qué es Clarion en comparación con Velneo?

Clarion es un lenguaje de programación y un entorno de desarrollo integrado, y está concebida para el desarrollo de software de bases de datos, y por ello muchas empresas de desarrollo que utilizan Clarion se han especializado en el desarrollo de aplicaciones empresariales y de gestión de administraciones públicas. Puede acceder a diferentes tipos de bases de datos. Es para ejecutar sobre el sistema operativo Windows.

Velneo es una plataforma de desarrollo de aplicaciones empresariales, que cuenta con su propio tipo de lenguaje de programación, y que también especializada para programar software empresarial y de bases de datos. Velneo cuenta con su propia base de datos, específicamente diseñada para dar fiabilidad, robustez y seguridad a la base de datos de las aplicaciones, a su rápido desarrollo y su fácil mantenimiento y edición. Velneo es multiplataforma (Linux, Windows, MacOS) y la plataforma está orientada también a la movilidad .

Muchos desarrolladores que se acercan a Velneo piensan que una base de datos cerrada es una limitación hasta que no hacen su primera aplicación y perciben todas las ventajas de una base de datos especializada para la programación y el mantenimiento de aplicaciones para empresas, como el uso de los inspectores para hacer refactorizaciones automáticas.

¿Cuál ha sido la trayectoria de Clarion y de Velneo hasta hoy?

En este sentido tanto Clarion como Velneo son dos entornos de desarrollo con un amplio recorrido y han evolucionado tecnológicamente hasta nuestros días.

Clarion fue probablemente una de las primeras herramientas de programación informática de cuarta generación (4GL), desarrollada por primera vez en la década de 1980. La primera versión era un producto para DOS y salió en Abril de 1986. Hay 11 versiones de Clarion, que ahora está comercializada por la empresa softvelocity.com.

Velneo por su parte es la evolución natural de Velázquez Visual, con muchos avances técnicos y un crecimiento imparable. Si te gustaba Velázquez Visual, Velneo es la evolución tecnológica que necesitas. Cloud y local, movilidad, multiplataforma, y mucho más con toda la potencia y fiabilidad de siempre.

Hereda más de 25 años de conocimiento. Aspira a ser ya la plataforma de desarrollo más longeva en países de habla hispana, de crecimiento sostenible y en pleno proceso de expansión.

Velneo cuenta con una comunidad muy satisfecha, una tecnología madura y en constante desarrollo, con dos versiones anuales, para garantizar la satisfacción de nuestros desarrolladores y sus clientes.

Hoy Velneo vende sus productos y servicios a programadores y empresas de desarrollo en más de 25 países de todo el mundo, y cuenta con una base de más de 15.000 empresas y más de 450.000 usuarios.

¿Cuáles son las principales diferencias entre Clarion y Velneo a la hora de desarrollar aplicaciones empresariales?

El entorno de desarrollo de Clarion (IDE) esta asentado sobre el lenguaje de programación Clarion. El IDE proporciona facilidades para la generación de código a través de un sistema de plantillas que permite a los programadores describir el programa desde un nivel superior más abstracto que las instrucciones de código reales. El generador entonces convierte este nivel más alto en código, que entonces se compila y se enlaza usando un compilador y un vinculador normales. Esta capa de generación a veces se conoce como programación 4GL (lenguaje de cuarta generación). Es lo que se conoce como un generador de código.

Si las plantillas se utilizan para generar código, los programadores pueden inyectar su propio código en el código generado para modificar o extender la funcionalidad que ofrece la capa de la plantilla. Este proceso de incrustación de código se puede hacer mientras se visualiza el código generado circundante. Esta mezcla de código de plantilla y código generado permite actualizar la configuración de la plantilla y regenerar el código, sin perder el código incrustado.

Las plantillas (desde las que se genera el código) se proporcionan en código abierto y los desarrolladores son libres de crear sus propias plantillas. Hay varias plantillas que han sido programadas por muchos desarrolladores distintos, algunos de los cuales se ofrecen como complementos comerciales y algunos de los cuales son gratuitos.

Hay varios productos del Clarion disponibles; Clarion Professional Edition, Clarion Enterprise Edition y Clarion.NET.

Velneo está programado en C++ con librerías QT. Desarrollar una aplicación empresarial puede requerir el uso de múltiples tecnologías lo que complica el desarrollo, implantación y mantenimiento. La plataforma de desarrollo Velneo apoyada en las librerías de Qt permite desarrollar una única vez e implantar el mismo desarrollo de la aplicación en múltiples sistemas operativos (Windows, Linux, macOS, Android e iOS), ejecutándose de forma nativa en todos los sistemas para obtener el mejor rendimiento.

La base de datos integrada, el refactoring de objetos y los inspectores avanzados hacen que el mantenimiento y evolución de tus aplicaciones se agilicen como nunca. Velneo incluye software en código abierto con el que ahorras miles de horas en el desarrollo de cualquier aplicación, acelerando los plazos de entrega y la calidad de los desarrollos. Un punto fuerte de la plataforma es que fue diseñada para obtener el mejor rendimiento en el despliegue de aplicaciones en Cloud. Velneo es multi-idioma y para la comunidad de desarrolladores dispone de todos los recursos y servicios en español.

Velneo destaca por su gran practicidad, robustez e integración y pretende crear una nueva filosofía en el desarrollo eficaz y rentable de aplicaciones empresariales. Así, se dirige a innovadores que creen en una tecnología de calidad, en tendencias y no en modas pasajeras, que saben reconocer productos de valor y no activos basados en marketing.

Velneo se comercializa por distintos Niveles de producto, que van desde el Nivel 1 gratuito de prueba, el Nivel 2 para la evaluación profesional de la plataforma, y los Niveles 3 y 4 para el desarrollo profesional de aplicaciones empresariales.

¿Por qué Velneo tiene tan buena acogida entre la comunidad de Clarion?

Como dice Jesús Arboleya, un buen programa nace del trabajo que realizan los buenos desarrolladores no de que el lenguaje o herramienta utilizada sean buenas, ya que en realidad no existen buenas o malas herramientas sino malas selecciones o usos de herramientas de forma inadecuada.

Un buen programador es capaz de desarrollar buen software con cualquier herramienta. Un mal programador no será capaz de desarrollar buen software con ninguna herramienta.

Una empresa de desarrollo puede en función del proyecto optar por una tecnología u otra. Tanto Clarion como Velneo son como pequeños secretos de la industria que en el momento de dar soluciones rápidas con aplicaciones confiables, son herramientas una herramienta como pocas.

La idea de optar por la practicidad, robustez e integración es una filosofía compartida tanto por Clarion como por Velneo en el desarrollo eficaz y rentable de aplicaciones empresariales.

A Velneo se nos acercan personas que programan en .NET, en PHP o en JAVA, y muchas veces optan por Velneo para algunos proyectos porque les permite crear aplicaciones empresariales en un periodo de tiempo inimaginable con otros lenguajes.

Muchos de los desarrolladores en Clarion que se acercan a Velneo nos cuentan que también en muy poco tiempo pueden generar una aplicación completa y la pueden integrar con otras tecnologías sin muchos problemas, y que en otros lenguajes como PHP tardarían mucho más tiempo, ya por no hablar de hacerlo en Java o en .NET.

En ese sentido, los desarrolladores de Clarion (y de forma muy parecida los de FoxPro) enseguida captan el concepto de desarrollo ágil de aplicaciones empresariales y de bases de datos que proporciona Velneo. Son herramientas que te permiten centrarte más en la problemática de cada cliente, ya que la tecnología la tienes cubierta siempre que la herramienta encaje con el tipo de desarrollo en cuestión: software de gestión de datos, aplicaciones empresariales, sanitarias, ERP, etc…

El futuro de Clarion y Velneo

No quiero en post hablar del futuro de Clarion puesto que es un tema que no nos concierne. La comunidad de desarrolladores de Clarion saben perfectamente como está el asunto a día de hoy.

Sin embargo, Velneo desde su evolución desde Velázquez Visual hasta nuestros días , tiene un recorrido ya de 25 años en el mercado. Evolucionamos Velázquez para convertirnos en la plataforma de desarrollo de habla hispana más longeva del mercado.

Un gran paso en esta evolución ha sido desarrollar de cero la plataforma sobre C++ con librerías Qt, pero basándonos en la filosofía de Velázquez Visual. ¿Por qué? Porque nos da mucha tranquilidad de cara a la evolución tecnológica de una plataforma que aspira a seguir creciendo durante los próximos 25 años como mínimo.

De C++ qué decir. Es un lenguaje universal, estándar, con mucho pasado, presente y futuro que permite desarrollar casi cualquier cosa y que nos asegura poder tener nuestra plataforma actualizada para muchos años. No hay mucho más que decir…

Por otro lado, las librerís Qt nos permiten demostrar al mundo que la tecnología se puede desarrollar de una manera diferente, basada en la investigación e innovación. Que la tecnología en la empresa es un medio y no un fin. De ahí la frase que resume nuestra filosofía: “Life is soft”, porque trabajamos para hacer lo complicado, sencillo y lo costoso, asequible y próximo.

Nos apoyamos en Qt para facilitar la vida a los programadores, con herramientas y plantillas creadas por ingenieros e informáticos que han resuelto sus mismos problemas y dudas. De esta forma pueden centrarse en dar soluciones a sus clientes, olvidándose de la tecnología. Y además, gracias a Qt, con un mismo desarrollo desplegamos en las principales plataformas: Windows, Linux, macOS, Android e iOS.

Con estas garantías tecnológicas el futuro de Velneo está asegurado. Si quieres probar Velneo o quieres más información no dudes en ponerte en contacto.

Este artículo ¿Buscas una alternativa a Clarion para el desarrollo de aplicaciones de bases de datos? es original de Velneo.

Un bug anda suelto

Uno de los objetivos de nuestros productos es que sean estables, que sean fiables. Intentamos que cada cambio realizado en el producto, en el código fuente, no rompa, no estropea nada. Es vital para todos nosotros que cada usuario disfrute de mejoras y no de disgustos.

En este post voy a intentar explicar como en la última versión velneo 22 un hábil bug ha podido escaparse de todas las barreras de defensa que tenemos.

Barrera 1 – El programador

Un buen desarrollador con años de experiencia comete menos errores, el código que realiza se protege de los bugs. Aunque en algunos casos se ve como el “culpable” de introducir el bug, también es el “culpable” de crear el producto. Si no se toca código es difícil añadir bugs.

Barrera 2 – En la integración continua

Dentro de la integración continua se pueden usar diferentes sistemas para detectar bugs ( Pruebas unitarias, pruebas funcionales, análisis estáticos de código, etc )
Es muy útil tener todas estas pruebas automáticas que detectan fallos de desarrollo y nos da garantías de que los cambios subidos no rompen nada.
En Velneo contamos con la herramienta interna “vEst” que es una aplicación que ejecuta la mayoría de las funciones de Velneo cada vez que un programador toca una línea de código. Vienen a ser unos 2.000 test que prueban base de datos, objetos, procesos, javascript, etc.

Cada día intentamos añadir más tests para poder comprobar el mayor porcentaje de funcionalidades de la plataforma en todos los sistemas operativos (Win, Lin, Mac, iOS, Android)

Barrera 3 – En el equipo de desarrollo

Ya sea por revisión por pares o por programación por parejas, se pueden detectar los bugs antes de que el código salga del departamento de desarrollo.
Actualmente todos los programadores invierten un valioso tiempo en revisar y compartir los cambios de los compañeros. Es vital poner toda la atención posible para descubrir si algún bug paso las dos primeras barreras. En este caso el bug de la versión 22 paso delante de mis ojos y no fui capaz de verlo 🙁

Barrera 4 – En el departamento de pruebas

Todos las incidencias, tienen que ser “cerradas” por el equipo de pruebas o la persona que ha introducido la necesidad/incidencia. Al mismo tiempo se prueban las novedades sobre aplicaciones estándar para ver si funciona correctamente. Un buen tiempo dedicado a probar que todo funciona bien y sin cambios, puede detectar bugs que han llegado a esta barrera.

Barrera 5 – Los betatesters

Si el bug no se ha encontrado dentro de los equipos de desarrollo y pruebas, el producto con el error llega al betatester. Es importante que el betatesters invierta tiempo en probar las novedades y cambios y que actúe casi como un usuario final. En algunos casos intentamos poner esta versión en producción, para poder darle una garantía de prueba real.

 

Si el bug ha pasado todas estas barreras, ha llegado al cliente, posiblemente el coste es ya muy alto. Comunicaciones, revisiones, emails, disculpas, mala imagen, inestabilidad, etc.

Cada vez que un bug salta todas las barreras, intentamos analizar como pudo pasar por cada barrera, para dar un punto de mejora y evitar que pasen más en el futuro.

 

Este artículo Un bug anda suelto es original de Velneo.

Vuestras dudas + comunes: Tipos de Licencias, desarrollo y ejecución.

 

¿Tienes claro cómo funcionan los Niveles y las licencias o aún no del todo?

Velneo es una plataforma hecha para programadores y por programadores. La herramienta está diseñada para que aprendas rápido y llegues a dominarla en poco tiempo y también para que desarrolles de manera visual e intuitiva y puedas agilizar así al máximo tus proyectos.

Y es que no sólo la herramienta está programada pensando en ti, también lo están los tipos de licencias,  para que se adapten perfectamente a ti como programador, a las necesidades de ejecución que requieren tus clientes y al tipo de aplicación (tamaño, sistema operativo…). Y, por su puesto, para que solicitarlas y activarlas sea lo más sencillo y rápido posible.

En este post, os hablaré del catálogo de licencias y de las características básicas de cada una, y os dejo además los enlaces para que conozcáis todas las características.

Para empezar os quiero recordar que Velneo tiene 3 Niveles de Suscripción.

¿Qué son los Niveles?

Pues, todo el conjunto de productos y servicios necesarios para el desarrollo, implantación y mantenimiento de las aplicaciones que desarrolles en Velneo y con cada Nivel se entregan una serie de Licencias para el desarrollo en local o en el cloud de tu aplicación.

¿Cuál es el nivel que necesitas?

  • El Nivel 1 es para estudiantes, o para aquellos que deseen conocer y evaluar Velneo. Solo permite el desarrollo en el Cloud en una versión de prueba de 30 días (Se puede solicitar ampliar el plazo de evaluación). En este nivel no existe la posibilidad de desarrollo en sistemas propietarios, es decir, en local.
  • El Nivel 2 está especialmente diseñado para desarrolladores que quieran iniciarse profesionalmente en Velneo. Este nivel y superiores incluyen licencias para desarrollo propietario.
  • El Nivel 3 es para ti si eres profesional y/o tienes una empresa de desarrollo.
  • El  Nivel 4 es el máximo nivel e incluye todos los productos y servicios de Velneo.

¿Cómo funcionan las licencias de desarrollo?

Te proveemos de todo lo necesario para que tú y tu equipo podáis programar, editar y ejecutar para probar en real vuestros proyectos antes de implantarlos.

Para desarrollar en Local o Propietario
  • El Nivel 1, como ya te dije, no permite el desarrollo en local, sólo en el cloud.
  • El Nivel 2, incluye: 1 licencia de vServer con 1 puesto de edición y 1 de ejecución.
  • El Nivel 3,  incluye: 1 licencia de vServer corporativa con 3 puestos de edición y 10 de ejecución. Destinado a instalar en una maquina de la oficina y ser compartido su uso en labores de programación. Tiene puestos suficientes para probar en real las primeras aplicaciones. Y 2 licencias de vServer para uso de cada programador, cada una con 2 puestos de edición y 2 de ejecución. Estas licencias de vServer están destinadas a cada uno de los programadores para su instalación en su portátil o su domicilio.
  • El Nivel 4, incluye: 1 licencia de vServer corporativa con 4 puestos de edición y 20 de ejecución. Destinado a instalar en una maquina de la oficina y ser compartido su uso en labores de programación. Tiene puestos suficientes para probar en real las primeras aplicaciones. Y 3 licencias de vServer para uso de cada programador, cada una con 2 puestos de edición y 2 de ejecución. Estas licencias de vServer están destinadas a cada uno de los programadores para su instalación en su portátil o su domicilio
Para desarrollar en el Cloud
  • El Nivel 1, incluye: 1 licencia de vServer con 1 puesto de edición y 1 de ejecución durante 30 días.
  • El Nivel 2, incluye: 1 licencia de vServer con 1 puesto de edición y 3 de ejecución.
  • El Nivel 3, incluye: 2 licencias de vServer, cada una de ellas con 2 puestos de edición y 10 puestos de ejecución, más que suficiente tanto para programar como para poner pruebas piloto a clientes o comparar rendimientos con Local.
  • El Nivel 4, incluye: 3 licencias de vServer, cada una de ellas con 3 puestos de edición y 20 puestos de ejecución, más que suficiente tanto para programar como para poner pruebas piloto a clientes o comparar rendimientos con Local.

* El número de licencias puede variar según la política organizacional de Velneo S.A.

¿Cómo funcionan las licencias de despliegue/ejecución

Una vez desarrollada tu aplicación, para desplegarla e implantarla en tus clientes tienes diferentes licencias de ejecución para que puedas escoger la ideal según tus necesidades o según las necesidades de tus clientes.

Para implantar en Local o Propietario

Simplemente descargas un vServer, el servidor de aplicaciones de Velneo y lo instalas en el hardware elegido, independientemente del tamaño (portátil, tablet, servidor corporativo, hosting…) o sistema operativo. Desarrollas tu aplicación una sola vez y la ejecutas en cualquier plataforma (Windows, Linux, Mac, iOS o Android) o modalidad de despliegue (Monopuesto, Multipuesto, SaaS, Web o Movilidad).

¿Qué licencias puedes escoger?

  • Licencia Velneo vServer Express: es gratuita, para usuarios ilimitados y pensada para pequeñas instalaciones.
  • Licencia Velneo vServer Standar: sin límite de memoria, disco o instancias. Tiene un coste por puestos de ejecución o usuarios concurrentes y es ampliable a más usuarios.
  • Licencia Velneo vServer Standar 50: para instalaciones medianas, por encima de 15 usuarios, con una tarifa más ajustada que la Standard.
  • Licencia vServer Enterprise: sin límite de puestos o usuarios concurrentes, tamaño de bases de datos e instancias. Incluye servicios añadidos (SSL, soporte técnico sobre la instalación, detección de errores…). Su coste es mensual.
Para implantar en el Cloud

Para ejecutar en el cloud, te lo ponemos aún más sencillo. Nos ocupamos de todo. Te proveemos de un servicio integral para que instales tus aplicaciones en clientes que no requiere la compra de licencias ni la instalación de vServers​ por parte del desarrollado​r. Simplemente te limitas a gestionar las aplicaciones, instancias, bases de datos y usuarios para cada uno de tus clientes. 

Incluye el vServer, el alojamiento, SLA del 99%, ingeniería de sistemas, mantenimiento, servicio de alertas, optimización continua, copias de seguridad y un largo etcétera. Consulta el detalle del servicio Velneo Cloud.

Tienes 2 opciones:

  • Por puesto: tendrás toda la flexibilidad de poder incrementar o reducir el número de puestos y el pago es mensual.
  • Puestos ilimitados: ya sabes, sin límite de puestos o usuarios concurrentes y con un pago mensual.

¡Ah! Se me olvidaba una cosa, si no eres suscriptor no podrás adquirir licencias.

 

Si quieres saber más, tienes alguna duda o necesitas ayuda, escríbeme.

Este artículo Vuestras dudas + comunes: Tipos de Licencias, desarrollo y ejecución. es original de Velneo.

Vuestras dudas + comunes: Desarrollar y Ejecutar en Cloud o en Local

Cloud o Local

Continuado con esta serie de artículos enfocados a las dudas más comunes que recibimos, hoy le dedico este post al gran tema ¿Puedo desarrollar en cloud y en local?

Sí. Con la boca bien grande te decimos: tú eliges donde quieres desarrollar y ejecutar tu aplicación.

El futuro es cloud

Velneo como empresa y producto innovador, desarrolla la plataforma enfocada a las necesidades tecnológicas futuras. Y el futuro es cloud.

Hace unos 10 años cuando hablábamos del aún desconocido cloud, nos decíais: eso está muy bien, pero ¿podré seguir programando en local? Sí, porsupuesto. Porque tú eliges. Puedes desarrollar e implantar tus aplicaciones en el entorno en el que te sientas más a gusto o como tus clientes te exijan. Tanto el desarrollo como la implantación son independientes del entorno, por lo que la programación y los procesos de instalación son igual de sencillos.

Te dejo este artículo para que leas 10 razones para pasarte al Cloud.

Ventajas de Velneo Cloud

Ahora que ya vamos conociendo las grandes ventajas del Cloud Computing, sois los programadores los que nos demandáis este servicio.

Velneo permite trabajar en local y en cloud, proporcionando todas las facilidades al desarrollador para prototipar, analizar, programar, testear, documentar y poner en marcha aplicaciones en un sólo proceso. Con unos pocos clicks podrás pasar tus soluciones y datos de unos servers a otros estén éstos en un portatil, en un equipo corporativo, en el cloud de Velneo o en un Hosting.

El origen de esta duda.

Si vienes de otras plataformas, es lógico que nos cuestiones el tema que tratamos hoy, porque no hay otra herramienta en el mercado que maneje este concepto y esta sencillez para instalar tus aplicaciones en un servidor local y más adelante moverlas a la nube, o viceversa, en cuestión de minutos.

Algunas de estas consultas también vienen derivadas del servicio que Velneo proporciona a todos los que quieren probar la herramienta antes de suscribirse. Ya que sólo por registrarte en velneo.es te damos el Nivel 1. Un nivel Demo. Te facilitamos un vServer gratuito con un espacio de 128 mb con 1 puesto de edición y 1 de ejecución durante 30 días (Si necesitas más tiempo de evaluación ponte en contacto) para que un programador pueda desarrollar, administrar y ejecutar aplicaciones.

El nivel 1 solo permite el desarrollo en la nube. Está pensado para que pruebes Velneo. Por esto, no te confundas, una vez que te suscribas a Velneo tú decides, Cloud o Local.

Si quieres saber más, tienes alguna duda o necesitas ayuda, escríbeme.

 

 

Este artículo Vuestras dudas + comunes: Desarrollar y Ejecutar en Cloud o en Local es original de Velneo.

Vuestras dudas + comunes: Alta y Suscripción en Velneo

Muchos de vosotros tras ver la página de tarifas nos preguntáis: ¿Qué es el alta?, ¿Y la suscripción?, ¿Qué incluye?

El alta, o membresía para latinoamérica, es una única cuota inicial para comenzar en Velneo, a cambio recibirás el producto con sus respectivas licencias de desarrollo propietario y desarrollo cloud con sus puestos de edición y ejecución.

Y la suscripción es una cuota mensual para disponer de soporte técnico por parte de personal altamente cualificado, 2 versiones de la plataforma al año, formación para que comiences a buen ritmo, poder adquirir licencias, tener acceso a servicios de consultoría, descuentos, certificaciones, acceso a eventos y otras ventajas.

¿Qué pasa si me doy de baja de la suscripción?

Si cancelas la suscripción dejarás de beneficiarte de lo comentado arriba. Seguirás teniendo Velneo, ya que es un producto que has comprado con la cuota de alta y podrás continuar desarrollando en local.

Como ya habrás visto, en Velneo encontrarás 3 Niveles de suscripción dependiendo de el número de programadores, servicios y productos, adaptables a las necesidades de cada programador.

Si quieres saber más, tienes alguna duda o necesitas ayuda, escríbeme 🙂

Este artículo Vuestras dudas + comunes: Alta y Suscripción en Velneo es original de Velneo.

Calidad del software

Calidad de software, agilidad y terror son los ingredientes de la ponencia de Javier Garzás en el último evento Life is soft. Descubre como evitar que tu software se convierta en un proyecto zombie implementando metodologías y consejos de desarrollo que se preocupan por la calidad del software.

Este artículo Calidad del software es original de Velneo V7.

Life is Soft 2015 evento en Madrid para desarrolladores de aplicaciones

¡Ya está aquí!, el próximo jueves 12 de marzo de 2015, en Madrid tienes la oportunidad de participar en el evento anual de desarrollo de software empresarial, Life is soft.

Este año, Life is soft 2015 va A +.

PageLines- jesus_arboleya_lis2012.jpg

Tendrás ponencias, en formato TED, sobre calidad de software, aplicaciones rentables en la nube, aplicaciones que integran QML, DHTML, te enseñaremos la plantilla empresarial vERP para que dispongas de tu propio ERP y muchas más temáticas.

Es una oportunidad única para convivir e interactuar con el equipo de Velneo y su comunidad, participar en las diferentes mesas redondas temáticas, conocer los diferentes casos de éxito de la comunidad e intercambiar experiencias e inquietudes con otros desarrolladores.

¡¡Date prisa porque quedan muy pocas plazas presenciales!! Regístrate ahora

Continuamos con la confianza depositada en nosotros por la Universidad Politécnica de Madrid para permitirnos realizar el evento presencial en sus instalaciones.
Este año será mucho más potente y más técnico, algo que ya nos solicitaron nuestros clientes.

Para ello, el evento estará dividido en dos partes. Por la mañana, realizaremos unas jornadas de networking con mesas temáticas sobre estrategia, desarrollo y comercial, una mesa redonda con casos de éxito de clientes y la entrega de un premio al mejor forero de la comunidad Velneo. Este evento será exclusivamente presencial.

Por la tarde, empezarán las ponencias sobre diferentes temas relacionados con las empresas de software empresarial donde intercalaremos ponencias puramente técnicas con grandes novedades de esta versión y de las posibilidades que ofrece Velneo para integrarse con otras tecnologías. Este evento será retransmitido por streaming para toda España y la comunidad Latinoamericana.

Puedes consultar la agenda detallada del evento aquí.

Este año tendré el placer de compartir escenario con mi amigo Nicolás Osuna para presentaros las importantes novedades del gran componente de la plataforma Velneo vERP, la plantilla de código abierto con la que puedes construir tu propio ERP.

Te esperamos y en caso de que no puedas asistir al evento presencialmente recuerda que podrás asistir al mismo con la transmisión online que realizaremos.

The post Life is Soft 2015 evento en Madrid para desarrolladores de aplicaciones appeared first on Lógica mente Velneo V7.

Organiza los subformularios con un combobox

VITAMINA – 14

Planteamiento de la necesidad

Hay ocasiones en las que nos encontramos con la necesidad de incorporar en el separador de un formulario un numero elevado de subformularios, además es habitual que los textos de las pestañas no sean cortos para poder describir con precisión su contenido. En estos casos la interfaz de la aplicación plantea un problema de usabilidad al usuario final ya que dependiendo de la resolución de su pantalla es posible que no tenga a la vista de forma directa todas las pestañas por lo que le resultará más complicado acceder a una de las ocultas. Incluso debemos tener en cuenta que la organización de pestañas horizontalmente resulta más difícil de leer cuando el número de pestañas es elevado.

Formulario con muchas pestañas con la interfaz a mejorar

Objetivo a conseguir

Con el fin de mejorar la usabilidad de la aplicación para el usuario final vamos a intentar sustituir las pestañas por una lista de opciones ubicada en un control de tipo combobox. De esta forma el usuario tendrá la posibilidad de acceder directamente a cada una de ellas e incluso las opciones podrán tener textos largos más descriptivos, además del correspondiente icono.

Formulario en  ejecución con interfaz de subformularios sincronizados con combobox

Piezas de la solución

Para conseguir programar una solución práctica y sencilla con un código fácilmente reutilizable vamos a crear un formulario que contenga solo 2 subcontroles: El primero que estará situado en la parte superior será el combobox (MEN_CFG) que contendrá las lista de opciones (subformularios), debajo ubicaremos un control de tipo pila de formularios (FRM_CFG) que será el contenedor de todos los subformularios que el usuario tendrá visibles.

Formulario en edición con el control combobox y la pila de formularios sincronizada

Combobox sincronizado con la pila de formularios

La idea se basa en que solo nos tengamos que preocupar en añadir subformularios al control pila de formularios en el orden que deseemos aparezcan en el control combobox que hará de menú. A partir de ahí, al ejecutar la aplicación el código que vamos a ver a continuación se encarga de leer los subformularios de la pila y añadir al combobox los elementos correspondientes basados en los nombre de los objeto formulario incrustados en la pila.

Realmente no se necesita nada más porque el orden de elementos del combobox y el de los subformularios en la pila es el mismo, por lo que cuando el usuario selecciona un elemento del combobox, la posición de ese elemento nos sirve para conocer el índice del subformlulario que debemos activar. De la misma forma podemos marcar como seleccionado el elemento del combobox que se corresponda con el formulario en curso de la pila, es decir que se garantiza la sincronización en ambas direcciones.

Otro aspecto a tener en cuenta de esta solución es que contempla los puntos de inserción que serán totalmente funcionales, por lo que la personalización de estos controles para incluir nuevos formularios es realmente sencillo, ya que una vez incluido el subformulario a través del punto de inserción el elemento se incorpora automáticamente al combobox igual que el resto de formulario incrustados por el programador directamente en el control pila de formularios.

2 conexiones y 2 manejadores de evento para controlarlo todo

Para programar esta vitamina necesitamos crear 2 manejadores de evento y sus correspondientes conexiones de evento:

Conexión de evento OnShow formulario para carga del combobox
Manejador onShow sincornización combbox y pila de formularios

Manejador de evento CAR_COM_BOX

/**
 * Devuelve el icono de un formulario
 *
 * @param {VObjectInfo} formulario Objeto de la clase VObjectInfo del formulario
  * @return {VImage} icono Objeto de la clase VImage con el icono del formulario
 */
var iconoFormulario = function (formulario)
{
	if (formulario)
	{
		importClass("VImage");
		var icono = new VImage();
		var iconoIdRef = formulario.propertyData(6).replace("@", "/");
		icono.loadResource(iconoIdRef);
		return icono;
	};
};

// ------------------------------
// Cargar formularios en combobox
// ------------------------------

var controlComboBox = theRoot.dataView().control("MEN_CFG");
var controlPila = theRoot.dataView().control("FRM_CFG");

// --------------------------------------------------------------------
// Leer los subformularios  y dar de alta los registros en el combobox
// --------------------------------------------------------------------

// Limpiamos el combobox antes de cargarlo
controlComboBox.clear();

var numFormularios = controlPila.count;
for (var numFormulario = 0; numFormulario < numFormularios; numFormulario++)
{
	var formulario = controlPila.form(numFormulario);
	var nombre = formulario.objectInfo().name();
	var icono = iconoFormulario(formulario.objectInfo());
	controlComboBox.addItem(icono, nombre, numFormulario);
};

// Marcamos el primer elemento como seleccionado
controlComboBox.currentIndex = controlPila.currentIndex;

Es muy importante cargar los elementos del combobox en el mismo orden es que están declarados los formularios en el control, y más aún teniendo en cuenta que podemos usar puntos de inserción.

La última línea del script se encarga de dejar seleccionada la líneas del combobox que se corresponde con el formulario abierto, esto es necesario tanto para la carga inicial como sobre todo si cargamos el combobox en el OnShow, ya que la primera vez estará cargado el primer formulario de la pila, pero si salimos de la pestaña y luego regresamos el formulario que veremos será el último seleccionado, y como en ese punto recargados el combobox es necesario volver a posicionarlo. Si no queremos que se cargue en el OnShow podemos hacerlo en la conexión de evento Post-inicializado, perdiendo dinamismo y ganando tiempos de ejecución ya que se solo se carga la primera vez.

Otro punto a tener en cuenta en el script es que añade al combobox el icono que se corresponda con la propiedad icono declarada en cada uno de los formularios añadidos a la pila. Para que el combobox quede homogéneo o bien le ponemos icono a todos los formularios o a ninguno.

Conexión de evento ítem de cambio seleccionado en el combobox
Manejador de cambio de elemento seleccionado en el combobox

Manejador de evento CAR_FRM_SEL

// --------------------------------
// Abrir el formulario seleccionado
// --------------------------------
var controlComboBox = theRoot.dataView().control("MEN_CFG");
var controlPila = theRoot.dataView().control("FRM_CFG");
controlPila.setCurrentIndex(controlComboBox.currentIndex);

A diferencia de lo que hacíamos en la vitamina 13 con el listbox aquí no hemos incluido en la última línea el código para establecer el foco en el formulario de la pila, ya que esto facilita la navegación por el combobox a través de flechas o escribiendo las primeras letras de la opción que queremos disparar.

Código reutilizable

Lo único que tenemos que hacer para utilizarlo en otro formulario es asegurarnos de que o bien coinciden los identificadores de los controles combobox (MEN_CFG) y pila de formularios (FRM_CFG) o cambiamos dichos identificadores en el código.

Si quieres ver como crear una interfaz similar pero con un control listbox consulta la VITAMINA – 13 Organiza los subformularios con un listbox.

The post Organiza los subformularios con un combobox appeared first on Lógica mente Velneo V7.

Organiza los subformularios con un listbox

VITAMINA – 13

Planteamiento de la necesidad

Hay ocasiones en las que nos encontramos con la necesidad de incorporar en el separador de un formulario un numero elevado de subformularios, además es habitual que los textos de las pestañas no sean cortos para poder describir con precisión su contenido. En estos casos la interfaz de la aplicación plantea un problema de usabilidad al usuario final ya que dependiendo de la resolución de su pantalla es posible que no tenga a la vista de forma directa todas las pestañas por lo que le resultará más complicado acceder a una de las ocultas. Incluso debemos tener en cuenta que la organización de pestañas horizontalmente resulta más difícil de leer cuando el número de pestañas es elevado.

Formulario con muchas pestañas con la interfaz a mejorar

Objetivo a conseguir

Con el fin de mejorar la usabilidad de la aplicación para el usuario final vamos a intentar sustituir las pestañas por una lista de opciones ubicada en un control de tipo listbox. De esta forma el usuario tendrá muchas opciones a la vista, con la posibilidad de acceder directamente a cada una de ellas e incluso las opciones podrán tener textos largos más descriptivos.

Formulario en  ejecución con intefaz de subformularios sincronizados con listbox

Piezas de la solución

Para conseguir programar una solución práctica y sencilla con un código fácilmente reutilizable vamos a crear un formulario que contenga solo 2 subcontroles: El primero que estará situado a la izquierda será el listbox (MEN_CFG) que contendrá las lista de opciones (subformularios), a su derecha ubicaremos un control de tipo pila de formularios (FRM_CFG) que será el contenedor de todos los subformularios que el usuario tendrá visibles.

Formulario en edición con el control listbox y la pila de formularios sincronizada

Listbox sincronizado con la pila de formularios

La idea se basa en que solo nos tengamos que preocupar en añadir subformularios al control pila de formularios en el orden que deseemos aparezcan en el control listbox que hará de menú. A partir de ahí, al ejecutar la aplicación el código que vamos a ver a continuación se encarga de leer los subformularios de la pila y añadir al listbox los elementos correspondientes basados en los nombre de los objeto formulario incrustados en la pila.

Realmente no se necesita nada más porque el orden de elementos del listbox y el de los subformularios en la pila es el mismo, por lo que cuando el usuario selecciona un elemento del listbox, la posición de ese elemento nos sirve para conocer el índice del subformlulario que debemos activar.

Otro aspecto a tener en cuenta de esta solución es que contempla los puntos de inserción que serán totalmente funcionales, por lo que la personalización de estos controles para incluir nuevos formularios es realmente sencillo, ya que una vez incluido el subformulario a través del punto de inserción el elemento se incorpora automáticamente al listbox igual que el resto de formulario incrustados por el programador directamente en el control pila de formularios.

2 conexiones y 2 manejadores de evento para controlarlo todo

Para programar esta vitamina necesitamos crear 2 manejadores de evento y sus correspondientes conexiones de evento:

Conexión de evento OnShow formulario para carga del listbox
Manejador OnShow para cargar elementos del listbox

Manejador de evento CAR_LIS_BOX

// -----------------------------
// Cargar formularios en listbox
// -----------------------------

var controlListBox = theRoot.dataView().control("MEN_CFG");
var controlPila = theRoot.dataView().control("FRM_CFG");

// -------------------------------------------------------------
// Leer los subformularios  y añadir los registros en el listbox
// -------------------------------------------------------------
var numFormularios = controlPila.count;
for (var numFormulario = 0; numFormulario < numFormularios; numFormulario++)
{
	var formulario = controlPila.form(numFormulario);
	var nombre = formulario.objectInfo().name();
	controlListBox.addItem(nombre);
};

Es muy importante cargar los elementos del listbox en el mismo orden es que están declarados los formularios en el control, y más aún teniendo en cuenta que podemos usar puntos de inserción.

Conexión de evento ítem de cambio seleccionado en el listbox
Manejador de cambio de elemento seleccionado en el listbox

Manejador de evento CAR_FRM_SEL

// --------------------------------
// Abrir el formulario seleccionado
// ---------------------------------
var controlListBox = theRoot.dataView().control("MEN_CFG");
var controlPila = theRoot.dataView().control("FRM_CFG");
controlPila.setCurrentIndex(controlListBox.currentRow);
controlPila.form(controlPila.currentIndex).setFocus();

En la última línea de este código fijamos el foco en el formulario de la pila, por lo que una vez seleccionado el formulario el usuario ya puede comenzar a escribir en los controles del formulario sin necesidad de usar el ratón. Si no deseas esa funcionalidad puedes comentar o quitar la última línea.

Código reutilizable

Lo único que tenemos que hacer para utilizarlo en otro formulario es asegurarnos de que o bien coinciden los identificadores de los controles listbox (MEN_CFG) y pila de formularios (FRM_CFG) o cambiamos dichos identificadores en el código.

El próximo artículo será similar a este pero usando un control combobox en lugar del listbox empleado en esta vitamina.

The post Organiza los subformularios con un listbox appeared first on Lógica mente Velneo V7.

Velneo V7 7.15: Estabilidad en la programación de aplicaciones

Velocidad y estabilidad

La nueva versión 7.15 de Velneo V7 trae consigo muchas novedades relacionadas con el desarrollo de aplicaciones.

En este post encontraremos aquellas novedades relacionadas con usabilidad, nuevas funcionalidades, mejoras en inspectores  y nuevos editores que encontraremos en el entorno de desarrollo Velneo vDevelop V7 y que nos permitirán disfrutar de la velocidad y estabilidad de la nueva versión de Velneo V7.

A continuación detallamos las mejoras más importantes que encontrarás:

Nuevos editores de menús y toolbars

En el editor de menús o toolbars tenemos una ventana en la que seleccionamos las acciones que queremos incluir en nuestro menú o toolbar y otra ventana en la que aparecen las acciones incluidas y el orden.

Cuando incluíamos una acción en el menú o toolbar en curso no teníamos forma de saber si esa opción ya había sido incluida o no, debíamos revisar manualmente las acciones incluidas.

A partir de la versión 7.15, las acciones que hayamos incluido en nuestro menú aparecerán marcadas en otro color, de tal forma que nos permite volver a usarla, pero podemos saber que ya ha sido incluida anteriormente en el menú o toolbar que estamos editando. De esta forma se facilita la edición de menús y toolbars, sin limitar las acciones que podemos incluir en ellas. (VBM-0837).

estabilidad_programacion03

 Creación de plurales heredados a tablas extendidas al cargar herencia

En una tabla maestra que habíamos extendido por medio de una tabla de extensión, cuando necesitábamos cargar los plurales correspondientes desde la tabla de extensión, teníamos primero que leer la ficha del maestro y, desde esta ficha, cargar los plurales correspondientes.

A partir de la versión 7.15 se implementa la creación de plurales heredados de tablas extendidas al cargar la herencia, de tal forma que tendremos disponibles estos plurales para su uso en nuestras aplicaciones.

Esto quiere decir que de forma automática se crean los plurales correspondientes al maestro en las tablas de extensión, con lo que podremos usarlos para navegar desde la tabla de extensión a los plurales de la tabla que hemos extendido sin tener que cargar previamente el registro de la tabla correspondiente, lo que facilitará nuestra tarea como desarrolladores. (VBM-3674).

estabilidad_programacion06

Nueva opción configurar en la toolbar del dock de subobjetos si se muestran texto e iconos o sólo los iconos en las pestañas

En las pestañas correspondientes a los subobjetos se presentaba tanto el icono como el nombre correspondiente al subobjeto que se incluye en la pestaña. Esto hacía que en los casos en los que hay gran número de tipos de subobjetos, pocos de ellos pudieran presentarse en un primer vistazo, haciendo necesario usar los botones para moverse entre pestañas del pestañador.

A partir de la versión 7.15 se implementa un botón en la toolbar del dock de subobjetos que permite configurar si se muestran texto e iconos o sólo iconos en las pestañas, lo que mejora la usabilidad del dock y facilita al desarrollador el acceso a los distintos subobjetos que tiene el objeto. (VBM-3480).

estabilidad_programacion05

Se ordenan y homogeneiza la presentación de los subobjetos en la pestaña de subobjetos de todos los objetos, tanto en las pestañas como en el botón de añadir

estabilidad_programacion04

Dependiendo del objeto, las pestañas y opciones para crear subobjetos en el mismo, aparecían en distintos órdenes.

A partir de la versión 7.15, el orden de los subobjetos seguirán el mismo orden, tanto en las pestañas como en botón para añadir subobjetos, siendo coherentes unos objetos con otros y facilitando al desarrollador la creación y mantenimiento de subobjetos. (VBM-3273).

El inspector de errores y el inspector dónde se usa controlan datos de tipo lista de fórmulas

El inspector de errores y el inspector dónde se usa no controlaban datos de tipo lista de fórmulas como los usados al resolver un índice, un puntero indirecto, un componente de búsqueda, etc.

A partir de la versión 7.15 este tipo de dato se controla, con lo que ambos inspectores nos permitirán encontrar los objetos que se usan en este tipo de dato o errores que pueda haber, facilitando al desarrollador la programación. (VBM-3605).

El asistente de nueva solución solicita los datos de conexión si no nos hemos conectado previamente al servidor de edición

Cuando creábamos una solución con Velneo vDevelop V7, nos mostraba un asistente para la creación, pero  hasta el último paso de creación, finalizado el asistente, no nos indicaba que no estábamos conectados al servidor, finalizando entonces el asistente.

A partir de la versión 7.15, antes de comenzar, el asistente ya comprueba si estamos conectados a un servidor de edición, con lo que no nos permitirá continuar antes de que nos hayamos conectado. (VBM-3563).

estabilidad_programacion02

Se desactiva importar componentes hasta que no hay enganche a un servidor de edición

Cuando pulsábamos la opción de importar componentes no se comprobaba previamente que estuviésemos conectados a un servidor de desarrollo.

A partir de la versión 7.15, hasta el momento en el que nos conectemos a un servidor de desarrollo, no estará permitido usar la opción de importar componentes. (VBM-3568).

Más ancho inicial en los asistentes de nueva: Solución, Tabla, Rejilla y Formulario

Los asistentes de creación de Solución, Tabla, Rejilla y Formulario tenían un ancho inicial por defecto escaso, que no permitía ver la información adecuadamente y con un tamaño amplio de controles.

A partir de la versión 7.15 se han mejorado los asistentes, incrementando el ancho inicial por defecto con el fin de que se puedan ver de forma contempla los controles y facilite la introducción y modificación de datos, facilitando el proceso de creación de nuevos objetos al desarrollador. (VBM-3564).

El inspector de errores detecta si hay una rejilla que tenga asignada una tabla que no existe y tiene declaradas columnas con contenido de campos de la tabla

Velneo vDevelop V7 da error y se cierra al ejecutar el inspector de errores cuando tenemos una rejilla que tiene asignada una tabla que no existe y tiene declaradas columnas con contenido de campos de la tabla.

A partir de la version 7.15 se soluciona esta incidencia y se indica en el inspector de errores que la tabla no existe, informando al desarrollador del objeto afectado, lo que facilitará el desarrollo de nuestras aplicaciones y evitará el uso de rejillas sin tabla existente. (VBM-3694).

Al modificar el identificador de un control se actualiza la propiedad Control de EventoConnect cuando es el último o el único del identificador compuesto

estabilidad_programacion01

Cuando modificábamos el identificador de un control que está siendo usado en la propiedad control de una conexión de evento, la propiedad control seguía mostrando el identificador antiguo, cuando este era el último o el único del identificador compuesto.

A partir de la versión 7.15 se controla el cambio de identificador en este caso, de esta forma no tenemos que preocuparnos por cambios en los identificadores, ya que en todos los casos se actualizarán de forma correcta, facilitando el desarrollo de nuestras aplicaciones. (VBM-3725).

El cambio del identificador de un índice que interviene en un enlace plural actualiza el identificador del plural

Al cambiar el identificador de un índice cambiaba bien la propiedad Índice de un objeto Plural, pero no cambiaba el identificador del propio plural que es la suma del identificador de la tabla y el del índice.

Esto mismo sucedía con las tablas, al cambiar el identificador de la tabla no se cambiaban los identificadores del plural.

A partir de la versión 7.15, cuando modifiquemos el identificador de un índice o una tabla que intervienen en un plural, su identificador será cambiado de forma automática, lo que facilitará al desarrollador el uso de los plurales evitando confusiones. (VBM-1826).

Mejora en la visualización de la barra de progreso de la ventana de Importar solución En MacOSX

En sistemas operativos MacOSX, al importar una solución tras aceptar la solución a importar, cambiaba la ventana donde se muestra la barra de progreso, que dejaba de mostrar el avance.

A partir de la versión 7.15, estos problemas visuales se solucionan y la ventana con la barra de progreso se muestra correctamente, mejorando la experiencia de usuario del desarrollador. (VBM-1661).

Mejora del editor de menús y toolbars en MacOSX

En MacOSX, cuando editábamos un objeto menú se producían problemas con la barra principal de menú de Velneo vDevelop V7

A partir de la versión 7.15 se ha rehecho todo el editor, simplificándolo, evitando el problema en MacOSX y además se han añadido funcionalidades como marcar en color distinto las acciones que ya se hayan incorporado al menú, con lo que se facilita el desarrollo de estos objetos. (VBM-2382).

Mejora de la edición de layouts en el editor de formularios en Mac

En sistemas operativos MacOSX, cuando en un formulario usábamos un dibujo como layout, tapaba los controles que contenía, lo que dificultaba la selección de los mismos.

A partir de la versión 7.15 mejora la integración con Mac, con lo que podremos usar un dibujo como layout, permitiendo la edición del resto de controles, facilitando el desarrollo de formularios. (VBM-2968).

La entrada Velneo V7 7.15: Estabilidad en la programación de aplicaciones aparece primero en Velneo V7.