В настоящее время существуют не только веб-службы, но и надежные системы, предоставляющие способ на стороне сервера некоторой логики в ваших приложениях. Они называются поставщиками BaaS или Backend as a Service, обычно для обеспечения некоторой основы для ваших интерфейсных приложений. .
Хотя они имеют множество применений, я собираюсь перечислить наиболее распространенные, на мой взгляд:
Для мобильных приложений. Вместо изучения API для каждого устройства, для которого вы пишете код, вы можете использовать стандартную платформу для хранения логики и данных для своего приложения.
Для прототипирования. Если вы хотите создать красивое приложение, но не хотите кодировать всю внутреннюю логику для данных — за исключением всех операций и системного администрирования, которые представляют — через BaaS-провайдеру вам нужны только хорошие навыки Front End для кодирования самых простых CRUD-приложений, которые вы только можете себе представить. Некоторые BaaS даже позволяют привязывать некоторые алгоритмы сокращения для вызова вашей работы с их API.
Для веб-приложений. Когда PaaS (Платформа как услуга) пришла к Town, чтобы облегчить работу бэкенд-разработчикам, чтобы избежать проблем с системным администрированием и эксплуатацией, было просто логично, что то же самое должно было случиться с бэкэндом. Существует множество клонов, демонстрирующих реальную силу этой стратегии.
Все это удивительно, но я еще не упомянул ни об одном из них. Я собираюсь перечислить те, которые я знаю больше всего и действительно использовал в проектах. Наверняка их много, но, насколько я знаю, эта удовлетворила большую часть моих новостей, будь то любая из ранее упомянутых.
Самые выдающиеся функции Parse предназначены для мобильных устройств; однако в настоящее время Parse содержит невероятное количество API, которые позволяют использовать его в качестве полнофункциональной серверной службы для приложений Javascript, Android и даже Windows 8 (Windows 8 SDK был представлен несколько месяцев назад в этом году).
Как код Parse выглядит в Javascript?
Parse работает через классы и объекты (правда, красиво?), поэтому вы сначала создаете определенный класс (это можно сделать с помощью Javascript, REST или даже диспетчера Data Browser), а затем добавляете объекты в определенные классы.
Во-первых, добавьте Parse в качестве тега скрипта в javascript:
<script type="text/javascript" src="http://www.parsecdn.com/js/parse-1.1.15.min.js"></script>
Затем с помощью заданного идентификатора приложения и ключа Javascript инициализируйте Parse.
Parse.initialize("APPLICATION_ID", "JAVASCRIPT_KEY");
Оттуда это все манипуляции с объектами
var Person = Parse.Object.extend("Person"); //Person is a class *cof* uppercase *cof*
var personObject = new Person();
personObject.save({name: "John"}, {
success: function(object) {
console.log("The object with the data "+ JSON.stringify(object) + " was saved successfully.");
},
error: function(model, error) {
console.log("There was an error! The following model and error object were provided by the Server");
console.log(model);
console.log(error);
}
});
А как насчет аутентификации и безопасности?
Parse имеет систему аутентификации на основе пользователей, которая в значительной степени позволяет вам хранить базу пользователей, которые могут манипулировать данными. Если сопоставить данные с информацией о пользователе, вы можете гарантировать, что только данный пользователь может управлять определенными данными. Кроме того, в настройках вашего приложения Parse вы можете указать, что клиентам не разрешено создавать классы, чтобы гарантировать выполнение ненужных вызовов.
Вы ДЕЙСТВИТЕЛЬНО использовали веб-приложение?
Да, это был мой любимый инструмент для прототипа средней точности.
Главной особенностью Firebase является возможность без лишних хлопот обеспечить работу вашего приложения в режиме реального времени. Вам не нужен сервер MeteorJS, чтобы отправлять push-уведомления в ваше программное обеспечение. Если вы знаете Javascript, вы уже на полпути к тому, чтобы подарить своим пользователям магию реального времени.
Как выглядит Firebase в Javascript?
Firebase работает по принципу REST, и я думаю, что они отлично справляются со структурированием Слава REST. В качестве хорошего примера посмотрите на следующую структуру ресурсов в Firebase:
https://SampleChat.firebaseIO-demo.com/users/fred/name/first
Вам не нужно быть ученым-ракетчиком, чтобы знать, что вы извлекаете имя пользователя «Фред», учитывая, что есть хотя бы одно — обычно вместо имени должен быть UUID, но эй, это пример, дайте мне перерыв-.
Чтобы начать использовать Firebase, как и в случае с Parse, добавьте свой CDN Javascript
<script type='text/javascript' src='https://cdn.firebase.com/v0/firebase.js'></script>
Теперь создайте эталонный объект, который позволит вам использовать Firebase API.
var myRootRef = new Firebase('https://myprojectname.firebaseIO-demo.com/');
Оттуда вы можете создать кучу аккуратных приложений.
var USERS_LOCATION = 'https://SampleChat.firebaseIO-demo.com/users';
var userId = "Fred"; // Username
var usersRef = new Firebase(USERS_LOCATION);
usersRef.child(userId).once('value', function(snapshot) {
var exists = (snapshot.val() !== null);
if (exists) {
console.log("Username "+userId+" is part of our database");
} else {
console.log("We have no register of the username "+userId);
}
});
А как насчет аутентификации и безопасности?
Вам повезло! Firebase выпустила API безопасности около двух недель назад! Мне еще предстоит изучить его, но я уверен, что он заполняет большинство пробелов, которые позволяли случайным людям использовать вашу ссылку в своих целях.
Вы ДЕЙСТВИТЕЛЬНО использовали веб-приложение?
Эээм... ладно, нет. Я использовал его в расширении Chrome! Это все еще в процессе, но это будет чат в реальном времени внутри расширения Chrome. Разве это не круто? Отлично. Я нахожу это крутым. В любом случае, вы можете просмотреть другие замечательные примеры для Firebase на их странице примеров.
В чем магия этих сервисов? Если вы прочитали ваше внедрение зависимостей и Тестирование фиктивных объектов, в какой-то момент вы сможете полностью заменить все эти сервисы своими собственными с помощью поставщика веб-сервисов REST.
Поскольку эти службы были созданы для использования внутри любого приложения, они готовы к CORS. Как указывалось ранее, я успешно использовал их оба из нескольких доменов без каких-либо проблем (я даже пытаюсь использовать Firebase в расширении Chrome, и я уверен, что скоро добьюсь успеха).
И в Parse, и в Firebase есть менеджеры Data Browser, что означает, что вы можете видеть данные, с которыми работаете, через простой веб-браузер. В качестве окончательного заявления об отказе от ответственности я не имею никакого отношения ни к одному из этих сервисов, кроме лица, которое Джеймс Таплин (Firebase Co- основатель) был достаточно замечательным, чтобы предоставить мне бета-доступ к Firebase.
person
jjperezaguinaga
schedule
26.12.2012