Son muchas e interesantes las novedades que nos acercará la inminente aparición de la versión 8.1 de Omnis Studio
- Soporte para repositorios de software distintos al VCS-OMNIS (Exportación e importación de librerías en formato JSON)
- jsForms con soporte de diseño "responsive"
- Nuevos controles jsClient
- Correcciones y añadidos menores, en Web Services, el Editor de métodos y el asistente de codificación
Pero de todas ellas quizás la más destacable sea el jsForm "responsive". El
diseño "responsive" es una técnica utilizada para componer formularios que se ajustan de modo automático a los diferentes tamaños de pantalla del dispositivo en uso, ya sea que se trate de
teléfonos móviles, tablets u otras pantallas. La razón para su uso es la de poder disponer de un único
formulario desde el cual y mediante unos pocos métodos de código, adaptar
automáticamente los objetos al dispositivo en uso o bien tras un cambio en el tamaño de la ventana del navegador por acción del usuario. Cuando hablamos de
páginas web estándar, el diseño "responsive" se implementa mediante el uso de técnicas CSS y puntos de interrupción, Omnis Studio 8.1 adopta un
enfoque similar, permitiendo especificar los puntos de
interrupción que se desee durante el diseño del jsForm. (formulario remoto JavaScript) Cada
punto de interrupción se corresponderá con su correspondiente re-diseño o ajuste de objetos en el formulario.
Los jsForm's confeccionados antes de la versión 8.1, podrán seguir haciendo uso de la ya conocida propiedad "$screensize" que (como ustedes saben) nos permite ajustar el diseño a los
diferentes dispositivos, mientras que los jsForm's creados a partir de ésta versión podrán hacer uso del modo "responsive". Una nueva herramienta de migración, (disponible desde el menú "Tools>>Add-Ons") nos permitirá migrar los jsForm's creados con versiones anteriores de Omnis Studio, a los nuevos tipos "responsive".
Una nueva propiedad denominada "$layouttype", (sólo disponible para los nuevos jsForm's) permite especificar el modo de diseño soportado, podrá ser: kLayoutTypeResponsive, kLayoutTypeScreen (para versiones anteriores de Omnis Studio) o kLayoutTypeSingle (diseño no-resposive)
Los nuevos jsForm's son creados con una serie de puntos de
interrupción preestablecidos: 320, 768 y 1024 que corresponderían de modo generalizado a teléfonos,
tabletas y computadoras de escritorio. Pero podremos
cambiar estos puntos de interrupción para adaptarlos a nuestras propias necesidades o tamaños que deseemos soportar en nuestras aplicaciones.
Aquí es donde yo quería llegar con éste artículo, pues llegados a éste punto, seguramente surja la pregunta: ¿Qué puntos de interrupción debo soportar en mi aplicación?
Naturalmente todo dependerá del uso o ámbito de actuación que queramos dar a nuestra aplicación, pero contestando de modo generalista, deberíamos crear al menos un punto de interrupción para el dispositivo más pequeño, de entre el conjunto de dispositivos que deseemos soportar, ya sea que se trate de teléfonos, tablets o escritorios. Por lo tanto, el valor del primer punto de interrupción sería el ancho físico del teléfono más pequeño, no deberemos confundir sus dimensiones físicas con la resolución de pantalla soportada.
Por ejemplo, las dimensiones físicas de la pantalla del iPhone 6 y 7 son 375x667, y el Samsung Galaxy S5 y S6 son 360x640, por lo que podría establecer el primer punto de ruptura de diseño a 360, o tal vez 350 para añadir un margen de seguridad y así dar soporte a ambos teléfonos.
Del mismo modo, para fijar el punto de interrupción para tabletas, deberíamos tener en cuenta el ancho mínimo de entre la gama de tabletas que deseemos soportar. Como ya hemos mencionado, los puntos de interrupción predeterminados son (320, 768 y 1024) están pensados para dar soporte a la mayoría de dispositivos, tanto en su orientación vertical como horizontal, pero podemos cambiar éstos ajustes según nuestras propias necesidades.