iOS/Android与Delphi/C#桌面应用程序同步

6

不确定这是否是正确的Stack Exchange网站,但我还是要说一下。

客户要求我调查是否可以有一个iOS或Android应用程序,用于输入信息并将其存储在SQLLite数据库中,然后通过电缆或其他同步技术连接到主桌面应用程序进行同步。

桌面应用程序是当前使用Delphi 7编写的Windows应用程序。

是否有API可用于从iOS/Android上的SQLLite数据库同步数据,并且Delphi可以使用它们?

如果没有,那么如果桌面应用程序使用C#编写,是否会更好,因为它是一种较新的语言,可以更轻松地使用API?


4
如果你要投票关闭,请告诉我为什么或建议一个更适合的地方进行提问。谢谢。 - Jon
2个回答

2

对于单向同步(设备到桌面), 我建议使用一个简单的基于HTTP的Web服务。新的Web Sockets标准也是基于HTTP的,它更加复杂,但可以实现双向通信。

设备可以通过HTTP POST将数据库更改发送到服务器,桌面客户端可以使用HTTP GET拉取新数据或接收推送通知,例如使用Web Sockets客户端。

对于桌面到设备,您还可以查看Apple Push Notifications和相应的Android技术。

对于高可用性,我建议使用云计算解决方案,如Amazon Elastic Compute Cloud (EC2),Google App Engine (GAE)或Azure。


谢谢。真的很惊讶除了HTTP POST没有其他不同的方法来完成它。认为可能会有像桌面同步但更改进的框架。 - Jon
请看我的编辑,Web Sockets也可以在中央服务器和设备之间进行,并允许双向同步。 - mjn
我不需要双向同步,谢谢。只需要从设备到桌面的同步。 - Jon
当通过电缆连接时,与主桌面应用程序同步最简单的方法是复制数据库文件 ;) - mjn
你能在iOS和Android上做到这个吗? - Jon

1

这个问题比较广泛,你可以做很多事情。有太多的技术可供使用,让人眼花缭乱。

目前从移动设备传输信息的主要技术是REST(通过http)。

你也可以迅速地在node.js或WFC中创建一个服务来收集移动设备上的信息。

我不确定Delphi库是否可用,但也许通过在搜索词中包含REST,你会有更多的运气。你可以先看看https://stackoverflow.com/questions/3959851/using-rest-with-delphi

移动端可能会更棘手。如果你正在为多个设备开发,你可能希望探索PhoneGap的跨平台开发框架,因为似乎有一些项目旨在将本地数据库与云同步。如何将它们联系起来将是一个有趣的任务。

祝你好运!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接