4

我对 IOS 开发非常陌生。我想知道每个人都使用哪种语言/框架来为高流量、可扩展的 IOS 应用程序后端创建 RESTFUL Web 服务。

解决方案需要: 1. 安全登录 2. Restful web services (JSON) 3. 高流量 4. 文件上传/下载 5. 大容量数据库快速搜索结果

我来自 .NET 和 MSSQL 背景。我听说人们正在使用 PHP、Java、Python、RoR 和 IOS 网络服务开发。我明白每种语言都有利有弊,只是想知道当今趋势中更喜欢什么。

对于数据库,NoSQL 数据库是否比 RDBMS 更适合可扩展的大容量数据库?我正在检查 MongoDB。

如果我问错了问题,我深表歉意。我正在研究这个新项目的技术,任何意见都将不胜感激!

谢谢

4

2 回答 2

3

我参与过三个主要项目,它们都有桌面客户端、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 可能是您最好的朋友。

于 2012-05-28T10:55:46.300 回答
1

这些都是加载的问题,如果没有更多关于你正在做什么等的信息,就无法回答。我在我的大多数项目中使用 Ruby 与 Sinatra 和 DataMapper(以及 SQLite/PostgreSQL)的组合,但这是我个人的偏好并且可能对您没有太大帮助。

与其根据趋势选择技术堆栈,不如直接选择具有良好用户基础的产品寻求帮助并从那里着手?

于 2012-05-28T00:50:58.337 回答