2012-06-25 13 views
6

No estoy seguro si este es el sitio correcto Pila de Exchange, pero aquí va ..iOS/Android sincronización con Delphi/C# aplicaciones de escritorio

Un cliente me ha pedido que estudiar la posibilidad de tener una aplicación de iOS o Android tipeando información almacenando eso en una base de datos SQLLite y luego sincronizándose con la aplicación de escritorio principal cuando se conecta por cable o alguna otra tecnología de sincronización.

La aplicación de escritorio de Windows es un uno escrito en Delphi 7. Actualmente

¿Hay de cualquier API para sincronizar los datos desde una base de datos SQLLite en iOS/Android que Delphi se puede usar?

Si no, ¿sería mejor si la aplicación de escritorio se escribió en C# ya que es un lenguaje más nuevo que puede consumir la API más fácilmente?

+4

Si va a votar para cerrar. Dígame por qué o sugiera un lugar mejor para preguntar. Gracias – Jon

Respuesta

2

Para la sincronización unidireccional (dispositivo a escritorio), comenzaría con un servicio web simple (basado en HTTP). El nuevo estándar Web Sockets, también basado en HTTP, es un poco más complicado, pero permitiría la comunicación bidireccional.

Los dispositivos pueden realizar cambios en la base de datos HTTP POST en el servidor y el cliente de escritorio puede obtener nuevos datos (utilizando HTTP GET) o recibir notificaciones push, por ejemplo, utilizando un cliente Web Sockets.

Para las aplicaciones de escritorio a dispositivo, también puedes consultar las notificaciones push de Apple y la tecnología Android correspondiente.

Para una alta disponibilidad, recomiendo una solución basada en la nube como Amazon Elastic Compute Cloud (EC2), Google App Engine (GAE) o Azure.

+0

Gracias. Realmente me sorprendió que no haya una manera diferente de hacerlo que no sea HTTP POST. Pensé que podría haber un marco como la sincronización de escritorio pero más mejorado estos días – Jon

+0

Ver mi edición, los Sockets Web también son posibles entre un servidor central y los dispositivos, y permiten la sincronización bidireccional. – mjn

+0

No quiero sincronización bidireccional gracias. Simplemente dispositivo a escritorio. – Jon

1

Esta pregunta es bastante amplia, hay muchas cosas que podría hacer aquí. Hay tantas tecnologías para usar que es cegador.

La técnica predominante para transferir información desde dispositivos móviles es REST (a través de http).

También podría crear algo rápidamente en node.js o WFC para crear un servicio que recopile información de los dispositivos móviles.

No estoy seguro acerca de las bibliotecas de Delphi disponibles, pero quizás al incluir REST en su término de búsqueda tenga más suerte. Es posible que desee echar un vistazo a https://stackoverflow.com/questions/3959851/using-rest-with-delphi para empezar.

El lado móvil puede ser más complicado. Si está desarrollando para múltiples dispositivos, puede explorar el marco de desarrollador multiplataforma por PhoneGap ya que parece haber algunos proyectos que intentan sincronizar las bases de datos locales con la nube. Cómo unirlas será una tarea interesante.

¡¡Buena suerte !!!

Cuestiones relacionadas