我有一个运行PHP和MySQL的网络应用程序。
我需要开发一个桌面应用程序,只要客户端的计算机连接到Internet,它就会同步来自云数据库的数据。如果客户端的计算机未连接到Internet,则桌面应用程序将使用本地DB继续脱机工作。本地数据库显然是云数据库的副本。
我不想使用Microsoft c#来创建桌面应用程序。桌面应用程序需要跨平台,并且应该在Windows,Mac和Linux上运行。
我已经使用XAMPP创建了一个本地MySQL数据库,并且已经实现了本地应用程序与云应用程序同步。但是,这种方法存在多个问题。
- 每当我的客户需要安装本地应用程序时,他们需要打电话给我,我必须在他们的计算机上安装XAMPP,设置服务器,设置本地数据库并准备与他们的帐户同步云数据库。他们显然不懂科技,所以他们不知道如何自己做。
- 如果客户端格式化他的计算机,他们会一次又一次地打电话给我,我必须一直为他们设置,这在长期内不可扩展。
- 当其他进程正在运行并使用公共端口时,XAMPP不起作用。示例 - 运行Skype,Quickheal和其他防病毒软件将阻止SQL Server启动。有时会发生的事情是,即使我安装了本地应用程序,客户端也会安装防病毒软件或其他工具,我的本地应用程序将停止在他们的计算机上运行。
因此,我需要取消XAMPP并切换到其他东西。
SQLite是无用的,因为它是无服务器的。我也不想使用.NET。我正在寻找的是这个
我想开发数据库驱动的本地应用程序并以某种方式打包它。我想提供一个安装程序文件,它将自动安装数据库服务器,设置数据库和其他所有内容。客户端只会登录本地应用程序中的系统,而不必设置任何服务器。每当互联网连接恢复时,他所做的所有工作都将与云服务器同步。
请注意,涉及主从工作。客户端将有多台终端计算机使用其他终端的主系统,所有这些终端计算机将使用主计算机中安装的本地数据库。
我试图用下面的图表说明这个
最好的方法是什么?