Con 4D para iOS, siempre pensamos en características amigables para los móviles. El propósito principal es ayudar a los desarrolladores a proporcionar la mejor experiencia de usuario para sus aplicaciones móviles. Y es por eso que, con 4D v19 R3, estamos lanzando controles de entrada de acción.
¿Qué es un control de entrada?
Como recordatorio, con los formateadores que utilizan el código de iOS disponible en la galería, usted puede interactuar fácilmente con las aplicaciones nativas de iOS desde su teléfono móvil. Por ejemplo, puedes marcar automáticamente un número de teléfono haciendo clic en un campo de número de teléfono o abrir la aplicación Safari simplemente haciendo clic en una URL.
Los controles de entrada de acción siguen exactamente la misma lógica. Utilizándolos, añadirás algunos tipos de módulos en tus formularios de acción para interactuar con las aplicaciones nativas de Apple. Varios de ellos ya están disponibles en la galería, como :
- phoneContact: para buscar el número de teléfono de un contacto directamente desde la aplicación Apple Contact
- emailContact: para buscar el correo electrónico de un contacto directamente desde la aplicación Apple Contact
- currentLocation y currentLocationAddress: para rellenar la ubicación actual del usuario de la app con coordenadas (latitud y longitud) y direcciones automáticamente.
Se han diseñado para facilitar la vida de sus usuarios abriendo nuevas perspectivas mediante interacciones fluidas con el entorno iOS.
Y lo mejor de todo es que eres totalmente libre de crear tus propios controles de entrada, integrarlos en tus proyectos móviles y compartirlos con la comunidad.
¿Cómo funciona esto?
Para utilizarlos en tus proyectos móviles, tendrás que incluirlos en tu base de datos para formateadores o formularios personalizados de lista y detalle. Para ello, crea una carpeta especial «inputControls«, descarga el control de entrada que más te convenga de la galería, descomprímelo y arrástralo a la carpeta inputControls.
Este control de entrada de acción estará entonces disponible y seleccionable en la sección Acción, en las propiedades de los parámetros, dependiendo del tipo de su parámetro de acción.
Aquí hay un ejemplo
En nuestro ejemplo, vamos a actualizar un número de teléfono de contacto y un correo electrónico. La novedad aquí es que vamos a obtener los datos de la aplicación Apple Contact. Así que, en ese caso, simplemente utilizamos los controles de entrada de la acción phoneContact y emailContact disponibles en la galería.
Cómo se ve en la aplicación del usuario
El usuario sólo tendrá que seleccionar la acción editContact en el menú de acciones para mostrar el formulario de acción en la aplicación móvil. A partir de ahí, los controles de entrada de la acción le darán la posibilidad de seleccionar un número de teléfono y un correo electrónico desde la aplicación Apple Contact.
Así que como puedes ver, los controles de entrada de acción son otra gran manera de interactuar con las aplicaciones nativas de Apple y añadir una buena interacción en tus aplicaciones móviles.
Cómo se ve en el editor de proyectos
A continuación, tenemos que crear la acción de edición en el método de base de datos On Mobile App Action para que nuestro ejemplo funcione.
Código de la acción de edición 4D
Aquí hay un ejemplo del código 4D en el método de base de datos On Mobile App Action, para la acción de edición de preajustes, utilizando el componente MobileAppServer:
#DECLARE($request : Object)->$response : Object $action:=MobileAppServer.Action.new($request) $response:=New object("success"; False) Case of : ($action.name="editContact") // edit@ var $entity; $status : Object $entity:=$action.getEntity() For each ($key; $request.parameters) $entity[$key]:=$request.parameters[$key] End for each $status:=$entity.save() // save the entity If ($status.success) $response.success:=True // notify App that action success $response.dataSynchro:=True // notify App to refresh the selection $response.statusText:="Edited" Else $response.statusText:="Failed to edit" // $status.statusText $response.errors:=$status.errors End if End case
Como recordatorio, el componente MobileAppServer, que está construido en 4D, le da acceso a varios métodos de utilidad para acelerar la codificación del backend de su aplicación móvil 4D.
No dude en darnos su opinión en el foro de 4D, y revise la documentación para más detalles.