我是一位经验丰富的前端开发人员(Backbone,Coffeescript)和设计师,在后端工作方面几乎没有任何技能.我想构建一个sideproject,而不必担心设置服务器或维护数据库.项目必须尽可能精简且耗时少,但能够实现某种用户身份验证和高级标签方案将非常重要.
我正在考虑使用后端作为服务平台,如http://parse.com或http://stackmob.com,但仍然想知道是否有更好的方法来实现我想到的项目.鉴于我对情况的描述:您会推荐哪个平台/框架/堆栈?
在我的iOS应用程序中,我正在尝试更新数据库中的用户信息(使用Stackmob),但我不断收到"无法识别的选择器发送到实例".
- (IBAction)save:(UIButton *)sender {
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"User"];
NSPredicate *predicte = [NSPredicate predicateWithFormat:@"username == %@", self.username];
[fetchRequest setPredicate:predicte];
[self.managedObjectContext executeFetchRequest:fetchRequest onSuccess:^(NSArray *results) {
NSManagedObject *todoObject = [results objectAtIndex:0];
[todoObject setValue:@"example@gmail.com" forKey:@"email"];
[self.managedObjectContext saveOnSuccess:^{
NSLog(@"You updated the todo object!");
} onFailure:^(NSError *error) {
NSLog(@"There was an error! %@", error);
}];
} onFailure:^(NSError *error) {
NSLog(@"Error fetching: %@", error);
}];
}
Run Code Online (Sandbox Code Playgroud)
这是我得到的完整错误:
-[NSNull length]: unrecognized selector sent to instance 0x1ec5678
2013-07-21 12:01:25.773 [29207:c07] *** Terminating app due to uncaught …
Run Code Online (Sandbox Code Playgroud) 我目前正在使用Parse开发一个应用程序,我想开始抽象他们的SDK,因为我不知道我是否以及何时将其他提供商或我们的后端替换为另一个.
另一个动机是分离问题:我的所有应用程序代码将使用相同的框架,而我可以更新任何后端细节的框架.
我首先创建了一些泛型类来替换它们的主类.此泛型类定义每个适配器必须实现的协议.然后我有一个Parse适配器,可以将调用转发给Parse SDK.
我可以预测的一些问题是,这需要很多不同的类.在某些情况下,例如Parse,他们也有用于处理Facebook的课程.或者某些部分的架构可能如此不同,以至于没有共同点可以允许这样的东西.
我实际上从未和Stackmob一起走过这么远,因为我和Parse一样,所以我猜第一个版本将分享Parse自己的架构.
我已经开始使用Stackmob了.我按照提供的说明将stackmob添加到我的项目中,然后关闭添加的那些文件上的所有ARC,然后我收到链接器错误.
"clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)"
有人遇到过同样的问题吗?一旦我从项目中删除stackmob,它就会再次编译.
我们在Appcelerator中完成了一个非常基本的应用程序(iOS/Android),每周都会收到一次更新.此更新将发送给订阅推送通知服务的所有用户.
到目前为止,我们上个月在此应用程序上安装了约35,000个活动用户,但有7,000名活跃用户.我们一直在为所有推送通知评估两种服务:
Appcelerator云服务很好,但我们不愿意支付那么多.Parse和StackMob的价格低于Appcelerator Cloud服务,通过我们的分析,我们甚至可以在两种服务上使用免费服务(StackMob = 60k推送通知+ 60k api调用,Parse 1M api调用+ 1M推送).
如果我们要使用Parse,我们需要从Marketplace购买Android和iOS模块(每个30美元/年).哪个好.在对应方面,我认为我们可以使用StackMob上的REST API来订阅推送服务.
问题:
提前致谢.
我在Appcelerator论坛上问了同样的问题.过了一段时间,用户回来时有几个答案和用户使用Parse.com.
我结束了Parse.com的实现,使用Appcelerator Market上的Android和iOS插件非常简单.
您建议将什么作为手机应用程序的后端使用,只需要允许登录,保存一些用户数据并发送通知?
我一直在搜索Apple的Predicate Programming Guide和SO,试图确定为某个获取请求编写谓词的正确方法.
看起来我尝试使用点符号来遍历关系的方式似乎没有得到请求的尊重.
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Task" inManagedObjectContext:context];
[fetchRequest setEntity:entity];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"project.user == %@", self.user];
[fetchRequest setPredicate:predicate];
Run Code Online (Sandbox Code Playgroud)
用户,项目和任务都是映射到BaaS提供商(StackMob)的核心数据实体.
关系如下:用户 一对多 项目 一对多 任务与您期望的反向关系.我要做的是获取当前登录用户的所有任务.所以,我的想法是:发送一个带有实体"任务"的获取请求.拥有该任务的项目由登录用户拥有,获取该任务并显示它.很简单.
我想我应该能够在上面显示的谓词中使用点符号,但是获取请求返回nil.
关于获取请求的其他所有内容都很好.如果我将格式字符串更改为@"project != NULL"
,我将恢复所有任务.
我只是错误地写了我的格式字符串吗?向StackMob发送获取请求时,点符号在某种程度上无效吗?
一如既往,非常感谢任何帮助.
如果需要更多信息,请告诉我.我现在有点太接近这一点,看得很清楚.
我正在布局基本结构,刚开始创建模型.问题是在模型中丢失了对初始化Stackmob的引用.
main.js
require(['modernizr','jquery','backbone', 'underscore', 'routers/router', 'stackmob'], function(Modernizr, $, Backbone, _, Router, Stackmob) {
StackMob.init({
appName: {appName},
clientSubdomain: {clientSubdomain},
apiVersion: 0
});
// Instantiates a new Router
this.router = new Router();
});
Model.js
define(['jquery', 'backbone', 'stackmob', 'models/business'], function($, Backbone, Stackmob, Business) {
var BusinessesCollection = StackMob.Collection.extend({
model: Business,
// Model Constructor
initialize: function() {
}
});
// Returns the Model class
return BusinessesCollection;
});
Run Code Online (Sandbox Code Playgroud)
如何让初始化的StackMob对象可供模型模块访问?
当我尝试在浏览器上运行此代码时,我收到以下错误."错误响应错误代码:501消息:不支持的方法('POST').错误代码说明:501 - 服务器不支持此操作."
浏览器控制台中存在以下错误:
"1.无法加载资源:服务器响应状态为404(找不到文件)
'http://localhost:8002/js/jquery-1.3.2.min.js'
Run Code Online (Sandbox Code Playgroud)
无法加载资源http://mdsad.com/p.js?v=1372783767755 undefined login.html:61 POST
http://localhost:8002/login.html 501 (Unsupported method ('POST')) login.html:1
Run Code Online (Sandbox Code Playgroud)
资源解释为脚本,但使用MIME类型text/plain:pquery-0.0.1.js:1进行传输
通过stackmob登录用户也会失败.我收到了"失败"警报消息.这是代码:
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script type="text/javascript" src="http://static.stackmob.com/js/stackmob-js-0.9.1-bundled-min.js"></script>
<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Login Form</title>
<link href="css/style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
$(document).ready(function() {
$(".username").focus(function() {
$(".user-icon").css("left","-48px");
});
$(".username").blur(function() {
$(".user-icon").css("left","0px");
});
$(".password").focus(function() {
$(".pass-icon").css("left","-48px");
});
$(".password").blur(function() {
$(".pass-icon").css("left","0px");
});
});
</script>
<script type="text/javascript">
function nextpage(form){
StackMob.init({
publicKey:"my_key",apiVersion:0
});
var u=document.getElementById('username').value;
var p=document.getElementById('password').value;
var …
Run Code Online (Sandbox Code Playgroud) StackMob文档让我们知道如何正确执行查询:https://developer.stackmob.com/tutorials/android/Query-an-Object
我的问题是Java在查询的内部类中实际提取这些信息的正确方法是什么?
MyObject valueToReturn;
MyObject.query(MyObject.class,
new StackMobQuery().field(
new StackMobQueryField(field).isEqualTo(val)),
new StackMobQueryCallback<MyObject>() {
@Override
public void failure(StackMobException arg0) {
//nothing to see here.
}
@Override
public void success(List<MyObject> arg0) {
//
//How do I set valueToReturn = arg0.get(0)?
//or in any way access this list outside the
//inner class.
return;
}
});
Run Code Online (Sandbox Code Playgroud)
这里似乎有一个解决方案,但肯定有更好的方法. /sf/answers/418450651/
我正在学习如何在StackMob中设置iPhone应用程序项目的教程.这是指令:
"在项目的某个地方,例如项目的.pch文件,导入SystemConfiguration和MobileCoreServices框架."
StackMob提供了一组基础文件,一种示例应用程序.我应该在这些文件中查找.pch文件?
stackmob ×11
ios ×4
objective-c ×4
android ×1
appcelerator ×1
backbone.js ×1
backend ×1
cordova ×1
iphone ×1
java ×1
javascript ×1
nspredicate ×1
parsing ×1
pubnub ×1
requirejs ×1
wrapper ×1
xcode ×1