Etiqueta

Mostrando entradas con la etiqueta Aula Omnis. Mostrar todas las entradas
Mostrando entradas con la etiqueta Aula Omnis. Mostrar todas las entradas

13 mayo 2013

Omnis jsClient: Control Device

Nunca ha sido más sencillo para los desarrolladores Omnis construir aplicaciones totalmente funcionales para dispositivos móviles, aprovechando todas y cada una de las funciones ya integradas en el dispositivo; Cámara, Contactos y funciones GPS, mediante el nuevo componente JavaScrip "Control Device" incluido en Omnis Studio 6.0. Dicho componente permite el acceso a los servicios del dispositivo móvil hardware y software, permitiendo un alto nivel de integración en aplicaciones móviles. El programador dispondrá de un sistema de control independiente del sistema operativo en uso, ya sea iOS, Android o BlackBerry.

Uso y compatibilidad de “Control Device"
El componente “Control Device” es “no-visual”, de modo que para habilitar el acceso a sus funcionalidades será necesario agregarlo a su “remote-form” mediante el uso de métodos en tiempo de ejecución, que activen su propiedad “$action”. Las acciones que permitirán llevarse a cabo incluyen "causar un beep", "hacer una llamada", "leer contactos", "tomar fotos", "leer datos GPS", y "causar una vibración", además de ser compatible con muchas funciones incluidas en su hardware, sin embargo, algunas de estas funciones podrían no estar disponibles en según que dispositivos.

Deberá testear su aplicación en los diferentes dispositivos, a fin de verificar si una determinada función está o no soportada de modo que el usuario pueda realmente hacer uso de la misma.

Ejemplo de uso 

Para ver en acción Omnis Studio 6.0 y su “Control Device”, tiene a su disposición una aplicación demostrativa basada en el uso de códigos QR en un BlackBerry Z10. La aplicación de demostración denominada "Blythberries" es ejecutada como una aplicación nativa BlackBerry, proporcionando acceso a la cámara del dispositivo móvil a fin de escanear el código QR, así como al sistema GPS en dispositivos BlackBerry Z10 y Q10. 

El componente “no-visible” “Control Device” asignado al “remote form”, permitirá que la aplicación lea un código QR. El código Omnis (mostrado a la izquierda de la imagen) procesará el código QR devuelto y que en este caso se trata del nombre de una fruta.

Esta aplicación demostrativa nos enseña cómo Omnis Studio y su tecnología jsClient, permite a los desarrolladores crear todo tipo de aplicaciones web y móvile que funcionan con prácticamente cualquier dispositivo y en cualquier plataforma, incluyendo PCs de escritorio, tabletas y teléfonos inteligentes. La aplicación muestra dos de las capacidades del dispositivo, adecuadas para crear todo tipo de aplicaciones de la empresa y mercados verticales.

04 abril 2013

Omnis jsClient: Interruptores

Omnis jsClient, proporciona un control denominado "Switch", capad de mostrar gráficamente el estado de la selección efectuada por el usuario activado/desactivado (On/Off). Lo más interesante es que permite una personalización completa de las imágenes a utilizar para representar los estados de  activo o inactivo. El componente "Switch" asigna por defecto el IDE (identificador de imagen) que Omnis Studio proporciona para mostrar un sencillo interruptor basculante (ver imagen), pero nada impedirá su modificación.




Para más información, sobre el usuo de éste y otros componentes jsClient, haga "click" en el siguiente enlace: Componentes jsCliente

21 febrero 2013

Encuentro en España: Omnis Studio Developer Meeting

Primer encuentro de desarrolladores Omnis en España:

Omnis Studio Developer Meeting, Madrid 21 de Junio 2013, h.10.30-18.30.

Lugar:
NH La Habana

Paseo de la Habana, 73
28036 Madrid
www.nh-hotels.com
400 metros de la parada Colombia de la metro 8, google maps.
 

22 enero 2013

Omnis Studio 6: Nuevo parámetro jsClient (data-commstimeout)

jsClient ahora permite al usuario determinar (pasando un parámetro desde el navegador) el  tiempo máximo de espera ante una solicitud. Un nuevo parámetro "data-commstimeout" situado dentro del ≤div≥ "omnisobject1" (incluido en el formulario HTML) permitirá controlar el tiempo en el que el servidor, deberá responder al usuario. Su valor por defecto es cero, lo que significa que no se aplicará tiempo de espera, para aplicarlo, deberá introducirse un entero en representación de los segundos de espera. Cuando el cliente envía un mensaje al servidor, éste deberá responder dentro del tiempo de espera fijado, de lo contrario el usuario podrá optar por seguir esperando o bien cancelar la solicitud.

≤div id="omnisobject1" style="position:absolute;top:0px;left:0px"
    data-webserverurl=""
    data-omnisserverandport=""
    data-omnislibrary=""
    data-omnisclass=""
    data-param1="" data-param2=""
    data-commstimeout="0"≥
(nuevo parámetro)

18 enero 2013

Omnis Studio 6: Subformularios dinámicos

 

Otra interesante novedad consiste en un tipo especial de subformulario (subform) o grupo de subformularios que (a efectos visuales) se comportan como si se tratara de ventanas separadas para el cliente de JavaScript. No debemos confundir los nuevos subformularios con los ya conocidos subformularios, ya que éstos no tienen nada que ver con los anteriores, de hecho se muestran con barra de título y bordes de tamaño variable, de modo que el usuario puede desplazarlos o cambiar su tamaño dinámicamente dentro de del espacio acotado en la ventana del navegador por el "remote form" principal o contenedor del grupo de subformularios. Esto nos permite crear interfaces de usuario altamente flexibles en nuestras aplicaciones para la web y dispositivos móviles, permitiendo un alto grado de interoperatividad con el usuario.

Los nuevos subformularios son mostrados al cliente en tiempo de ejecución (runtime) sobre el "remote form" principal, pudiendo ser abiertos en el contexto de un "paged pane" o sobre el "remote form" directamente. El subformulario o grupo de subformularios estará disponible bajo un nuevo objeto denominado "Subform Set" (SFS), creado por el "JavaScript client" en tiempo de ejecución, a fin de permitir la gestión del grupo de subformularios. Individualmente cada subformulario es tratado en su librería como una clase "remote form" estándar, pero debe ser añadida y referencia bajo un objeto SFS.

Orden del grupo SFS

Los subformularios en un grupo SFS mantienen un "orden de apilamiento" determinado por su disposición en la pantalla, así el subformulario de nivel superior en el conjunto aparecerá al frente o superpuesto sobre el resto. Al hacer clic sobre un "form" inferior el orden de apilamiento cambiará para situarse en el primer nivel de la pila. Sólo permanecerán activos los controles sobre el "form" situado al frente. Existe un límite de 256 instancias "remote form" incluyendo las correspondientes a los subformularios controlados desde una única instancia "remote task". Es posible trabajar con varios conjuntos SFS al mismo tiempo (permitido pero no muy recomendable) pero, no existe un orden o tipo de agrupamiento con relación al total de los grupos.

¿Cómo se crea un SFS?

Un nuevo conjunto de comandos nos permitirá abrir y gestionar los subformularios sobre un conjunto SFS mediante métodos $clientcommand(), pero deberán ser ejecutados por el servidor de aplicaciones Omnis y en el contexto de la instancia actual del "remote form" ($cinst), el $clientcommand() no funcionará si el método es ejecutado en el cliente. El método $clientcommand() requiere de dos parámetros: el cCommand a ejecutar y una variable wRow con los parámetros del comando, su sintaxis es:

Do $cinst.$Clientcommand(cCommand,wRow)

donde $cinst es la instancia actual de "remote form".

17 enero 2013

Omnis Studio 6: Construcción de aplicaciones móviles autónomas

¿Donde se localizan los recursos para aplicaciones autónomas?

El "Serverless Client Application File" (SCAF) es una base de datos SQLite que contiene todos los recursos necesarios para que una aplicación móvil pueda ser ejecutada localmente (modo independiente). Estos incluyen los scripts JavaScript, los archivos CSS, los de imagen (image) y los "remote forms" de Omnis. Se necesitan dos archivos de SCAF por cada aplicación:

  • El SCAF "omnis.db", con los archivos necesarios para ejecutar el cliente JavaScript.
  • El SCAF de la aplicación "≤nombre_de_libreria≥.db", con los archivos propios de la aplicación. Omnis Studio generará estos archivos automáticamente sobre el sub-directorio "html/sc" del directorio principal Omnis. Estos deberán ser situados en el servidor de aplicaciones Omnis y en el mismo lugar si se desea que los usuarios tengan acceso a los mismos para actualizaciones y/o descargas.

¿Cómo se instalan los archivos SCAF en el cliente?

Cuando la aplicación es ejecutada por vez primera y en el modo "sin-conexión", se comprobará si los archivos SCAF ya están incluidos con la aplicación (hablaremos sobre cómo hacer esto en otro artículo). Si estos archivos existen, se copian al espacio reservado en el dispositivo para nuestra aplicación. Naturalmente esto hará que el espacio usado por la aplicación en el dispositivo aumente.

Si los archivos de SCAF no son distribuidos junto con la aplicación, ésta intentará conectarse al servidor de aplicaciones Omnis para descargar las últimas versiones de los archivos SCAF que en él existan.

Para informar a la aplicación sobre que archivos SCAF deberán utilizarse será necesario configurar el parámetro:
 

≤APPSCAF≥nombre≤/APPSCAF≥ (donde "nombre" es el nombre de la biblioteca Omnis) el parámetro lo encontraremos en el archivo config.xml incluido en la aplicación cliente.

04 enero 2013

Omnis Studio 6: Aplicaciones autónomas para dispositivos móviles

Omnis Studio 6.0 incorpora una nueva e interesante funcionalidad para el cliente JavaScript, que nos permitirá construir aplicaciones para dispositivos móviles completamente autónomas, (es decir sin conexión alguna con el servidor de aplicaciones Omnis) o bien en modo "Online" a fin de que los usuarios finales puedan conectarse temporalmente al servidor Omnis para sincronizar datos y/o la aplicación. A continuación resumimos las tres posibilidades que se nos ofrecen:
 


- Independiente

Permite que las aplicaciones se ejecuten de forma independiente o "fuera de línea", es decir sin conexión con un servidor de aplicaciones Omnis o con un servidor de base de datos. Los archivos de la aplicación (“remote form”, etc) podrán combinarse con la aplicación para permitir su completa ejecución en modo "offline", si no se incluyen en el paquete de la aplicación, se podría optar por la realización de una única conexión para la instalación de los archivos de la aplicación en el dispositivo móvil.

- Conexión opcional

Permite que las aplicaciones se ejecuten "fuera de línea" o bien permitiendo que el usuario pueda conmutar a modo "en línea", para sincronizar el contenido de la base de datos y/o la aplicación a través del servidor Omnis; este modo será el recomendado para aquellos usuarios que requieran de una conexión intermitente a fin de sincronizar sus datos con la central.

- Siempre conectado

Esta es la modalidad disponible en la versión de Omnis actual, las aplicaciones son ejecutadas mediante el cliente JavaScript a través del navegador web del dispositivo remoto, las aplicaciones deberán estar permanentemente conectadas al servidor Omnis.