OneBI blog

Podstawy pracy z serwerem Parse

Home  >>  Uncategorized  >>  Podstawy pracy z serwerem Parse

Podstawy pracy z serwerem Parse

On June 21, 2016, Posted by , In Uncategorized, By ,, , With No Comments

Czym jest Parse Server?

Historia powstania Parse Server sięga roku 2011 kiedy to Tichon Bernstam, Ilya Sukhar, Kevin Lacker oraz James Yu założyli firmę Parse. Wyprodukowali oni narzędzie backendowe dla programistów urządzeń mobilnych. Programiści dzięki Parse mogli przechowywać dane w chmurze, zarządzać tożsamością logowań oraz uruchomić w chmurze swój kod. W 2012 roku narzędzie firmy Parse było używane przez 20 000 developerów mobilnych. Ich liczba rosła w tempie 40% miesięcznie. Miesięcznik Fast Company ogłosił Parse jedną z 50 najbardziej innowacyjnych firm roku 2013. W tym samym roku Facebook nabył firmę Parse za 85 mln dolarów. W 2014 roku odnotowano, że narzędzie Parse zasila 500 000 aplikacji mobilnych. W dniu 28 stycznia 2016 roku Facebook ogłosił, że etapami będzie wyłączał wszystkie usługi aż do stycznia 2017 roku. Do tego czasu wszyscy użytkownicy będą musieli przenieść swoje aplikacje na inne platformy. Parse postanowił uwolnić kod źródłowy aplikacji, aby umożliwić użytkownikom wykonanie migracji danych. Dzięki temu możemy korzystać z opensource’owej aplikacji Parse Server.
Większość nowoczesnych aplikacji przechowuje dane i oddziałuje z innymi aplikacjami w internecie. Konta użytkowników, udostępnione treści, dokumenty, zakupy… Wszystkie te rzeczy muszą być przekazywane i przechowywane w jakimś miejscu. Przed założeniem firmy Parse, developerzy musieli budować wszystko od podstaw. Wymagało to wiedzy z wielu dziedzin, w tym sieci, działań po stronie serwera, skalowania, rozwoju front-endu. Koncepcja Parse zawsze była prosta. Od kilku lat Parse był najłatwiejszą i najbardziej kompleksową platformą dla programistów aplikacji mobilnych. To dlatego tak wielu programistów było zawiedzionych przejściem Parse na emeryturę. Wystarczy tylko 5 minut, aby postawić serwer Parse (lokalnie lub w chmurze). Już po kilku minutach można zapisywać i pobierać dane z aplikacji mobilnych.
Zalety Parse? Można tworzyć i testować aplikację lokalnie. Serwer Parse korzysta z MongoDB. Parse posiada opcję ręcznego tworzenia kopii zapasowych. Dane możesz zapisywać w formacie JSON. Parse stworzony jest dla programistów aplikacji mobilnych (Android, iOS, itp.), którzy mają niewielkie umiejętności w programowaniu backendu. Parse oferuje kontrolę backupu bazy danych, kontrolę indeksów, tworzenie zapytań przetwarzających więcej niż 1000 obiektów, można magazynować pliki gdziekolwiek zechcesz, nie posiada limitów czasowych, Parse Server może być rozwijany przez programistów niezwiązanych z firmą Parse.
Parse Server jest darmowy i posiada wolny dostęp do kodu źródłowego. W projekt angażują się programiści z całego świata. Poprawiają oni zgłaszane przez użytkowników błędy. Poprawki są zgłaszane nie tylko przez indywidualnych użytkowników, ale także przez takie firmy jak Microsoft oraz Amazon. Społeczeństwo programistów stara się ulepszać Parse Server, by stał się łatwiejszy w użyciu i bardziej skalowalny.
Alternatywa dla Parse: AnyPresence, Appcelerator, Appery, Backendless, Built.io, CloudMine, FeedHenry, Firebase, Kii, Kinvey, Kony, Kumulos, moBack, Syncano, Telerik.

 

Instalacja serwera Parse dla Ubuntu 14.04

Otwórz terminal i zainstaluj Git, Node.js oraz menadżer pakietów Node.js – NPM:
sudo apt-get install git
sudo apt-get install nodejs
sudo apt-get install npm

Pobierz repozytorium zawierające Parse Server:
git clone https://github.com/ParsePlatform/parse-server.git

Producenci Parse Server polecają utworzyć bazę danych na stronie mlab.com zanim przejdziesz do instalacji. Utworzona baza będzie służyła jedynie do testów, ponieważ ma małą pojemność (jeśli chodzi o darmową wersję):
Wejdź na stronę
https://mlab.com/
Załóż konto
1
2
Stwórz nową bazę
3
4
Wejdź w utworzoną bazę
5
W ramce na górze strony znajduje się adres bazy, dzięki któremu możesz się z nią połączyć
5a
Stwórz użytkownika
6
7
8

Czas na konfigurację serwera Parse. Wejdź w folder parse-server, który wcześniej został pobrany z repozytorium. Otwórz konsolę i wpisz:
sudo ./bootstrap.sh
Poniższy obrazek przestawia proces konfiguracji
9
W miejscu Application Name wpisz swoją nazwę aplikacji (np. ObeBI_app), w miejscu appId wpisz ID swojej aplikacji (np. app) a w miejscu masterKey wprowadź klucz aplikacji (zalecane jest, by klucz pozostał tajny). Gdy skrypt poprosi Cię o wprowadzenie mongodbURI wklej link do swojej bazy ze strony mlab.com (zamiast <dbuser> wpisz nazwę swojego użytkownika a zamiast <dbpassword> wprowadź hasło utworzonego wcześniej użytkownika).

Po wykonaniu powyższych czynności można uruchomić serwer lokalnie. W folderze parse-server w konsoli wpisz
sudo npm start
10

W nowym oknie terminala uruchom Parse Dashboard (aplikacja webowa do zarządzania bazą danych)
parse-dashboard –appId <id_aplikacji> –masterKey <klucz_aplikacji> — serverURL „http://localhost:1337/parse”
11

Otwórz przeglądarkę i wpisz
localhost:4040

12
Pojawi się Parse Dashboard. Tu, oraz na mlab.com będziesz mógł od teraz przeglądać dane znajdujące się w bazie, edytować je, usuwać oraz dodawać. Pokażę jednak jak robić te wszystkie czynności za pomocą komend wpisywanych do konsoli.

Przed sobą masz czystą bazę, nie ma ona żadnej tabeli (w tym przypadku klasy). Pierwszy insert do bazy stworzy automatycznie klasę oraz kolumny.
curl -X POST -H “X-Parse-Application-Id: app” -H “Content-Type: application/json” -d ‘{“imie”:”Anna”,”nazwisko”:”Nowak”,”wiek”:22}’ http://localhost:1337/parse/classes/Test
POST to wstawienie do bazy.
-H “X-Parse-Application-Id: app” – tu wpisujesz ID swojej aplikacji.
-H “Content-Type: application/json” – to jest obowiązkowe
-d ‘{“imie”:”Anna”,”nazwisko”:”Nowak”,”wiek”:22}’ – tu wpisujesz nazwy kolumn oraz ich wartości (po dwukropku). MongoDB operuje na JSONach, nie musisz tu definiować typów kolumn, wystarczy, że wpiszesz w cudzysłowie nazwę kolumny a po dwukropku: wpisana wartość w cudzysłowie to typ String, Date oraz Datetime, wpisane wartości bez cudzysłowu i bez kropki to Long oraz Integer, bez cudzysłowu a z kropką to Double i Float a wartości TRUE/FALSE to Boolean.
http://localhost:1337/parse/classes/Test – wpisujesz lokalny adres (początek taki sam, końcówka zmienia się w zależności od nazwy klasy. W moim przypadku jest to klasa o nazwie Test).
Wynik polecenia: {“objectId”:”vIGfksn5jK”,”createdAt”:”2016-06-02T14:13:29.981Z”}

Do bazy zostały wstawione jeszcze dwa rekordy. Aby wyświetlic wszystkie rekordy znajdujące się w klasie Test wpisz w konsolę następujące polecenie:
curl -X GET -H “X-Parse-Application-Id: app” http://localhost:1337/parse/classes/Test
Wynik: {“results”:[{“objectId”:”vIGfksn5jK”,”imie”:”Anna”,”nazwisko”:”Nowak”,”wiek”:22,”updatedAt”:”2016-06-02T14:13:29.981Z”,”createdAt”:”2016-06-02T14:13:29.981Z”},{“objectId”:”wjM9zF0a82″,”imie”:”Jan”,”nazwisko”:”Kowalski”,”wiek”:18,”updatedAt”:”2016-06-02T14:14:16.145Z”,”createdAt”:”2016-06-02T14:14:16.145Z”},{“objectId”:”ijMXbtUtOz”,”imie”:”Jagoda”,”nazwisko”:”Kruk”,”wiek”:31,”updatedAt”:”2016-06-02T14:14:36.396Z”,”createdAt”:”2016-06-02T14:14:36.396Z”}]}

14

W celu wyświetlenia rekordu o konkretnym ID wpisz poniższe polecenie (na końcu adresu wpisz ID rekordu)
curl -X GET -H “X-Parse-Application-Id: app” http://localhost:1337/parse/classes/Test/ijMXbtUtOz
Wynik: {“objectId”:”ijMXbtUtOz”,”imie”:”Jagoda”,”nazwisko”:”Kruk”,”wiek”:31,”updatedAt”:”2016-06-02T14:14:36.396Z”,”createdAt”:”2016-06-02T14:14:36.396Z”}

Poniższe polecenie pokazuje jak wyświetlić rekordy z użyciem polecenia WHERE:
curl -X GET -H “X-Parse-Application-Id: app” -G –data-urlencode ‘where={“imie”:”Jagoda”}’ http://localhost:1337/parse/classes/Test
Wynik: {“results”:[{“objectId”:”ijMXbtUtOz”,”imie”:”Jagoda”,”nazwisko”:”Kruk”,”wiek”:31,”updatedAt”:”2016-06-02T14:14:36.396Z”,”createdAt”:”2016-06-02T14:14:36.396Z”}]}

Modyfikacja danych (tutaj zmieniam imię na Michał, tam gdzie ID = wjM9zF0a82)
curl -X PUT -H “X-Parse-Application-Id: app” -H “Content-Type: application/json” -d ‘{“imie”:”Michał”}’ http://localhost:1337/parse/classes/Test/wjM9zF0a82
Wynik: {“updatedAt”:”2016-06-03T08:35:30.562Z”}

Usuwam rekordy (usuwanie rekorku o ID = wjM9zF0a82, wpisujesz tu swój tajny klucz aplikacji)
curl -X DELETE -H “X-Parse-Application-Id: app” -H “X-Parse-Master-Key: <masterKey>” http://localhost:1337/parse/classes/Test/wjM9zF0a82
Wynik: {}

 

Parse jest jak widać łatwy w obsłudze i z pewnością pomoże zaoszczędzić Ci dużo czasu, jeśli potrzebujesz prostego w instalacji silnika do przechowywania dokumentów JSON.

 

Leave a Reply

Your email address will not be published. Required fields are marked *