Бэкэнд-платформа для бедных sideproject с расширенными tagcheme
Я опытный сторонний разработчик (Backbone, Coffeescript) и дизайнер, практически не владеющий навыками в отношении бэкэнда. Я хочу создать побочный проект, не беспокоясь о настройке сервера или поддержке базы данных. Проект должен быть как можно более бережливым и менее временным, но иметь возможность реализовать какую-то аутентификацию пользователя, и важно, чтобы расширенная таблица меток была важна.
Я рассматриваю использование бэкэнд как сервисной платформы, например http://parse.com или http://stackmob.com но все еще задаются вопросом, есть ли лучшие способы реализации проекта, который я имею в виду. Учитывая мое описание ситуации: какую платформу/структуру/стек вы бы порекомендовали?
Ответы
Ответ 1
Полное раскрытие информации - я - евангелист платформы в StackMob; -)
Проект, который вы описываете, очень подходит для того, что предлагает StackMob. Наша цель - повысить производительность разработчиков. Не требуется настройка сервера, и вы можете создать свой API из своего интерфейса в нескольких строках кода JavaScript. Наш SDK с открытым исходным кодом построен на основе backbone.js.
Пример кода примера для объявления вашей модели и создания вашей схемы будет выглядеть следующим образом.
var ToDo = StackMob.Model.extend({schemaName:'todo'});
var todo = new ToDo({action : 'take out the trash'});
todo.create({
success: function(model){
// do something
},
error: function(error) {
//alert user of error
}
});
Метод create вызывает вызов RESTful для StackMob и передает объект. Мы делаем вывод о том, какой тип данных передается и создаем вашу схему.
StackMob предлагает большую гибкость среди других игроков в этом пространстве. Мы поддерживаем пользовательский код, поэтому вы можете писать пользовательскую бизнес-логику в Java, Scala или Clojure, упаковывать ее как файл JAR и загружать на серверы StackMob. Затем вызовите пользовательский метод, выполните код и верните ответ JSON.
Мы также интегрируем с Github, чтобы вы могли автоматически развертывать ваши приложения HTML5 на серверах StackMob и удалять любую необходимость размещения вашего приложения в другом месте.
Сообщите мне, есть ли у вас дополнительные вопросы о StackMob.
Ответ 2
Команда на Parse.com очень отзывчива, документы в порядке, чтобы вы начали (я уверен, что она будет расти), и я уверен, что вы можете делать то, что хотите, с точки зрения тегов - см. мой другие вопросы для использования класса Parse.Relation.
Я не пробовал StackMob, но хорошо слышал об этом.
Meteor.com станет следующей вещью, которую я попробую, если Parse не справится со мной: P Кривая обучения близка к нулю с помощью этой монгольской (гибкой схемы) BaaS:), особенно, поскольку вы уже знакомы с Backbone.
Я играю с Parse с 3 недель, не стесняйтесь задавать более подробные вопросы!
Ответ 3
Я также рекомендую взглянуть на Cloud CMS (http://www.cloudcms.com).
Полное раскрытие информации - я являюсь одним из основателей Cloud CMS. Поэтому я большой поклонник. Плюс, я думаю, это потрясающе.
Наша платформа полностью построена на JSON и JSON Schema для моделирования контента. Вы просто пишете контент, и он сразу же версируется, индексируется и доступен для запроса и полнотекстового поиска. Наш хранилище данных полностью соответствует моделированию контента (типам, свойствам, ассоциациям, аспектам) и проверке. В принципе, мы стараемся обрабатывать все тяжелые вещи, чтобы вы могли просто получить кодировку.
Мы предоставляем драйверы для собственных устройств, а также JavaScript/HTML5, Java и других языков. В нашем JavaScript-драйвере реализована асинхронная цепочка, так что код становится очень простым. Вот так:
// define an article using JSON schema
branch.create({
"qname": "custom:article",
"properties": {
"header": {
"type": "string"
},
"rating": {
"type": "number",
"minValue": 0
},
"author": {
"type": "string"
}
}
});
// create an article
branch.createNode({
"_type": "custom:article",
"header": "Pink Floyd Reunites for World Tour!",
"rating": 50,
"author": "gilmour"
});
// search for articles using full-text search
branch.searchNodes("Pink Floyd").each(function() {
$('body').append("Found an article: " + this.get('header') + "<br/>");
});
// query for articles with structured MongoDB query
branch.queryNodes({
"author": "gilmour",
"rating": {
">": 40
}
}).count(function(count) {
$('body').append("There were: " + count + " total articles");
});
Это пример. Там гораздо больше доступно на веб-сайте.
Cloud CMS заслуживает внимания, потому что это настоящая платформа контента, построенная поверх JSON, MongoDB и чистой облачной архитектуры. Он хорошо масштабируется, но также обладает множеством функций корпоративного класса большого старого дорогого программного обеспечения. Мы действительно хотим снизить издержки, и поэтому мы решили пойти с чистой моделью выставления счетов (как полезность, вроде вашего счета за электроэнергию).