为 iOS 应用程序创建后端



我正在寻找为我的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。

最新更新