我参与过三个主要项目,它们都有桌面客户端、Web 客户端和移动客户端(Android、iOS)。3 完成了不同的服务器端方法,所有这些都让我和用户感到高兴:
项目 1:
服务器: Delphi + RemObjects
客户端: Delphi 桌面应用程序、PHP Web 应用程序、Java 小程序、Android 应用程序、iOS 应用程序
为什么选择 Delphi?由于现有项目已经是Delphi多层应用程序,开发团队拥有Delphi平台领域,使用RemObjects(甚至使用标准DataSnap)很容易返回JSON,SOAP或XML-RPC供客户调用;
项目 2:
服务器: PHP
客户端: ExtJS Web 应用程序、Android 应用程序、iOS 应用程序
为什么选择 PHP?开发团队在 PHP 方面经验丰富,这些项目最初是一个 PHP Web 应用程序,其中一些类定义良好,并且没有与 UI 耦合。服务器中的一些新类重用了现有的代码库,只需转换为 JSON 或从 JSON 转换就足以让客户端以最小的努力与服务器对话。
项目 3(初始开发):
服务器: C# ASP.NET
客户端: ASP.NET 应用程序、Android 应用程序、iOS 应用程序
为什么选择 C#?再次重申:开发团队在 C# 和 ASP.NET 方面经验丰富,这些项目最初是一个 ASP.NET 应用程序。我们正在将一些应用程序逻辑重构为 Web 服务,供 ASP.NET 应用程序和客户端使用。
如您所见,没有必要让团队在服务器端学习全新的东西。
我建议您利用您当前的技能,继续使用 MSSQL 在 .NET 中进行开发。
如果应用程序流量增加,您可以将服务器应用程序移动到支持 SQLServer 的 IaaS 服务器(如 Amazon AWS EC2),或者甚至更好地移动到 PaaS 服务器,在这种情况下,Windows Azure 可能是您最好的朋友。