- PVSM.RU - https://www.pvsm.ru -
Привет!
Пост будет интересен тем, кого интересует, как выиграть время при разработке мобильных, десктопных или браузерных приложений. Данная информация поможет вашим приложениям быть более функциональными и выходить в мир в разы быстрее.
(Осторожно: под катом много примеров простого кода. Любителям «велосипедов» читать не рекомендуется. После роста популярности данного сервиса ожидается ликвидация угрозы глобального потепления массовое сокращение депрессий от рутинных задач при написании серверной части.)
Backendless [1] – платформа бэкенд как сервис (Backend as a Service), которая предоставляет готовую облачную серверную инфраструктуру для всех типов приложений. Это позволяет разработчикам, стартапам и крупным компаниям выигрывать время и деньги, отказавшись от разработки своего сервера, и сфокусироваться на функциональности приложений, их продвижении и пользователях (улучшении UX). АПИ платформы доступны через нативные СДК для следующих клиентских окружений: JavaScript, Android, iOS, Windows Phone, Flex/AIR. Все АПИ также доступны через REST.
Идея в том, что имеются готовые серверные сервисы, набор которых вместе складывают необходимый универсальный кросс-платформенный бэкенд для любого проекта. И это позволяет избавиться от головной боли написания и поддержки своего серверного бэкенда.
А зачем, если можно не париться с хостингом, сервером и командой гиков [4] дальнейшей его поддержкой для каждого приложения или заказчика.? Создавать приложения любят все, а ковырять скучный серверный код и админить серверную часть тоскливо и муторно.
Для чего:
BaaS потенциальный стандарт индустрии для
Для кого:
Разработчики, стартапы, цифровые агентства и контент провайдеры, системные интеграторы, издатели приложений, энтерпрайз компании.
Функционал платформы:
User Management API (управление пользователями) – обеспечивает для приложения регистрацию и логин пользователей, восстановление пароля или апдейты учетной записи кросс-платформенно.
Пояснение: сервис по управлению пользователями отвечает за 2 основные функции — регистрация пользователей, а также их авторизация. Больше не нужно писать проверки существует ли пользователь, поддерживать сессии, отправлять имейлы при разных событиях, создавать управление доступом для пользователей. Для этой задачи существует много бизнес правил, что позволяет очень гибко настроить управление пользователями для того, чтобы удовлетворить все потребности.
Примеры кода:
{
Backendless.UserService.login(
”james.bond@mi6.co.uk",
”i.am.bond",
asyncCallback );
}
{
[backendless.userService login:
@”james.bond@mi6.co.uk"
password:@”i.am.bond"
responder:responder];
}
{
Backendless.UserService.login(
”james.bond@mi6.co.uk",
”i.am.bond",
responder );
}
Data Service API (реляционные данные) – обеспечивает хранение данных пользователей. Приложения могут хранить, обновлять, удалять данные и осуществлять поисковые запросы.
Пояснение: с сервисом можно работать не имея никаких знаний о базах. Платформа позволяет создавать свои таблицы и связи между ними при помощи АПИ. На клиенте достаточно создать структуру данных, при вызове метода СДК сервер создаст нужные таблицы и свяжет их между собой. Либо это можно сделать с помощью интуитивного пользовательского интерфейса через веб-консоль.
Примеры кода:
{
Person person = new Person(
"Bob", 35, "bobby@gmail.com");
Backendless.Persistence.of( Person ).save( person, asyncCallback );
}
{
Person *person = [Person new];
person.name = @"Bob";
person.email = @"bobby@gmail.com";
id <IDataStore> dataStore =
[backendless.persistenceService of:
[Person class]];
[dataStore save:person responder:resp];
}
{
var person = new Person(
"Bob", 35, "bobby@gmail.com");
Backendless.Persistence.of( Person ).save( person, responder );
}
Publish/Subscribe Messaging API (сообщения) – клиентские приложения могут обмениваться сообщениями в режиме реального времени путем создания Издателей (Publishers) и Подписчиков (Subscribers).
Пояснение: Сообщением может быть любые произвольные (дискретные) данные. Эта функция полезна при разработке игр, чатов и приложений требующий транслирование данных (data broadcast) или p2p доставку. Отсылка push уведомлений и in-app сообщения мобильным пользователям.
Примеры применения: чат, синхронизация клиентских приложений, уведомление пользователей о чем либо.
Примеры кода:
{
Backendless.Messaging
.subscribe( ”myChannel",
methodCallback,
subscriptionCallback );
}
{
subscription = [backendless.messagingService
subscribe:@"myChannel"
subscriptionResponder:responder
subscriptionOptions:subscriptionOptions];
}
{
Backendless.Messaging
.subscribe( "private_channel",
methodResponder,
subscriptionResponder );
}
Push Notifications API (уведомления) – это подраздел сообщений, но с нативной интеграцией доставки сообщения мобильному устройству как push уведомления. Поддерживаются для iOS, Android и Windows Phone.
Примеры кода:
{
Backendless.Messaging
.publish( "Hello!",
new DeliveryOptions(
PushBroadcastMask
.ANDROID ));
}
{
PublishOptions *p = [PublishOptions new];
[p addHeader:@"Name" value:@"Anonymous"];
MessageStatus *res = [backendless.messagingService
publish:@"myChannel"
message:@"Hello!" publishOptions:p
deliveryOptions:[DeliveryOptions
deliveryOptionsForNotification:PUSHONLY]];
}
{
Backendless.Messaging
.publish( "Hello!",
new DeliveryOptions(
PushBroadcastMask
.ANDROID ));
}
Geolocation API (геолокация) – приложения могут регистрировать географические координаты (гео точки) с дополнительными метаданными на сервере и впоследствии осуществлять поисковые запросы для других точек по метаданным в пределах заданного радиуса или квадрата.
Возможные примеры применения в повседневной жизни:
Примеры кода:
{
Backendless.Geo.getPoints(
new BackendlessGeoQuery(
"city", ”Kiev" ),
asyncCallback );
}
{
BackendlessGeoQuery *query = [BackendlessGeoQuery query];
[query metadata:[NSDictionary
DictionaryWithObjectsAndKeys:
@"Moscow", @"city", nil]];
[backendless.geoService getPoints:query
responder:responder];
}
{
Backendless.Geo.getPoints(
new BackendlessGeoQuery(
"city", ”Dallas" ),
responder );
}
Media Services API (медиа потоки) – набор сервисов обеспечивающих “проигрывание по запросу” и живое потоковое видео и аудио. Приложения могут публиковать потоки с видеокамеры и микрофона для записи или живого вещания. Записанное медиа (видео или аудио) и живые стримы можно воспроизводить на других клиентах.
Пояснение: Медиа сервис позволяет стримать видео или аудио с клиентского приложения на сервер и воспроизводить этот поток на других устройствах. Так же можно воспроизводить медиа контент загруженый с помощью файл сервиса.
Примеры применения: видео-конференция, видео-чат, живая видео-трансляция одновременно с или на все устройства (с телефона, планшета, камеры ПК), запись видео или аудио сразу на сервер, живая аудио-трансляция (радио, музыка)
Примеры кода:
{
MediaPublishOptions *options = [MediapublishOptions
recordStream:self.preview];
[backendless.mediaService
publishStream:@”myVideoChannel"
tube:@”Funny Dance"
options:options responder:resp];
}
File Service API (хранилище контента) – поддерживает загрузку, общий доступ и скачивание файлов или блоков данных. Файлы/данные могут связываться с постоянными записями данных из сервиса реляционных данных, сообщениями и гео-точками.
Пояснение: Сервис по управлению файлами дает возможность заливать и получать доступ к файлам через консоль или клиентские СДК.
Примеры применения: хранение и управление контентом, стриминг залитого видео, обновление контента без необходимости обновлять приложение.
Примеры кода:
{
Backendless.Files.upload(
file, path, asyncCallback );
}
{
[backendless.fileService upload:path
content:content
responder:responder];
}
{
Backendless.Files.upload(
fileList,
”myFolder"),
responder );
}
Чем данная платформа лучше других [5]?
Версионность — с общими данными/таблицами между версиями – создав приложение вы можете сделать официальный релиз, а в это время работать над другой версией этого же приложения.
Живой стриминг аудио и видео: можно подключить видео чат, живую трансляцию, музыку, радио, клипы, все что хотите.
Фильтрация сообщений — работает фильтрация сообщений по саб-топикам, а так же можно задать фильтр в sql виде, так называемый селектор.
Поддерживаются flex/air клиенты — в наличии СДК для ActionScript. С помощью флэша приложение будет выглядеть на любом устройстве одинаково, и без танцев с бубном.
Коробочное решение — можно получить свой in-house Backendless из коробки. Крупные энтерпрайз клиенты могут развернуть платформу на своих собственных серверах только для себя.
Гибкое ценообразование и «жирный» бесплатный план — в фримиум входят: АПИ вызовы безлимитно, 2 GB дискового пространства, 200,000 publish/subscribe messages, 200,000 push notifications. Платить если и придется, то только за то, что будет непосредственно использоваться. Подробнее посмотреть и посчитать можно здесь [6] с помощью удобного калькулятора. Кроме того, пока платформа в бете, любые лимиты – формальная условность.
АПИ и вебконсоль — тщательно зашлифованы под разработчиков, потому что простоте и удобству уделяется максимум внимания.
Автомасштабируемость — платформа размещена на инфраструктуре Амазона и автоматически масштабируется при возникающих нагрузках: по месту и по используемой памяти. В случае превышения критического лимита при обработке запросов запускаются дополнительные виртуальные машины.
Как начать: регистрируемся [7] или заходим сразу в веб-консоль [8] разработчика через ФБ авторизацию, качаем СДК [9] с примерами, прописываем ключи для каждого СДК, пишем вызов к АПИ и все: ваш облачный бэкенд в вашем распоряжении.
В техподдержку можно присылать вопросы на русском. Офисы компании расположены в Штатах и Украине.
Автор: backendless
Источник [10]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/javascript/34793
Ссылки в тексте:
[1] Backendless: http://backendless.com
[2] уже здесь: http://apps4all.ru/articles/applications/printsipyi-sozdaniya-uspeshnyih-mobilnyih-prilojeniy.html
[3] хостингом: https://www.reg.ru/?rlink=reflink-717
[4] хостингом, сервером и командой гиков: http://habrahabr.ru/post/158157/
[5] других: http://habrahabr.ru/post/150729/
[6] здесь: http://backendless.com/pricing
[7] регистрируемся: http://backendless.com/create-app
[8] веб-консоль: http://backendless.com/develop/
[9] СДК: http://backendless.com/downloads/
[10] Источник: http://habrahabr.ru/post/180367/
Нажмите здесь для печати.