我在数据库服务器上有一个数据库。没有可供 Web 应用程序使用的 Web 服务。
如果我希望我的 iOS 应用程序与数据库服务器通信(发送和接收数据),我知道我可以创建一个 Web 服务,然后从我的 iOS 应用程序调用该服务。但是为此推荐什么网络服务?我应该只在 .NET 中编写一个 .asmx Web 服务,还是应该使用 MVC WEB API 或者可能使用 WCF?我花了几个小时对此进行研究。请帮忙。
我在数据库服务器上有一个数据库。没有可供 Web 应用程序使用的 Web 服务。
如果我希望我的 iOS 应用程序与数据库服务器通信(发送和接收数据),我知道我可以创建一个 Web 服务,然后从我的 iOS 应用程序调用该服务。但是为此推荐什么网络服务?我应该只在 .NET 中编写一个 .asmx Web 服务,还是应该使用 MVC WEB API 或者可能使用 WCF?我花了几个小时对此进行研究。请帮忙。
很大程度上取决于您希望将服务托管在哪里,以及主机支持哪些技术堆栈。如果您是自托管的,那么在您了解和理解的技术中做任何有效的事情。如果您想使用针对中小型独立开发团队提供服务的主机,Heroku 等许多提供商都支持 Rails 服务等服务。PHP 也始终是一种选择。基于 Microsoft 的解决方案和基于 Java 的解决方案往往更广泛地用于大型企业和数据中心,如果您将在那里托管您的服务,那么这些也是不错的选择。当然,我在这里泛泛而谈:对于我可能在此处列出的任何一般趋势,都有很多例外,其他方法也有意义。
如果您宁愿让决定由使您的 iOS 代码最简单的事情来驱动,我建议您从支持 REST-ful 接口的服务器端技术开始,使用 JSON 来表示您的服务资源。REST-ful 服务很容易在 iOS 中使用,基于 JSON 的资源表示很容易在 Objective-C 中解析和生成。
我个人使用这种方法为我的应用程序设定方向。对于服务端,我将使用 REST-ful Web 服务的 Rails 实现。我是一名专业的 Java 开发人员,但对于一个小型独立项目,托管 Java 服务的选项比使用 Rails 更受限制,所以我选择了 Rails 来让我的项目工作。到目前为止,它非常适合我的项目。