我是IOS开发的新手。我想知道每个人都使用哪种语言/框架来为高流量,可扩展的IOS应用程序后端创建RESTFUL Web服务。
解决方案要求: 1.安全登录 2. Restful Web服务(JSON) 3.高流量 4.文件上传/下载 5.来自大容量数据库的快速搜索结果
我来自.NET和MSSQL背景。我听说人们正在使用PHP,Java,Python,RoR和IOS webservice开发。我理解每种语言都有利有弊,只想知道今天的趋势是什么。
对于数据库,对于可扩展的大容量数据库,NoSQL数据库是否比RDBMS更受欢迎?我正在检查MongoDB。
如果我提出错误的问题,请道歉。我正在调查这个新项目的技术,我们将非常感谢任何意见!
由于
答案 0 :(得分:3)
我曾在三个主要项目中工作过,他们都拥有桌面客户端,网络客户端和移动客户端(Android,iOS)。 3已经完成了不同的服务器端方法,所有这些都让我和用户满意:
项目1: 服务器: Delphi + RemObjects 客户端:Delphi桌面应用,PHP Web应用,Java applet,Android应用,iOS应用 为什么选择Delphi?因为现有项目已经是Delphi多层应用程序,开发团队拥有Delphi平台域,使用RemObjects(甚至使用标准DataSnap)可以轻松返回JSON,SOAP或客户端调用的XML-RPC;
项目2: 服务器: PHP 客户端:ExtJS网络应用,Android应用,iOS应用 为什么选择PHP?开发团队对PHP经验丰富,这些项目最初是一个PHP Web应用程序,其中一些类定义良好且不与UI结合。服务器中重用现有代码库的一些新类,只需转换为/从JSON转换就足以让客户端以最小的努力与服务器通信。
项目3(初步开发): 服务器: C#ASP.NET 客户端:ASP.NET应用,Android应用,iOS应用 为什么选择C#?再次:开发团队在C#和ASP.NET方面经验丰富,项目最初是一个ASP.NET应用程序。我们正在将一些应用程序逻辑重构为将为ASP.NET应用程序和客户端使用的Web服务。
如您所见,没有必要让团队在服务器端学习一些全新的东西。
我建议您使用MSSQL继续使用MSSQL开发.NET,并充分利用您当前的技能。
如果应用程序流量增加,您可以将服务器应用程序移动到支持SQLServer的IaaS服务器(如Amazon AWS EC2),甚至更好地移动到PaaS服务器,在这种情况下,Windows Azure可能是您最好的朋友。< / p>
答案 1 :(得分:1)
这些都是加载的问题,如果没有关于你正在做什么的更多信息就无法回答等等。我在我的大部分项目中都使用Ruby与Sinatra和DataMapper(以及SQLite / PostgreSQL)的组合,但那是我个人的偏好,可能对你没什么帮助。
不是选择基于趋势的技术堆栈,为什么不选择具有良好用户群的东西来寻求帮助并从那里开始呢?