我正在寻找为我的iOS应用程序创建后端的不同选项。
.NET:我正在使用Mac进行开发,而Parareres为.NET开发的速度非常慢
Ruby on Rails:安装起来很痛苦,Mavericks有很多问题
PHP:我应该使用PHP吗?
NodeJS:处理SQL数据库的资源不多
其他选择?
答案在很大程度上取决于你想做什么。由于我对你的应用程序不太了解,我会告诉你我用过什么。
我在后端使用PHP和MySQL进行iOS项目。我在 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
?>
当然,必须完成卫生/验证/安全/等,但你明白了。
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的SDK:iOS SDK。