Hoy ha salido a la luz la nueva versión 7.3 de Velneo V7. Trae multitud de novedades.
Puedes descargar la nueva versión y ver la lista de novedades.
23 Feb
Hoy ha salido a la luz la nueva versión 7.3 de Velneo V7. Trae multitud de novedades.
Puedes descargar la nueva versión y ver la lista de novedades.
19 Ene
Ahora que estoy enfrascado en hacer un artículo de cómo llamar a las dlls de Windows desde Velneo V7 usando el objeto librería externa, me surge la necesidad de mirar una y otra vez cual es el valor de las constantes que usa Windows en las llamadas a las dlls.
Así que las he buscado y aquí tenemos la lista casi completa. Si falta alguna no dudes en añadirla.
28 Oct
Ayer martes aparecía la nueva versión de Velneo, la 7.2, con numerosas novedades.
Aquí puedes ver una presentación y un video con las novedades. Además puedes ver un listado completo de las novedades y bugs solucionados.
Además se abre el primer concurso de Open Apps para Velneo V7. Apúntate y muestra lo que puedes hacer con Velneo V7.
Espero que disfrutes tanto de esta nueva versión como lo estoy haciendo yo.
25 Feb
Ahora que está tan de moda Apple, y sus Mac, ha llegado el momento de encontrar una herramienta sencilla para desarrollar para ese S.O. La recién aparecida versión de Velneo V7 permite la edición y ejecución de aplicaciones tanto en Windows, Linux y Mac sin variar una sólo línea de código.
Ya no tienes excusa para desarrollar aplicaciones de gestión o de cualquier otro tipo para este sistema operativo.
25 Feb
Recientemente ha salido a la luz la primera versión de Velneo V7. Después de un período en fase beta, sale la primera versión pública de esta plataforma de desarrollo.
Esta nueva plataforma permite el desarrollo rápido de aplicaciones utilizando una base de datos propietaria y un lenguaje visual de alto nivel. En esta primera versión sólo se ha sacado la versión de la nube (on the cloud), y confirman que para Junio dispondrán de solución para desarrollo y ejecución en local (on the LAN).
Incorpora varias características la mar de interesantes:
La he probado y aunque tengo que reconocer que le falta un poco de madurez sinceramente se convierte en un serio candidato a ser una herramienta revolucionaria en la creación de aplicaciones.
21 Abr
Cuando trabajamos con Velneo y necesitamos hacer una llamada a una dll que retorna una cadena (string) nos encontramos con la tesitura de como liberar el espacio de memoria alojada para la cadena en cuestión en la dll. Veamos un método, que no el único, para liberar esa memoria. Este método sólo va a servir para las dlls que creemos nosotros, ya que debemos añadir un par de funciones extra.
El escenario
Veamos el escenario que vamos a utilizar para poner en funcionamiento nuestra técnica. Tenemos un mapa en Velneo desde el que necesitamos llamar a una función de una dll que debe retornar una cadena de caracteres (un char*). La cadena no tiene una longitud fija, por lo que nos interesa alojar el espacio en memoria en la propia función de la dll y retornar la cadena completa.
La solución
Lo primero que se nos ocurre es hacer una función que retorne un char* y recogerlo en Velneo, pero tenemos que ser conscientes de que ese espacio en memoria no se a a liberar, por lo que estamos dejando un motón de basura.
Lo que vamos a hacer es retornar el puntero a ese char*, y nos creamos dos funciones extra en la dll, getString y freeString. El código en C sería algo así:
unsigned long test(int variables, ...)
{
char* cadena = (char *) malloc(1024);
// Procesamos la cadena y retornamos su direccion de memoria
return (unsigned long)cadena;
}
char* getString(unsigned long address)
{ // Retornamos el contenido de esa dirección
return (char*) address;
}
void freeString(unsigned long address)
{ // Liberamos esa dirección de memoria
free((void *)address);
}
Desde Velneo haremos las llamadas en el siguiente orden:
Set ptr_cadena, testDll.test('variables')
// En esta variable local tenemos la direccion de memoria. Obtengamos el contenido
Set cadena, testDll.getString('ptr_cadena')
// Liberemos ese espacio reservado
Set void, testDll.freeString('ptr_cadena')
Con esta sencilla artimaña nos aseguramos de que no quede espacio en memoria ocupada sin liberar.
Esta es la opción que yo utilizo. Si usas algún otro truco, aprovecha para compartirlo con la comunidad escribiendo un comentario.
8 Abr
Al hilo de lo que comentaba en mi anterior post sobre mis experiencias en mi antiguo trabajo con Java y MySQL, os cuento la parte relativa al mantenimiento de la aplicación en producción.
Aplicación en producción
Los que nos dedicamos al desarrollo de software conocemos las dificultades que implica mantener una aplicación que ya está en producción, o sea, el clientes ya está trabajando con ella.
Si sólo se trata de una actualización a nivel visual o de código no es significativo. El problema viene cuando cambia la estructura de la base de datos.
En otros entornos
Cuando la actualización de una aplicación incluye cambios en la estructura de datos normalmente recurrimos a scripts SQL que se encargan de realizar el cambio estructural y de algunos procesos si tuviéramos que realizar alguna actualización a nivel de datos.
Esto, queramos o no, es un proceso manual, aunque nos podamos ayudar de herramientas que permitan la sincronización entre dos bases de datos.
En Velneo
Afortunadamente los que desarrollamos con Velneo estamos de enhorabuena y la plataforma de desarrollo se encarga automáticamente de realizar la actualización/conversión de la base de datos antigua a la nueva versión. Además crea copia de seguridad de todas las tablas que “sufren” cambios.
Y cuando hablo de conversión me refiero a que si p.e. he cambiado el tipo de un dato en una tabla Velneo se encarga de realizar la conversión (siempre que sea posible).
De verdad que os animo a que probéis esta herramienta de desarrollo porque vale la pena.
Hasta el próximo artículo!!
2 Feb
Hará de esto un año quizás cuando inicié mi andadura en una nueva empresa. La idea era hacer aplicaciones web trabajando con Java y MySQL y en medio usar un ORM (mapeo objeto/relación), en concreto Hibernate.
Yo, como buen empleado, comencé a leer todo lo que pude sobre aquel, decían, maravilloso sistema que te permitía acceder a los campos y relaciones de una tabla de una forma sencilla.
Comenzó la locura
Estos sistemas funcionan casi todos con ficheros descriptores XML o anotaciones en el código que define las clases de los objetos. Es verdad que existen aplicaciones/plugins que permiten a partir de una base de datos ya creada obtener los descriptores y las clases y viceversa, pero el mantenimiento de todos estas capas es realmente tedioso. Yo en concreto usaba MyEclipse junto con un plugin para Hibernate que venía en ese paquete.
Realmente antes de hacerlo a mano se agradecía que hubiera un sistema semiautomático de “sincronización” entre los cambios que se realizaban en los descriptores, las clases y las propias tablas en la base de datos.
Esto es la pólvora
Los compañeros que trabajaban conmigo ya llevaban más tiempo usando estas herramientas que yo y desafortunadamente para ellos no conocían Velneo. Yo ya tenía algo más de experiencia en esta plataforma de desarrollo.
Bueno, al grano. Mis compis decían: mira que guay, estoy en una factura y a través de una propiedad de la clase factura puedo acceder al cliente y a sus datos. También si estoy en un cliente determinado, a través de una propiedad puedo acceder a la lista de facturas de ese cliente. ¿No es alucinante?, decían. Yo los miraba incrédulos. “De verdad os parece alucinante, pero si eso Velneo lo hace de toda la vida y mucho más transparente e integrado”. Velneo, ¿eso que es?, me comentaban.
Que grande es Velneo
Cuando se creó el modelo de bases de datos relacional no se tenía en mente usarlo con entornos de desarrollo que usaran objetos. Este fué uno de los motivos de que sacaran el ORM, para intentar suavizar el salto abismal que existe entre el trabajo a nivel de clases y relaciones entre tablas.
Lo curioso de todo esto es que Velneo con su modelo de datos real integrado todo esto lo tiene más que resuelto, e incluso mucho más:
Conclusión
Cuando les conté todo esto a mis antiguos compis quedaron flipados y alucinados de verdad. Cuando se enteraron que la plataforma es española su asombro fue aún mayor. Y cuando por último les mostré lo fácil que es mantener una aplicación en Velneo entonces lo tuvieron realmente claro. Pero este será tema de otro post.
31 Ene
Todos sabemos lo importante que es disponer de una copia de seguridad de nuestros datos. En Velneo esa tarea se simplifica al máximo con la utilidad de copias de seguridad que incorpora el vServer.
Para quién no lo sepa, el vServer dispone de la posibilidad de realizar respaldos de seguridad en caliente, esto es, con la aplicación iniciada e incluso con los usuarios trabajando en la aplicación. Pero hay que tener en cuenta algunos aspectos:
Por lo tanto para hacer una copia completa de todos nuestros datos tenemos que:
Una estrategia sencilla de copias es lanzar una tarea cada semana o cada dos días sobreescribiendo la anterior.
Una estrategia mucho más completa es hacer copias todos los días y guardar cada día en una carpeta (lunes, martes, miércoles, etc), por lo que conservaremos copias de una semana completa.
Espero que esto os ayude a mantener los datos a buen recaudo.
Comentarios recientes