我正在研究为我的 iOS 应用程序创建后端的不同选项。
.NET:我使用 Mac 进行开发,并且为 .NET 开发 pararrels 超级慢
Ruby on Rails:安装的痛苦和 Mavericks 的许多问题
PHP:我应该使用 PHP 吗?
NodeJS:处理 SQLIte 数据库的资源不多
其他选择?
Nodejs 非常适合开发 API。nodejs 标准模块非常简单,环境很快,而且它是一种正在快速普及的技术。它有一个很棒的包管理系统(npm),可以让你专注于你的应用程序而不是处理依赖地狱。
我建议您使用 expressjs 作为 Web 框架。用 express 做一个 REST API 真的很简单。基本上:
app.get('/users', function(req, res) {
doDatabaseSearch(function(err, result) {
if (err) return res.json(500, {error:'Internal error'})
res.json(result)
})
})
另一方面,您可以使用移动后端即服务,例如Backbeam、parse.com、kinvey 等,这样您就可以专注于您的应用程序,而不是将时间浪费在后端的东西上。
在 iOS 部分我推荐你使用AFNetworking作为 HTTP 库。或者,如果您使用第三方后端,则应使用其 SDK,例如 Backbeam 的:iOS SDK。
答案很大程度上取决于你想要做什么。由于我对您的应用程序了解不多,因此我将告诉您我使用过的内容。
我在 iOS 项目的后端使用 PHP 和 MySQL。我在 App Store 中有一个管理用户数据的应用程序,并且多年来一直运行强劲,流量活跃。
我在客户端上使用了开源库ASIHTTP(尽管我认为现在有一个更流行的库正在使用)与托管我的 PHP 文件的服务器进行通信。
为了让您了解入门的简单程度:
与 php 后端通信的 iOS 代码
-(void)login
{
NSString * link = [NSString stringWithFormat:@"http://myserver.com/login.php", sourceLink];
NSURL *url = [NSURL URLWithString:link];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setPostValue:username forKey:@"username"];
[request setPostValue:password forKey:@"password"];
[request setDelegate:self];
[request startAsynchronous];
}
用于接收用户登录凭据的 PHP 代码
<?php
$username = $_POST['username'];
$password = $_POST['password'];
// Do stuff with the username and password
?>
当然,必须完成卫生/验证/安全/等,但你明白了。