De tiempo en tiempo llega alguna que otra consulta sobre si en Xojo es posible crear apps de bases de datos multiplataforma en las que no sea preciso complicarse la vida. La palabra clave en estos casos es rapidez. La respuesta corta: sí, es posible gracias a DataControl.
Vaya por delante que esta solución no es para todo tipo de casos o proyectos de bases de datos, sino más bien para realizar aplicaciones realmente sencillas y en las que no se requiera del uso de instrucciones SQL complejas o muy elaboradas. También podrás utilizar este tipo de solución en la creación de prototipos de aplicación que debas enseñar a tus clientes o bien el bocetado de aplicaciones. Para el resto, aplicaciones elaboradas que se apoyen en el uso de bases de datos es totalmente recomendable utilizar las instrucciones SQL y capacidades proporcionadas por cada uno de los motores de bases de datos nativos soportados por Xojo: PostgreSQL, MysQL, SQLite, Oracle o Microsoft SQL, entre otros.
La belleza del DataControl reside en que abstrae por completo de cualquier interacción con la base de datos. Una vez que arrastramos un DataControl desde la librería de Xojo hacia una ventana de nuestro proyecto sólo resta seleccionarlo y acudir al Panel Inspector para indicar cuál es la base de datos sobre la que va actuar y, dentro de esta, cual es la tabla con la que ha de enlazar, y la consulta SQL a ejecutar para obtener un RecordSet o cursor. Por ejemplo, “SELECT * FROM mi_tabla ORDER BY columna” para alimentar la instancia del DataControl con todos los registros disponibles.
A partir de ahí, Xojo incluye de serie una serie de controles de interfaz de usuario (UI) que permiten enlazar, sin necesidad de incluir código alguno, la información a mostrar a partir de la columna (o campo) deseado de la instancia de DataControl añadida al proyecto: ComboBox, TextArea, TextField, etc. Por tanto, con sólo esto nuestra ventana ya tendría un controlador para navegar por los registros resultantes de la consulta, al tiempo que los controles irían mostrando la información correspondiente con cada uno de los campos que hayamos indicado.
Ahora biem, lo normal es que queramos actuar en la mayoría de los casos sobre la base de datos y/o registros disponibles con las operaciones habituales: crear nuevos registros, modificar un registro existente o bien borrarlos. Es en estos casos en los que deberemos de escribir código; una o dos líneas a lo sumo para indicar a la instancia de DataControl si deseamos hacer un Insert, Update, NewRecord o Delete. Por supuesto, también tendremos a nuestro alcance otra serie de métodos, propiedades y eventos que podemos implementar, pero si queremos realizar el mínimo de operaciones entonces estos son los mínimos con los que debemos contar. En definitiva y como indicaba, el mínimo código posible.
En este tutorial en vídeo, de hecho, puedes ver cuan simple resulta implementar una app sencilla completamente funcional basada en el uso de estos métodos y también en la actualización de los contenidos de dos TextField a partir de sendas columnas en la tabla referenciada de la base de datos.
Repites muchas veces durante el vídeo que es sencillo, pero lo cierto es que tardas 15 minutos para hacer algo tan fácil y eso que eres un experto. Eso mismo en FileMaker no te lleva más de un minuto y sin escribir ni una línea de código.
Llevo tiempo mirando Xojo para cambiarme, pero creo que le falta mucho para parecerse a FileMaker en agilidad a la hora de desarrollar.
Hola Alberto,
Gracias por tu comentario.
Como probablemente sepas, el tiempo de hacer y el tiempo de decir como hacer… no son los mismos, especialmente si quieres explicar como hacerlo a alguien que no tiene por que tener contacto previo con la herramienta. En fin, cualquiera de los tutoriales de vídeo que puedas ver (míos) sobre Xojo pasará lo mismo. La recompensa es que, por lo general, quienes los ven quedan satisfecho puesto que se enteran de los conceptos tratados y saben como aplicarlos ellos mismos posteriormente a partir de las explicaciones. El tiempo extra, por tanto, me merece la pena.
¿Xojo y FileMaker? A ver, es comparar una herramienta específica para la creación de aplicaciones de bases de datos (FileMaker), con una herramienta que, además de permitir afrontar el tipo de aplicaciones que pueden realizarse con FileMaker también puede realizar cualquier otra tipo aplicación. Cualquiera. De forma nativa y sin tener que pagar “derecho de pernada” por desplegar “n” puestos.
Además, las políticas de despliegue de las aplicaciones Xojo (nativas, por cierto, en todas las plataformas soportadas) son enormemente más ventajosas que las de FileMaker; y desde el punto de vista de afrontar soluciones de bases de datos cliente/servidor… pues me quedo con Xojo, qué quiere que te diga.
Cualquier duda que tengas, estaré encantado de resolverla… en un minuto o más 😉
Excelente tu forma de explicar
Es posible compartir la bbdd en web?
Hola es posible que una app web acceda a la base de datos; es decir, que múltiples usuarios estén accediendo a la base de datos.
Saludos, muy buena explicación para que no queden dudas, gracias