Како успешно изградити АПИ са Фиребасе-ом?

Фиребасе је платформа за развој апликација покренута 2012. године, а коју је Гоогле купио две године касније. У својим почецима, Фиребасе је сматран само као база података за апликације у реалном времену, али Гоогле је увидео његов потенцијал и одлучио је да му дода додатне услуге.

Тренутно, Фиребасе је БааС (бацкенд ас а сервице) систем са 18 услуга за олакшавање креирања веб и мобилних апликација. Међу компанијама које користе Фиребасе БааС услуге су Аццентуре, Алибаба Травелс, Стацк, Твитцх и Инстацарт, заједно са више од 2.300 других.

Предности коришћења Фиребасе-а

Прва од услуга које је Фиребасе понудио била је његова база података у реалном времену, и она остаје једна од његових највећих предности. Фиребасе базе података у реалном времену се хостују у облаку, чувају податке у ЈСОН формату и синхронизују се у реалном времену са сваким клијентом повезаним са њима. Без обзира да ли користите иОС СДК, Андроид СДК или ЈаваСцрипт СДК, све апликације повезане са Фиребасе Реалтиме базом података деле једну инстанцу базе података, увек у току са најновијим подацима.

Цлоуд Фиресторе је још једна занимљива Фиребасе услуга. То је НоСКЛ база података докумената дизајнирана да олакша складиштење података, синхронизацију и упите за мобилне и веб апликације на глобалном нивоу. Креирање хијерархија за складиштење повезаних података и експресивни упити за преузимање података омогућавају да се оствари пуни потенцијал Цлоуд Фиресторе-а. Заузврат, упити се скалирају на основу величине резултата, а не величине скупа података. Ово омогућава апликацијама да се скалирају од почетка без чекања до тренутка у којем потребе премаше капацитет.

Поред горе поменутих услуга базе података, Фиребасе нуди и услуге хостовања, складиштења датотека, функција (АВС Ламбда стил), између многих других ствари.

Креирање АПИ-ја

АПИ-ји су начин за пружање услуга за ваше сопствене или апликације трећих страна које можете да користите. Фиребасе вам омогућава да пружите прилагођене услуге које, заузврат, користе Фиребасе-ове сопствене услуге без муке око подешавања позадинског дела за те услуге. Можете, на пример, да понудите приступ Фиребасе бази података у реалном времену за апликације трећих страна за упите о информацијама које прикупљају индустријски сензори.

Први корак у креирању АПИ-ја у Фиребасе-у је приступ Фиребасе конзола и додајте пројекат кликом на „Додај пројекат“ и давањем имена новом пројекту. Гоогле ће вам дати опцију да омогућите Гоогле аналитику за ваш нови пројекат. Препоручује се да прихватите ову препоруку, јер ћете од свог АПИ-ја добити предности као што су А/Б тестирање и широк спектар статистичких извештаја.

  Како применити филтере за лице на Инстаграму

Када креирате свој пројекат, моћи ћете да изаберете Фиребасе услуге које ће ваш АПИ користити. Да бисмо илустровали овај задатак, видећемо како да користимо услугу базе података Фиребасе Реалтиме.

Подешавање базе података у реалном времену у Фиребасе-у

На траци за навигацију са леве стране, унутар одељка Девелоп, кликните на Реалтиме Датабасе. Са десне стране ће се појавити дугме „Креирај базу података“. Кликните на њега да бисте креирали своју прву базу података у Фиребасе-у.

Затим ћете морати да изаберете између неколико опција географске локације за вашу нову базу података. Изаберите онај који је најближи вашим корисницима. Ово је важан аспект за минимизирање кашњења вашег АПИ-ја, посебно у апликацијама у реалном времену.

Следећи корак је да конфигуришете основна безбедносна правила за вашу базу података. Можете се одлучити за закључани режим, а затим по потреби доделити дозволе за приступ или се одлучити за тестни режим, који омогућава сва читања и писања.

Можете почети са опцијом тестног режима да не бисте компликовали безбедносна подешавања на почетку. Увек можете касније да креирате правила да бисте подесили безбедносну конфигурацију са већом грануларношћу.

Чим завршите са конфигурисањем базе података, одговарајући АПИ је такође омогућен у одељку АПИ-ји и услуге ваше личне конзоле на Гоогле Цлоуд Платформу.

Програмирање Фиребасе АПИ-ја

У овом тренутку, већ имате основне елементе вашег пројекта конфигурисане у Фиребасе конзоли. Следећи корак је да напишете свој АПИ код. Да бисте то урадили, мораћете да иницијализујете Фиребасе хостинг и функције на вашем локалном рачунару. Можете да инсталирате фиребасе-алате користећи нпм:

npm install -g firebase-tools

Затим се можете пријавити на Фиребасе и иницијализовати свој пројекат следећим командама:

firebase login firebase init

Приказаће се екран добродошлице у којем вас Фиребасе обавештава о фасцикли у којој ће ваш пројекат бити иницијализован и појавиће се мени са опцијама.

У том менију изаберите Функције и Хостинг (опција Хостинг ће вам омогућити да имате прилагођени УРЛ за АПИ који ћете развити). Затим са листе изаберите Фиребасе апликацију коју сте раније креирали, након чега морате да изаберете језик који ћете користити. Да бисте развили веб АПИ, можете се одлучити за ЈаваСцрипт.

  Како копирати наслов и УРЛ свих отворених картица у Фирефок-у

Ако ћете користити зависности од пакета, инсталирајте их помоћу нпм-а унутар фасцикле функције. Тада можете почети да пишете код за своје функције. Не заборавите да укључите фиребасе-фунцтионс и фиребасе-админ пакете, заједно са свим другим пакетима који су вам потребни:

import * as functions from 'firebase-functions'; 
import * as admin from 'firebase-admin';

Да бисте користили базу података у реалном времену, морате навести њен УРЛ када иницијализујете свој ЈаваСцрипт СДК. УРЛ се налази у одељку База података у реалном времену Фиребасе конзоле. Можете га препознати по формату:

https://<database-name>.<region>.firebasedatabase.app

Можете да користите следећи исечак да бисте иницијализовали свој СДК, замењујући податке који одговарају конфигурационом објекту вашег пројекта:

var config = {
  apiKey: "apiKey",
  authDomain: "projectId.firebaseapp.com",
  databaseURL: "https://databaseName.firebaseio.com",
  storageBucket: "bucket.appspot.com"
};
firebase.initializeApp(config);
var database = firebase.database();

Када сте написали код своје АПИ функције, време је за примену. Али пре него што то урадите, мораћете да направите неке измене у фиребасе.јсон, додајући следеће редове, модификоване у складу са конфигурацијом вашег пројекта:

"rewrites": [
     {
       "source": "/api/v1/**",
       "function": "webApi"
     }
]

Следећи корак је распоређивање. Први пут морате да обавите комплетно распоређивање, извршавајући наредбу:

firebase deploy

У наредним имплементацијама, моћи ћете да примените само функције, користећи параметар –онли фунцтионс.

Након извршења команде деплои, Фиребасе ЦЛИ приказује УРЛ ХТТП крајњих тачака ваших функција у терминалу, које можете користити за позивање својих АПИ-ја из веб апликације. УРЛ садржи ИД вашег пројекта и регион за ХТТП функцију. На пример, следећа УРЛ адреса се може користити за позивање функције упита ставке тако што ће се проследити итмид=1 као параметар:

https://us-central1-apiproject-8753c.cloudfunctions.net/itemQuery?itemid=1

Да бисте извршили функцију, отворите УРЛ са одговарајућим параметрима у претраживачу.

Имајте на уму да је за имплементацију у производно окружење потребна претплата на Фиребасе Блазе план, који се плаћа као што можете да прочитате на Фиребасе страници са ценама. То је услуга након наплате, што значи да вам се за коришћење наплаћује на крају сваког месеца.

Ако немате Блазе претплату, команда деплои неће приказати ваш АПИ УРЛ. Уместо тога, видећете поруку која вас обавештава да морате да се претплатите на Блазе план ако желите да се примените на окружење за извршавање. У овом случају и даље можете да користите Фиребасе Лоцал Емулатион Суите за прављење и тестирање апликација на вашој локалној машини уместо да их примењујете у Фиребасе производном окружењу. Локално тестирање је корисно да бисте избегли непотребне трошкове током развоја апликације, јер свако тестирање може да генерише трошкове на вашем налогу.

  Поправи Ксбок код грешке 0к87аф000д

Локално тестирање и израда прототипа

Алат Лоцал Емулатор Суите нуди интегрисани кориснички интерфејс који чини израду прототипа лаким и корисним за тестирање ваших апликација на вашој локалној машини.

Помоћу корисничког интерфејса Емулатор Суите-а можете тестирати своје дизајне базе података, токове рада Цлоуд функција, анализирати перформансе позадинских услуга и проценити промене у безбедносним правилима, између осталих задатака. То је у основи безбедно окружење за тестирање ваше АПИ функционалности пре него што га пошаљете у производно окружење.

Да бисте емулирали своје функције или локално тестирали своју апликацију, покрените фиребасе емулаторс:старт. Морате имати инсталирану Јава да бисте могли да користите Фиресторе емулатор. Ако га немате, можете га инсталирати са овде.

Када позовете Фиресторе Емулатор, команда ће вратити УРЛ који ће вам омогућити да отворите кориснички интерфејс Емулатор Суите у вашем претраживачу. Подразумевано, ова УРЛ адреса ће бити лоцалхост:4000, али може да се разликује на свакој машини.

Такође ћете добити пуну УРЛ адресу за своју ХТТП функцију. Ова УРЛ адреса ће изгледати слично:

http://localhost:5001/apiproject-8753c/us-central1/itemQuery

само ће имати име вашег пројекта, име ваше функције, а може имати и други број порта на вашој локалној машини.

Да бисте тестирали функцију, копирајте УРЛ који је вратио емулатор, додајући све неопходне параметре (нпр. ?итемид=1) и унесите га у нову картицу вашег претраживача. Резултати извршења АПИ-ја ће се појавити у корисничком интерфејсу пакета емулатора.

На картици Дневници видећете нове евиденције које указују да је функција итемКуери() извршена. Ако ваша функција генерише нове податке у вашој Фиресторе бази података, видећете их на картици Фиресторе.

Стицање веће изложености за свој АПИ

Ако желите да АПИ-ји које развијате постану популарни, Фиребасе вам такође може помоћи у томе. Не само зато што вам омогућава да направите своју апликацију брже, узимајући много посла око покретања позадинских услуга, већ и тако што вам помаже у позиционирању вашег производа. Како је то могуће? Једноставно зато што се апликације повезане са Фиребасе-ом боље рангирају у претрази од других апликација.

Такође, узмите у обзир Фиребасе АПИ за индексирање апликација. Овај алат побољшава рангирање линкова апликација и помаже корисницима да пронађу жељени садржај. Такође поставља дугме Инсталирај иза дугмета на почетној страници ваше апликације, тако да су заинтересовани корисници на само један клик од тога да постану корисници ваше апликације.

У закључку, Фиребасе вам не нуди само позадинске услуге које драматично убрзавају развој вашег АПИ-ја, већ вам помаже и да га промовишете – и да од тога зарадите новац, када буде покренут и изложен свету.