VNC Viewer en Velneo

VNC es una de las soluciones Open Source de escritorio remoto más usadas por todos.

https://es.wikipedia.org/wiki/VNC

VNC son las siglas en inglés de Virtual Network Computing (Computación Virtual en Red).

VNC es un programa de software libre basado en una estructura cliente-servidor que permite observar las acciones del ordenador servidor remotamente a través de un ordenador cliente. VNC no impone restricciones en el sistema operativo del ordenador servidor con respecto al del cliente: es posible compartir la pantalla de una máquina con cualquier sistema operativo que admita VNC conectándose desde otro ordenador o dispositivo que disponga de un cliente VNC portado.

La versión original del VNC se desarrolló en el Reino Unido, concretamente en los laboratorios AT&T Olivetti Research Laboratory, en Cambridge. El programa era de código abierto, por lo que cualquiera podía modificarlo, y existen hoy en día varios programas para el mismo uso. Muchos derivados modernos de él son software libre con licencia GPL.

Simple de instalar, de configurar y de usar, nos permite conectar remotamente a un ordenador que tenga instalado VNC Server (el servidor VNC que soporte este protocolo).

Partiendo del código fuente del plugin QmlVncViewer  https://github.com/heroyin/qmlvncviewer con licencia https://github.com/heroyin/qmlvncviewer/blob/master/LICENSE hemos compilado para Win32 obteniendo un plugin sencillo y funcional. No hemos necesitado realizar ninguna modificación en el mismo.

image

Este plugin usa las librerías de http://www.tightvnc.com/ con licencia GNU GPL v2 https://www.gnu.org/licenses/old-licenses/gpl-2.0.html. Esta licencia nos obliga a liberar todo el código fuente de las aplicaciones donde se integre con la misma licencia (o licencia abierta equivalente).

En caso de querer usarlas para uso comercial tienes una segunda opción, la licencia comercial. La puedes solicitar en https://www.tightvnc.com/licensing.php. Esta licencia os permitiría incluirla en productos comerciales.

 

Compilar QmlVncViewer para Velneo

La compilación no es especialmente compleja, aunque lo cierto es que no hay nada de documentación al respecto.

Primero tienes que compilar la solución tightvnc.sln, para Win32 en modo Release desde Visual Studio 2013. Es importante que marques todos los proyectos para que se compilen en modo Multi-threaded DLL (/MD)

image

Después abre desde QtCreator el fichero vncroot.pro y procede a la compilación en modo Release. Recuerda que el entorno requerido es el que os explicamos en el artículo https://tipesoft.com/compilar-plugins-qml-para-velneo/. Poco más que añadir.

image

Ejemplo del Plugin QML VncViewer

A partir de ahora podrás disfrutar de ella en Velneo gracias a este nuevo plugin que os presentamos hoy.

image

Como veis, podemos conectarnos sin ningún problema desde Velneo a nuestros servidores VNC gracias a este nuevo plugin.

image

Desde el punto de vista de la implementación QML, poco que decir. Disponemos de un Elemento QML llamado VncViewer donde establecemos el host, port y password. Por otro lado, usamos la función adjustView() para ajustar el scrollView que nos permite acceder a todo el escritorio de la máquina a la que estamos conectados.

image

Para iniciar el visor, usamos vncViewer.start(). Para cerrar la visualización usamos vncViewer.stop() y para refrescar la misma vncViewer.refresh(). Es importante la parada de la visualización ya que es un raw abierto en un socket.

Para nuestras pruebas, hemos usado en el lado del servidor UltraVNC Sever (http://www.uvnc.com/). Hemos obtenido buenos resultados, sin ningún problema importante.

image

Respecto a a la configuración del servidor, es importante fijar el puerto, abrir el firewall y establecer las dos contraseñas requeridas. El resto de los parámetros los podemos dejar por defecto.

Por otro lado, recordaros que VNC no es que sea especialmente seguro, por lo que se recomienda mantener actualizadas las versiones de nuestros servidores VNC. Por otro lado fija contraseñas fuertes y mantenlas actualizadas.

 

Descargas

Como podéis apreciar, es un plugin fenomenal. Os dejamos disponible todo lo necesario para que podáis disfrutar de el en Velneo 7.22.1.

Descargar código fuente del plugin QML

Recuerda que esta librería tendrás que compilarla para la versión adecuada de tu vClient. Para facilitarte el trabajo, hemos empaquetado la versión para Windows x32 en un descargable. Solo tienes que copiar el contenido dentro de la carpeta Velneo (donde está ubicado el ejecutable del vClient.exe). Asegúrate de que el plugin queda dentro de la carpeta qml del directorio de instalación de Velneo. Recuerda respetar la licencia abierta del mismo, esta librería tiene restricciones importantes de uso, no te las saltes.

Descargar Plugin QML para Velneo v7.22.1Descarga libre

Esta vez no os damos acceso al VIN con el ejemplo por cuestiones de licencia, pero no os preocupéis… es tan simple como crear un proyecto Velneo que contenga un fichero QML con el ejemplo incluido en el código fuente anteriormente enlazado. Si tenéis dudas… no tardéis en comentar para aclararlas. Podéis fijaros en los anteriores.

Ante todo, no se te olvide respetar las licencias de todos ellos.

 

 

QtRecorder en Velneo

Me he tomado un descanso en los últimos días, los anteriores artículos fueron realmente intensos y necesitaba un relax. El trabajo que supone hacer todo el proceso para añadir un nuevo plugin QML es intenso, y lo cierto es que las dos últimas semanas no hemos parado.

Por eso he elegido esta vez, un plugin light. Por lo menos esa era la teoría.

He partido de QML Recorder (https://github.com/sverzegnassi/qml-recorder).

Este plugin QML, esencialmente nos permite grabar audio desde QML en distintos formatos y fuentes.

 image

Como ha priori parecía muy simple, compilé el plugin e importé los ejemplos a Velneo. El resultado… no funcionaba.

Revisando código, encontré un par de cosas que podían ser las culpables (tratamiento de las rutas y otro detalle menor). Corregidas, compiladas y a funcionar.

Parecía que ya estaba yo contento… hasta que me dio por leer. Terminé leyendo https://github.com/sverzegnassi/qml-recorder/issues y me día cuenta de que era una versión anticuada (no mucho la verdad). Navegando… encontré unas fuentes más actualizadas. Tal vez era más correcto partir de ellas y olvidarnos de las antiguas https://bazaar.launchpad.net/~verzegnassi-stefano/+junk/recorder-test/files.

Al analizar el código fuente, voy y me encuentro dos problemas .

Primer problema

El código fuente está dividido en dos plugins QML.

image

Vuelta a empezar… no por favor. No quería hacer nada complicado, tengo que leer mucho más sobre de Angular 5 y TypeScript, tengo que revisar el diseño de Arquitectura de otro mega-proyecto, tengo que ofertar un montaje de un CAS, tengo que evitar los rebotes del 4066.

No tengo tiempo para estas cosas…. pufff… dos plugins en vez de uno… pufff…

Pero no siempre, lo pude evitar. No quiero que mis compis Velneadores tengan que andar con dos librerías para algo tan sencillo como grabar un audio (conceptualmente están mejor separadas, pero para facilitar el uso, considero que mejor juntas).

El resumen… que he creado un plugin QML que contiene los dos y que hace el trabajo correctamente.

Segundo problema

El ejemplo está desarrollado para Ubuntu…. esto no me lo esperaba.

image

A revisar el ejemplo y retocar las cosas que no son compatibles. Y todo esto para un simple botón que graba audio.

image

Moralejas

“No es oro todo lo que reluce”, “No hay mal que por bien no venga”, “Lo barato sale caro”, “El que corre pronto para”… aplicaros el que más os guste. A mi me da, que aplican todos y alguno más en este caso.

QML es dado a la fragmentación por culpa de los fabricantes (como siempre):

  • BB10
  • Ubuntu
  • V-Play
  • Jolla
  • Nemo
  • Qt5

Muchas formas de hacer lo mismo, un sinsentido para un framework tan genial como Qt.

Descargas

Bueno, es hora de publicarlo. Funcionalmente es una librería simple, pero que resuelve una cuestión interesante. Os dejamos disponible todo lo necesario para que podáis disfrutar de ella en Velneo 7.22.1.

Descargar código fuente del plugin QML de QRecorder para v7.22.1Descargar código fuente

Recuerda que esta librería tendrás que compilarla para la versión adecuada de tu vClient. Para facilitarte el trabajo, hemos empaquetado la versión para Windows x32 en un descargable. Solo tienes que copiar el contenido dentro de la carpeta Velneo (donde está ubicado el ejecutable del vClient.exe). Asegúrate de que el plugin queda dentro de la carpeta qml del directorio de instalación de Velneo.

Descargar Plugin QML para Velneo v7.22.1Requiere estar registrado

También os damos acceso al VIN de todos los ejemplos funcinando en Velneo V7

Descargar VIN con los ejemplos de QtRecorder para Velneo v7.22.1Requiere estar registrado

La verdad es que no se cual es el uso que la vais a dar, ya me contareis. Recuerda respetar la licencia GNU del mismo.

Aún hay más

Si crees que ya has superado todos los problemas es que aún te queda alguno que superar.

Pues eso, que voy a publicar en WordPress y zasca. Ha dicho que hoy no, tal vez mañana.

image

Un abrazo… y espero que tengáis un camino más sencillo con las pruebas de este plugin.

QZXing en Velneo

Esta vez nos enfocamos en una buena librería de uso empresarial. Sin duda aportará gran valor en la comunidad Velneo.

QZXing es una librería intermediaria entre ZXing y Qt. ZXing, abreviatura de (“Zebra Crossing”), es una librería de procesamiento de imágenes que permite leer y generar códigos de barras 1D y 2D. Es especialmente buena en el proceso de decodificación, no tanto en la codificación. ZXing dispone de soporte para c++, Java y Android https://github.com/zxing/zxing.

Su licencia es Apache 2.0. https://github.com/zxing/zxing/blob/master/LICENSE

image

Significa que es permisiva, pero tiene que mantener las marcas de uso. También recordaros que QR code está licenciado por Denso Wave, inc.

Por otro lado, QZXing es la librería intermediara entre Qt y ZXing, convirtiéndose en la librería más importante en codificación/decodificación de códigos de barras en Qt https://github.com/ftylitak/qzxing. Su licencia también es Apache 2.0 https://github.com/ftylitak/qzxing/blob/master/LICENSE.

QZXing, en teoría, dispone de soporte para QML (https://github.com/ftylitak/qzxing), pero lo cierto es que hemos tenido que desarrollar un plugin para que funcione correctamente en Velneo. El código fuente del plugin lo podrás encontrar al final del artículo, dentro del fichero comprimido del código fuente, en la carpeta QZXing-master\examples\QMLZXing. De momento solo la hemos probado sobre Win32, por lo que desconocemos como se comportará sobre otras plataformas.

image

QZXing soporta decodificación de códigos de barra de los siguientes tipos:

  • UPC-A
  • UPC-E
  • EAN-8
  • EAN-13
  • ITF
  • Code 39
  • Code 93
  • Code 128 (GS1)
  • Codabar
  • QR Code
  • Data Matrix
  • Aztec (beta)
  • PDF 417

También soporta codificación de tipo:

  • QR Code

 

Véase el siguiente ejemplo de como usar el decodificador desde QML:

import QZXing 2.3

function decode(preview) {
	imageToDecode.source = preview
	decoder.decodeImageQML(imageToDecode);
}

Image {
	id:imageToDecode
}

QZXing{
	id: decoder
	enabledDecoders: QZXing.DecoderFormat_QR_CODE
	onDecodingStarted: console.log("Decoding of image started...")
	onTagFound: console.log("Barcode data: " + tag)
	onDecodingFinished: console.log("Decoding finished " + (succeeded==true ? "successfully" : "unsuccessfully"))
}

Para la codificación de un código Qr usamos un proveedor de imágenes que se registra al iniciar le plugin. Véase el siguiente ejemplo de como usar el codificador de códigos Qr desde QML:

import QZXing 2.3

TextField {
	id: inputField
	text: "Hello world!"
}

Image{
	source: "image://QZXing/encode/" + inputField.text;
	cache: false;
}

 

Como podéis apreciar es relativamente sencillo de usar. Pero no os engañéis, es realmente poderoso.

 

Ejemplos de uso de QZXing en Velneo

En la zona de descargas, podrás encontrar un fichero VIN con cuatro los ejemplos funcionales. Trabajo ha costado conseguir que todos ellos funcionen correctamente, algunos de ellos los hemos tenido que revisar y corregir de forma profunda ya que no eran funcionales en primera instancia.

image

Lector de códigos desde imágenes con soporte Drag N Drop. Permite leer las imágenes mediante Drag N Drop dentro de velneo y obtener el Tag que se encuentre en ellas. Soporta todos los Decorders que veis en la captura.

image

Lector en vivo de etiquetas Qr. Es una implementación que permite leer códigos Qr en vivo. Acerca uno a tu webcam y verás como funciona.

image

Codificación de códigos Qr. Como podéis apreciar, es relativamente sencillo, el problema es que solo soporta códigos Qr.

image

Lector de códigos bajo demanda. Poco que decir… acercas el código a leer, pulsas en Decode y obtendrás un cuadro de dialogo con el código leído.

image

Descargas

Como podéis apreciar, funcionalmente es una gran librería. Os dejamos disponible todo lo necesario para que podáis disfrutar de ella en Velneo 7.22.1.

Descargar código fuente del plugin QML de QZXing para v7.22.1Descargar código fuente

 

Recuerda que esta librería tendrás que compilarla para la versión adecuada de tu vClient. Para facilitarte el trabajo, hemos empaquetado la versión para Windows x32 en un descargable. Solo tienes que copiar el contenido dentro de la carpeta Velneo (donde está ubicado el ejecutable del vClient.exe). Asegúrate de que el plugin queda dentro de la carpeta qml del directorio de instalación de Velneo.

Descargar Plugin QML para Velneo v7.22.1Requiere estar registrado

 

También os damos acceso al VIN de todos los ejemplos funcinando en Velneo V7

Descargar VIN con los ejemplos de QZXing para Velneo v7.22.1Requiere estar registrado

 

Con un poquito de trabajo podrás integrarla en tus desarrollos para conseguir grandes mejoras en tus aplicaciones Velneo. Pero, ante todo, no se te olvide respetar la licencia Apache 2.0.

 

 

 

 

Desarrollar plugins QML para Velneo

En el anterior artículo, instalamos todo lo necesario para empezar a desarrollar complementos QML para Velneo sobre Windows x32 y x64.

Hoy toca probar el entorno y desarrollar un primer complemento.

 

Hello World QML

Antes de aventurarnos con Qt5 es recomendable probar nuestro entorno.

Para ello desarrollaremos un hola mundo con QML, de esta forma garantizaremos que todo está en su sitio.

Dentro del QtCreator pulsamos en File > New Project

Seleccionamos Qt Quick Application – Empty

image

Establecemos el nombre del proyecto y la ubicación.

Recomiendo una ruta corta para la ubicación de los proyectos (en mi caso uso C:\Qt\Proyectos\). Establécela como la por defecto.

image

Definimos la herramienta para generar las compilaciones (qmake por compatibilidad).

image

Establecemos la versión de Qt (no todos los tipos de plantillas permiten 5.6.X).

image

Seleccionamos el Kit Desktop Qt 5.6.2 MSVC2016 32bit o 64bit (según corresponda)image

Y pulsamos en Finish

image

Debug

Para ejecutar en modo Debug sin depuración pulsamos en el botón Play (no lanza el depurador, solo ejecuta)

image

Si ya somos capaces de ejecutar nuestra App es que tenemos el compilador en su sitio.image

Para ejecutar en modo Debug con depuración pulsamos en el botón Play con cucaracha (lanza el depurador y ejecuta). Un depurador de los de verdad, aunque lo cierto es que los he visto mejores (también peores).

image

Si lanza el depurador correctamente, ya lo tenemos todo, nos podemos aventurar en algo más complejo.

 

Release

Para compilar la versión final (la que vamos a desplegar en Velneo) cambiamos el modo a Release.

image

Para compilar, depurar o ejecutar disponemos del menú Build.

image

Desarrollando nuestro primer plugin QML

Lo básico ya lo tenemos claro, entorno, compilador y depurador. Ahora toca empezar con la parte dura del asunto, desarrollar un plugin c++/qml. Pero antes de empezar toca aprender un poco, toca leer al respecto http://doc.qt.io/qt-5/qtqml-modules-cppplugins.html

Un plugin QML es una librería que contiene una clase que hereda de QQmlExtensionPlugin. QtCreator dispone de una plantilla para crear extensiones (Qt Quick 2 Extension Plugin), por lo que no nos tenemos que enredar demasiado, deja que QtCreator te ayude.

image

Le damos nombre a nuestro Plugin. Este nombre se usará como nombre del archivo de nuestra librería y como nombre de plugin.

image

Creamos una clase que contendrá el elemento QML que usaremos desde Velneo. También tenemos que definir la URI de los componentes. Esta URI se usará como ruta de los ficheros y como nombre del módulo.

image

Finalizamos el asistente y obtenemos el código de nuestro plugin en base a la plantilla. Observa que la clase de nuestro plugin hereda de QQmlExtensionPlugin. Fíjate en la función registerTypes(). Esta función se encarga de registrar los tipos disponibles en nuestro plugin. Date cuenta de que usa la URI que hemos fijado en el asistente.

image

En la implementación de la función registerTypes() puedes apreciar como se llama a qmlRegisterType que es la encargada de registrar el tipo de elemento dentro de la ejecución del plugin. En nuestro caso MyHelloWorldItem.

image

La clase MyHelloWorldItem, es la que contendrá el código de la implementación de nuestro primer componente. Evidentemente, implementaremos algo muy simple, para entender como encajan todas las piezas.

La clase MyHelloWorldItem hereda de QQuickItem (elemento más básico de QtQuick).

image

Como veis en la propia documentación del código, QtQuickItem no pinta nada. Si quieres que pinte algo, pues toca implementarlo (puede que lo que quieras es hacer algo en C++ en segundo plano, por ejemplo montar un complemento para guardar ficheros en el disco).

Como os podéis imaginar. podemos implementar desde esta clase base o desde una especializada (que herede de ella). Por por poner un ejemplo, si queremos pintar algo en pantalla, podemos partir desde la clase QQuickPaintedItem

image

Para el ejemplo, vamos a pintar un rectángulo cuadrado de un cierto color. Algo sencillo que todos podamos entender.

La clase QQuickPaintedItem dispone de un método paint() que permite pintar elementos. Si queremos pintar un rectángulo, drawRect() nos valdrá.

image

 

Como veis, fijamos el color mediante la función setPen, y lo leemos desde una variable privada llamada m_color.

Si queremos que esta variable pueda ser establecida desde Velneo, tenemos que definir una variable publica llamada color e implementar los métodos Get y Set

image

Y establecer el comportamiento en el fichero.h de cabeceras de la clase. El fichero de cabeceras quedará tal que así:

image

A observar… la definición de la señal de control del cambio de color, la variable pública y el método setter. Por último el como establecemos una Q_PROPERTY que se pueda invocar desde QML para que sea capaz de leer i escribir en el color.

Ya tenemos nuestro ejemplo. Ahora toca compilar en modo Release.

image

Y ya tenemos nuestra DLL. La copiamos a la ruta de Velneo… pero no va sola (la acompaña del fichero qmldir con la definición del plugin y del módulo).

Es importante darse cuenta de que la uri establecida condiciona la carpeta donde tenemos que ubicarla. No podemos dejarla tirada en cualquier sitio. Si la uri es “com.tipesoft.qmlcomponents”, tendremos que crear una estructura de carpetas tal que “com/tipesoft/qmlcomponents” donde dejar nuestra dll y nuestro fichero qmldir

image

El fichero qmldir lo podemos copiar desde C:\Qt\Proyectos\HelloWorldPlugin (lo creó en base a la plantilla).

imageAhora ya podemos implementar en Velneo lo necesario para cargar nuestro plugin.

image

Fíjate en el import (en base a la uri) y en el nombre del elemento QML (MyHelloWorldItem)

Si no establecemos ningún color… resulta en negro.

imageSi lo fijamos a “red”

image

Bueno… parece que ya lo tenemos. Sencillo no es, cierto. Pero estructuralmente son todos iguales.

Os dejamos todo el código necesario descargable desde el siguiente enlace.

Descargar ejemplos Plugin QML para Velneo v7.22.1Requiere estar registrado

Ahora os toca a vosotros

Por nuestro lado, seguiremos aportando nuevos artículos de librerías “open source” que aporten gran valor a Velneo V7. Si os fijáis en las capturas, tal vez apreséis cual es la siguiente de la lista.

Compilar plugins QML para Velneo

La tarea de compilar plugins QML para Velneo, es fundamentalmente, un proceso .

 

Preparación del entorno

El primer paso, y tal vez el más pesado, es la preparación del entorno para compilar las librerías de forma adecuada (para hacerlo compatible con nuestra versión de Velneo).

Para saber que versión estamos usando de las librerías Qt, podemos abrir el cuadro “acerca de” de cualquiera de los productos Velneo. En este cuadro se nos informa de la versión de Velneo, Sistema operativo, arquitectura y versión de Qt.

image

En la versión v7.22.1 se usa la versión de 5.6.2 de Qt.

Por otro lado necesitamos saber que compilador usa Velneo para esa versión. Como no lo sabemos, tenemos que suponérnoslo. En mi caso he supuesto que compilan con Visual Studio 2013. Con estos primeros dos datos, ya podemos empezar.

Resumiendo (en el escenario windows):

  • Plataforma: Windows
  • Arquitecturas: x32 y x64
  • Compilador: Visual Studio 2013
  • Versión de Qt: 5.6.2

 

Instalar el compilador

Identificada la versión de Qt y el entorno requerido procedemos a instalar el compilador compatible con nuestro entorno.

Por cuestiones de mi trabajo, habitualmente en mis máquinas, están disponibles todos los editores y compiladores de Microsoft. Si en tu caso no dispones de ellos, solo tienes que descargarlos e instalarlos.

Tenéis dos opciones para ello:

  • Instalar Visual Studio 2013 Community – Update 5 (opción recomendada)Podemos instalar una versión gratuita de Visual Studio, que Microsoft nos facilita para empresas de pequeño tamaño, desde https://www.visualstudio.com/es/vs/older-downloads/. En el proceso de instalación se requieren unos 10Gb de espacio para los componentes habituales.

image

 

Cualquiera de los dos procedimientos de instalación nos instala el comando cl.exe (compilador de nuestro código C++)

image

Instalar las herramientas de depuración

Lo segundo es instalar las herramientas de depuración. Curiosamente, estas herramientas no vienen incluidas en Visual Studio Community ni en las build tools.

Tenéis tres opciones para instalarlas:

 

Instalar Qt 5.6.2

Ahora nos toca el tercer paso. Instalar Qt en su versión “open source”. Descargamos desde https://www.qt.io/download pulsando en “Go to open source”

image

 

Aceptamos la licencia L(GPL) que nos obliga a que nuestro código sea abierto y por último descargamos el instalador. http://download.qt.io/official_releases/online_installers/qt-unified-windows-x86-online.exe

Abrimos el instalador… siguiente, siguiente… paciencia… le decimos la ruta de instalación… hasta que nos pida los componentes a instalar:

image

Marcamos Qt 5.6 (equivale a la rama 5.6.2) para msvc2013 en                                                                                                           x32 y si lo deseas en x64

También puedes marcar aquellos plugins QML que deseas incluir en tu instalación (además de los por defecto que ya incluye el instalador de la versión elegida). Los marcados como TP son en fase beta. Los marcados como Deprecated desaparecerán en Qt 6.x

Si para más adelante… deseas compilar y depurar sobre Android necesitas marcar un par de cositas más. El compilador MiniGW y el soporte CDB para el depurador.

image

Marcado todo lo necesario… procedemos con la instalación.

Arrancamos QtCreator

Cuando tengamos instalado Qt, procedemos a arrancar QtCreator.

Para comprobar que todo ha ido bien, tenemos que entrar en Tools > Options.

Dentro de la sección Build & Run veremos los Kits que están configurados… en vuestro caso Desktop Qt 5.6.2 MSVC2013 32bit y 64bit. Si aparecen en rojo o no aparecen… malo, no ha detectado los compiladores. Si aparece en amarillo… malo, puede que no haya detectado las herramientas de depuración. Si todo está perfecto, ya tienes el entorno preparado para compilar bajo Windows

image

Para el siguiente artículo, si creéis que es necesario, os cuento como desarrollar un plugin QML para Velneo (comentar en este artículo si consideráis para que así me anime a ello).

 

 

Box2D en Velneo

Otra librería que aporta valor a la comunidad Qt es Box2D.

¿Qué es Box2D?

Es un motor de física 2D (para video juegos entre otras cosas). Box2D ha sido desarrollado por Erin Catto, bajo la licencia zlib. Si bien la licencia zlib no requiere acuse de recibo, informamos públicamente del creador para que conste.

image

Para más información visita http://www.box2d.org, http://box2d.org/downloads/ y https://github.com/erincatto/Box2D

Entendido… pero a priori este motor de física 2D no está soportado en Velneo V7.

 

QML Box2D plugin

Como os podéis imaginar, Box2D no lo podemos integrar directamente con Velneo. Pero desde que tenemos QML hay solución para casi cualquier integración con C++.

Para este casos necesitamos un plugin QML… tal como este https://github.com/qml-box2d/qml-box2d. El objetivo de este complemento qml-box2d es exponer la funcionalidad de Box2D (C++) como un complemento QML para facilitar el desarrollo de software basado en física 2D sobre QML.

Pues parece que si es posible soportarlo en Velneo, mediante un plugin QML, de licencia abierta, incluso para uso comercial https://github.com/qml-box2d/qml-box2d/blob/master/COPYING

¿Nos ponemos manos a la obra? Venga va…  veamos si somos capaces de conseguir hacerlo 100% funcional. 20 minutos después…

Cañón:

image

y unos pocos remates…

Modo debug:

image

Demolición:

image

Cuerda de la ropa:

image

Test con elementos fijos:

image

Esfuerzo de torsión:

image

Unión de elementos:

image

 

Pues parece que funciona correctamente. Bienvenido sea entonces.

Descargas

Un gran motor 2D para que lo puedas disfrutar o integrar en tus desarrollos de código abierto Velneo:

Descargar Box2D para v7.22.1Requiere estar registrado

Recuerda que este motor usa las librerías de Box2D por lo que tendrás que compilarlas para la versión adecuada de tu vClient. Para facilitarte el trabajo, hemos empaquetado la versión para Windows x32 en un descargable. Solo tienes que copiar el contenido dentro de la carpeta Velneo (donde está ubicado el ejecutable del vClient.exe). Asegúrate de que el plugin queda dentro de la carpeta qml del directorio de instalación de Velneo.

Descargar Box2D para v7.22.1Requiere estar registrado

 

Ya tienes una nueva herramienta. ¿Te animas a realizar el primer videojuego en Velneo? o tal vez encuentres un lugar más adecuado en tus desarrollos para este complemento.

 

PaaSOS v1.5 RC1

Ya tenemos disponible la nueva RC1, más madura y casi definitiva.

Como en anteriores casos, inicialmente será enviada a todos los desarrolladores activos de nuestra plataforma y a todos los desarrolladores que solicitasteis la Beta 1 o Beta 2. Posteriormente será remitida a los que lo soliciten mediante el formulario incrustado en el lateral derecho.

 

Hangout PaaSOS v1.5

Nuevamente Francisco José Vila (AyudaVelneo), nos enredo para informar públicamente sobre las novedades de la versión 1.5 y agradecidos acudimos sin dilación a su llamada.

Pinche aquí para ver el vídeo

 

Mejoras de la RC1

  • Escritorios digitales.

    dashboards2 PaaSOS v1.5 RC1
  • Menú favoritos.
  • Correcciones de estilos del proceso de instalación.
  • Nuevos instalables compilados con la v7.15.2.
  • Plantillas v1.5.
  • Datos de ejemplo de los primeros escritorios digitales.

 

Novedades de la v1.5 Beta 1 y 2

http://tipesoft.com/paasos-v1-5-beta-2/

http://tipesoft.com/paasos-v1-5-beta-privada/

Blog | Tienda

PaaSOS v1.5 RC1

PaaSOS v1.5 Beta 2

Como anunciamos hace unos días, hemos optado por una liberación “controlada” de la versión 1.5 de PaaSOS. Ya tenemos disponible la nueva Beta con muchas correcciones y mejoras.

Inicialmente será enviada a todos los desarrolladores activos de nuestra plataforma y a todos los desarrolladores que solicitasteis la Beta 1, posteriormente será remitida a los que lo soliciten mediante el formulario incrustado en el lateral derecho.

Como ya sabéis, al final del verano será liberada de forma pública.

Novedades de la v1.5 Beta 1

http://tipesoft.com/paasos-v1-5-beta-privada/

 

Novedades de la v1.5 Beta 2

Refinamiento del estilo CSS (más plano y fácil de usar en dispositivos táctiles).

Nueva iconografía para los botones de selección de vista

image thumb PaaSOS v1.5 Beta 2Nuevo formato para las toolbar.

Remarcado de la selección del tab seleccionado.

image thumb1 PaaSOS v1.5 Beta 2

Altura de botones reajustada para facilitar el uso

image thumb2 PaaSOS v1.5 Beta 2

Formularios auto-dimensionables. Ahora los formularios principales se ajustan en función de la resolución del monitor para facilitar el uso en pantallas de diversa resolución.

También se eliminan los botones y la barra de sistema en las barras principales.

image thumb3 PaaSOS v1.5 Beta 2

Mejoras de estilo en los progress bar

image thumb4 PaaSOS v1.5 Beta 2

Mejoras de estilo en los slider

image thumb5 PaaSOS v1.5 Beta 2

Mejoras de rendimiento en el sistema de seguridad y simplificación de la vista de permisos efectivos

image thumb6 PaaSOS v1.5 Beta 2

Mejoras de rendimiento en líneas alta latencia (optimizado para 3G). Para ello hemos evitando llamadas duplicadas a ciertas funciones del core.

Nuevo servicio para subida de ficheros mediante TCP/IP

image thumb7 PaaSOS v1.5 Beta 2

Nueva funcionalidad de cirrus v1.2: subida de ficheros mediante HTTP codificados en Base64

Blog | Tienda

PaaSOS v1.5 Beta 2

Novedades de la v1.4

Mejoras de plataforma

PaaSOS CORE (Nuevo módulo de Correo electrónico)

Nuevo módulo de envío y recepción de correo electrónico integrado en PaaSOS Core.

image thumb6 Novedades de la v1.4

Ya puedes leer y redactar tu correo electrónico desde PaaSOS.

image thumb7 Novedades de la v1.4

Soporte SMTP y POP3.

image thumb8 Novedades de la v1.4

Con soporte para múltiples cuentas de correo electrónico por usuario.

Editor wysiwyg HTML integrado para facilitar la redacción del correo electrónico.

image thumb9 Novedades de la v1.4

Soporte de múltiples adjuntos.

Soporte integrado con el sistema de conexiones. Podrás informar de que correos electrónicos están vinculados a los documentos que emites mediante PaaSOS.

 

PaaSOS CAL (Calendario)

Corrección de errores para soporte de zonas horarias (cliente/servidor).

Mejoras de rendimiento (reducción de carga transaccional en el cálculo de agendas).

Simplificación de los procesos internos (evitar código redundante y simplificar los procesos transaccionales).

Soporte para calendarios semanales. Esta nueva funcionalidad es especialmente importante para aplicaciones que requieran de agendas complejas. Está siendo desarrollado de forma completa por Francisco Javier Pérez Novo.

 

PaaSOS (Funcional)

Mejoras en la gestión de productos (soporte para inmuebles y servicios).

image thumb10 Novedades de la v1.4

Nuevo sistema de control de versionado para la gestión de cambios (para aplicar fix o mejoras).

Normalización del sistema de redondeos de divisas.

 

Mejoras de productos

PaaSOS EIP (Gestión de inmuebles)

Ahora puedes dividir en componentes tus inmuebles (para alquileres por partes).

También puedes establecer las direcciones del inmueble para luego informar en tus documentos de la mismas.

Mejoras en el módulo de gestión de contratos de venta tales como numeración basada en series e integración con ERP y EAC (cartera).

image thumb11 Novedades de la v1.4

Nuevo módulo de contratos de alquiler con soporte de vigencias, generación de cuotas, facturación y cobro integradas.

image thumb12 Novedades de la v1.4

 

PaaSOS VFM (Gestión de flotas)

image thumb3 Novedades de la v1.4

Nuevo módulo en VFM que permite realizar el seguimiento y tracking de flotas de vehículos mediante GPS.

Es fácilmente integrable con aplicaciones GPS conectables a servicios (Ej: Open GPS Tracker https://play.google.com/store/apps/details?id=nl.sogeti.android.gpstracker&hl=es).

 

image thumb15 Novedades de la v1.4

Tracking de longitud, latitud, altitud, aceleración y velocidad.

Representación mediante Google MAPS v3.0 e integración con el sistema de rutas.

image thumb16 Novedades de la v1.4

 

Nuevos productos de la plataforma

PaaSOS EDS (Señalización digital para empresas)

Soporte de cirrus y vModApache para servir los contenidos.

Soporte para múltiples monitores.

image thumb17 Novedades de la v1.4

Registro de monitor por MAC.

image thumb18 Novedades de la v1.4

Configuración centralizada (se configura en el servidor y se traslada a los displays).

Parrillas de contenidos por grupos y con programación totalmente parametrizable.

image thumb19 Novedades de la v1.4

Plantilla básica de ejemplo basada en QML+JavaScript para que puedas construir tu sistema de digital signage (inicialmente con soporte para windows y android).

image thumb22 Novedades de la v1.4

 

PaaSOS GTD (Gestión de tareas con metodología GTD)

Nuevo producto de gestión de tareas basado en la metodología GTD (http://es.wikipedia.org/wiki/Getting_Things_Done)

image thumb4 Novedades de la v1.4

Desarrollado por Francisco José Vila (http://ayudavelneo.com/) y portado en menos de 10 días (80 horas de desarrollo – http://ayudavelneo.com/paasosgtd-el-nuevo-miembro-de-la-familia-paasos-desarrollado-por-ayudavelneo/).

Es un ejemplo de como la utilización de PaaSOS añade mucho valor a otros productos desarrollados en Velneo con un bajo coste de desarrollo.

image thumb5 Novedades de la v1.4

Soporte a todas las funcionalidades de GTD en la nube (http://gtdenlanube.com/) y mejora significativa gracias a la integración plena con PaaSOS Core.

image thumb13 Novedades de la v1.4

Gestiona rápidamente tus tareas facilitándote el trabajo diario gracias a PaaSOS GTD

image thumb14 Novedades de la v1.4

 

Esperamos os guste y que pronto decidáis portar vuestros productos a PaaSOS para ganar competitividad en el mercado.

 

PaaSOS ESM (Gestión de contratos de servicio)

Nuevo producto ideado y desarrollado por Codetec S.L. (http://codetec.es/) permite la gestión de contratos de servició multi-periodo.

image thumb20 Novedades de la v1.4

Puedes fácilmente gestionar todos los contratos de mantenimiento o servicio de tu empresa.

Gracias a la integración con ERP y EAC la emisión de facturas y control de cobros puedes llevar el control completo desde una misma aplicación.

image thumb21 Novedades de la v1.4

Dispone de vigencias de contrato con incremento de precio basados en un % variable.

Soporte de pago inicial y %variable.

 

Los avances de plataforma son rápidos y constantes. Esperamos que os gusten los nuevos productos y que pronto aportéis vuestro granito de arena a una de las apuestas más interesantes del mercado en el desarrollo de aplicaciones empresariales.

Blog | Tienda

Novedades de la v1.4