Статьи

Разбери соль пожалуйста

После долгих игр с Parse за последние несколько недель я решил поделиться некоторыми своими выводами.

Знакомство с Parse

Что такое парс? вопрос, который я даже задавал себе, пока я действительно не начал заглядывать за обложки. Если вы просто заглянете на домашнюю страницу, то, скорее всего, останетесь в беспорядке, думая, что это какой-то творческий помощник по дизайну или какой-то «мощный серверный провайдер» для ускорения ваших приложений (серьезно?)

Короче говоря, это облачная система баз данных с множеством встроенных инструментов / платформ и, безусловно, самый низкий барьер для поставщика входных данных, который я когда-либо видел.

Parse может предложить гораздо больше, чем просто это, но по своей сути он призван помочь вам обмениваться данными или выступать в качестве облачного хранилища данных. Что также делает его замечательным, так это то, что он имеет самую большую платформу, какую я когда-либо видел, почти каждый провайдер имеет свой собственный SDK, и, в довершение всего, есть даже клиент HTML / Javascript и полноценный REST API.

Вот что говорит подробная информация о компонентах Parse:

Разбирать данные

Храните данные вашего приложения в облаке. Серверы не нужны.

В основном ваша таблица в небе. Это система баз данных, но, как вы увидите ниже, ее возможности ограничены. Однако по какой-то причине это является самой мощной и одновременно простой системой хранения и поиска данных.

В сочетании с очень мощным веб-интерфейсом, который поможет вам управлять своим внутренним магазином для загрузки.

Parse Push

Создание, планирование и сегментирование push-уведомлений стало намного проще.

В основном все, что вы ожидаете от Push-уведомлений, но масштабируется для поддержки всех его поставщиков и расширенных функций планирования с конкретными возможностями таргетинга ».

Parse Social

Сделайте ваше приложение социальным. Мгновенно.

Все это действительно означает, что Parse поддерживает несколько сторонних библиотек ОС для социальных соединений и возможность понять, как они работают.

На самом деле, это самая умная вещь, которую они могли бы сделать вместо того, чтобы строить свою собственную, в конце концов, мы в мировом сообществе.

Разбор хостинга

Мощное присутствие в Интернете без каких-либо хлопот.

Хостинг веб-страниц, действительно ли вы ожидаете чего-то меньшего, заметьте, как его конкуренты ожидают платить больше за пользовательские домены.

Облачный код

Запустите пользовательский код приложения в Parse Cloud. Попрощайтесь с серверами.

Эта функция больше ориентирована на гибридные и веб-приложения, предлагая возможность размещения и запуска кода Javascript из серверной части.

Это очень похоже на пользовательский API Azure для создания динамического кода, если вы знакомы с этим, но не настолько полнофункциональны.

Начало работы с Parse

Как вы обнаружите в Parse, все построено на понимании того, что ВСЕ должно быть настолько простым, насколько это возможно для человека, особенно настройка сайта и начало работы.

Проходя, как только вы зарегистрируетесь и дойдете до панели инструментов, просто посмотрите, как просто настроить новое приложение:

образ

Дайте вашему приложению имя

образ

Готово, ваше приложение настроено (скажем, вахххх),

образ

Нажав на «Краткое руководство по началу работы», вы перейдете к информации, которая поможет запустить ваше приложение, будь то существующее приложение или совершенно новое.

образ

Выбор «Новое приложение» дает вам готовое приложение, предварительно настроенное для вашего сервиса, просто раскомментируйте точку запуска, чтобы включить Parse.

образ

Выбор «Существующее приложение» дает вам все инструкции, необходимые для установки SDK (все версии Windows на NuGet) и код, специфичный для вашего приложения, для его подключения.

Есть также несколько шагов для тестирования вашего приложения и его соединения с некоторыми фиктивными данными, если вы новичок в этом.

Полные заслуги перед командой документации

После того, как вы приступите к работе, вы должны сразу перейти к прекрасной документации, которую команда Parse собрала. Я видел несколько замечательных примеров правильной документации от команд Telerik и Xamarin, но команда Parse, похоже, нашла это преимущество, чтобы сделать его еще лучше. Конечно, это помогает иметь API, который действительно прост в использовании и не требует особого объяснения, но они делают это очень хорошо. (Хотя нет офлайн документов, это позор, когда вы в поезде ;-()

В документации вы найдете все, что вам нужно, чтобы разобраться:

  • Создание таблиц (выполняется автоматически при добавлении первого объекта и синхронизации)
  • Чтение данных
  • Обновление и удаление данных
  • Управление файлами
  • аналитика
  • И многое, многое другое

Быть хорошим другом данных

При создании для Parse нужно помнить, что все должно быть просто. Хранение данных в системе данных Parse — это все о словарной системе для конструкций, которые вы хотите построить, И НЕ БОЛЬШЕ.

В качестве примера, следующее будет в порядке (при условии, что вы выполнили инструкции по быстрому запуску Parse):

UserObject

  • МНЕ БЫ
  • имя
  • кличка
  • Список <Электронной почта>

Который в Parse будет представлен как:

    ParseObject MyUser = new ParseObject(“user”);
    MyUser[“id”] = “ID1234”
    MyUser[“name”] = “Geoff”
    MyUser[“alias”] = “Da Man”
    MyUser[“emailaddresses”] = new List<string>() { “email1″@outlook.com”,”[email protected]”}

Тогда синхронизировать пользователя с Parse так же просто, как:

    MyUser.SaveAsync();

Однако подобное следующее НЕ будет разрешено (Использование определенного подкласса):

    public struct UserAddress
    {
    string AddressLine1;
    string AddressLine2;
    string District;
    string County;
    string PostalCode;
    string Country;
    }
    var myUserAddress = new UserAddress() { AddressLine1 = “9 MyDrive”, District = “Warrington”, County = “Cheshire”, Country = “GB”}
    ParseObject MyUser = new ParseObject(“user”);
    MyUser[“name”] = “Geoff”;
    MyUser[“address”] = myUserAddress;

Даже попытки использовать анонимные типы или объекты, подобные JSON, НЕ допускаются:

    var myUserAddress = new { AddressLine1 = “9 MyDrive”, District = “Warrington”, County = “Cheshire”, Country = “GB”}
  
    ParseObject MyUser = new ParseObject(“user”);
    MyUser[“name”] = “Geoff”;
    MyUser[“address”] = myUserAddress;

Итак, помните, что вы должны сохранять данные, которые вы храните в Parse ОЧЕНЬ простыми, вы можете распределять данные по нескольким таблицам и использовать отношения, так как Parse это понимает, но помните, что каждое взаимодействие с резервной копией — это еще один вызов службы (помня, что у вас было ограниченное количество вызовов с Анализировать)

Решение, которое я в итоге использовал, состояло в том, чтобы взять мой анонимный тип (или объект) и сохранить его содержимое в виде строки, чтобы вы могли эффективно десериализовать его позже, если вам это нужно, например:

    var myUserAddress = new { AddressLine1 = “9 MyDrive”, District = “Warrington”, County = “Cheshire”, Country = “GB”}

     
    ParseObject MyUser = new ParseObject(“user”);
    MyUser[“name”] = “Geoff”;
    MyUser[“address”] = myUserAddress.ToString();

Познакомьтесь с Facebook и другими сторонними социальными SDK

Если вы используете Facebook или другую социальную сеть для аутентификации своих пользователей, вы можете даже выбрать, хотите ли вы, чтобы Parse выполнял аутентификацию для вас или использовал стороннюю библиотеку.

Для Facebook они фактически рекомендуют использовать Open Source Facebook SDK, который можно найти в Nuget (хотя я рекомендую просмотреть их примеры приложений, чтобы выяснить, как его использовать).

В любом случае использовать его очень просто: для аутентификации Facebook (после регистрации в качестве разработчика FB и получения идентификатора приложения) с помощью Parse вам просто необходимо:

    ParseFacebookUtils.Initialize(“Your Facebook App Id”);

Если вы используете Facebook SDK или уже получили токен OAuth Facebook, вы можете вместо этого передать его в Parse, таким образом:

    ParseFacebookUtils.LogInAsync(FacebookUserId, AccessToken, TokenExpiryTime);

Что нужно остерегаться

Еще одно замечание, касающееся Parse, я обнаружил, что вы должны быть очень осторожны с обработкой исключений и отслеживанием состояния, во многих моих случаях простое использование Try / Catch вокруг операторов Parse может не спасти вас, например, если Parse не если ваш клиент инициализирован или у вас нет Сети, тогда Parse Analytics фактически вылетит из вашего приложения (на момент написания).

Мой лучший совет — просто протестировать ваше приложение во всех ситуациях, чтобы убедиться, что вы работаете, как ожидалось, и отслеживать, подключен ли Parse или нет.

Завершение

Как я уже говорил, Parse, безусловно, самый простой поставщик данных, который мне когда-либо приходилось использовать, и если ваши данные очень просты, то все будет очень просто.