Фиребасе: велики, мех и ружни

Скочили смо право у Фиребасе када га је Гоогле објавио на Гоогле И / О у мају 2016. године.

Покретали смо Реацт апликацију на једној страници која је требало да ради на мобилном преко Цордове и на радној површини преко Елецтрона. Тако нам се Фиребасе чинио чаробним решењем.

Сада, након готово свакодневног рада са Фиребасе-ом, спреман сам да са њим поделим своје искуство.

Велики

Подаци у реалном времену

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

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

Наши корисници су и даље импресионирани колико брзо све тече.

Статички хостинг на стероидима

Фиребасе хостинг долази са бесплатним ЦДН-ом и ССЛ-ом - сви се покрећу на Гоогле Цлоуд платформи. То значи да не бисте требали имати проблема са сервирањем датотека било којем броју корисника широм света.

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

Супер моћи

Фиребасе вам такође нуди бројне услуге и СДК-ове које је изузетно лако интегрисати, као што су:

  • ОАутх аутентификација
  • Складиштење датотека
  • Резервне копије базе података
  • Аутоматско скалирање
  • ЦЛИ за распоређивање и друге дужности
  • Бесплатни ниво

Мех

Конзола

Лепо је и омогућава вам бројне ствари, али није толико корисно.

Менаџер база података је заиста прослављени ЈСОН уредник. Одлично за оно што јесте, али то није пуноправно решење какво сам очекивао. Ако долазите из ВоркБенцх-а, Постицо-а, Монготрона или чак ПХПМиАдмина, ово ће бити лепа играчка.

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

Без сервера?

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

Очигледно ће бити могуће користити Гоогле Цлоуд Фунцтионс (још увек у алфа верзији) са Фиребасе-ом, али ко зна када. Можда ће ово бити објављено на Гоогле И / О 2017.

(Измени март 2017 : Фиребасе је управо најавио Гоогле Цлоуд Фунцтионс за Фиребасе)

( Измените мај 2018 : Проверите мој преглед функција Фиребасе Цлоуд-а)

Дефинисање сигурносних правила

Фиребасе користи ЈСОН датотеку са Јавасцрипт кодом у низовима за дефинисање правила над базом података и складиштем.

{ "rules": { "users": { "$uid": { ".write": "$uid === auth.uid" } } }}

Ово није толико лоше колико звучи, јер помоћу Болта можете да учините овај поступак мање болним. Иако чак и када користите Болт, када пређете неколико једноставних правила, ова датотека постаје неодржива италијанска храна ™.

Услуге попут Дреам Фацтори и Грапх Цоол дају вам одговарајући алат за то без губитка здравог разума.

Власничка технологија

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

Никако да се развије локално

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

Ружно

Ограничени Јавасцрипт СДК

У Фиребасе-у постоје бројне функције које су примењене само у њиховим иОС и Андроид СДК-овима.

Најеклатантнији је недостатак упорности ван мреже током рада са Јавасцриптом. Ваша веб, хибридна или РеацтНативе апликација ће наставити да ради ако уређај тренутно изгуби везу. Али када затворите апликацију или картицу, ваши подаци више неће бити. На вама је да упорно примените кеш меморију. Ово заиста може бити озбиљан подухват, посебно на мобилним уређајима.

Јавасцрипт СДК чак нема начин за кеширање података (нисам сигуран за иОС или Андроид). Ако учитате /productsи касније вам поново затребају те податке, мораћете да их поново учитате, осим ако ручно не држите везу у позадини. Није тешко ово применити, али опет, зашто Фиребасе не пружа магичан начин за то?

Ни на који начин не можете правилно да тражите податке

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

Стварно? Гоогле пружа услугу података без могућности претраживања или филтрирања?

-Да. Стварно.

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

Програмери Фиребасе-а су рекли да је ово дизајнирано, тако да могу осигурати високе перформансе. ОК. Али зашто не допустимо корисницима да одлучимо да ли можемо да приуштимо да платимо цену перформанси за наш случај употребе?

Да, и заборавите на удруживање или било шта из далека са вашим подацима. Што ме доводи до ...

Глупо моделирање података

Суочавање са односима са НоСКЛ-ом је тешко, а бављење односима са Фиребасе-ом је мука у дупету. - Баптисте Јамин

Шта је он рекао.

Фиребасе база података је у основи само једна огромна ЈСОН датотека. Не постоји начин да се изјави један за многе или много за многе везе. У пракси то значи да ћете на крају дуплирати податке свуда.

У почетку ово не изгледа тако лоше. Напокон, згодно је ставити име корисника у цхат поруку, зар не?

{ “author”:”Pepito Flores”, “message”:”I want a taco!”, “time”: 1484269756951}

Проблем долази када заправо морате да уредите име Пепито, јер ћете га морати мењати свуда где сте га користили, а не само у њему /users.

Рећи својим корисницима да не могу да уређују своје име обично није одржива опција, па:

  1. Код вашег клијента за писање и уређивање података у Фиребасе постаће у многим случајевима Италиан Фоод ™.
  2. Документовање тамо где сте дуплирали податке биће у најмању руку тешко.

Такође, пошто су многе базе података НоСКЛ попут МонгоДБ или РетхинкДБ пронашле начине за решавање овог проблема, тешко ми је да поверујем да Гоогле то не може решити са барем разумним перформансама.

ТЛ; ДР

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

Све што захтева сложеније податке постаје тешко или чак немогуће са Фиребасе-ом. Редовно покретање упита базе података млина је у већини случајева вредније од података у стварном времену, и колико год импресивно било видети то што се ствари мењају, вероватно вам ништа од тога не требају.

Као и све, одаберите прави алат за посао.

Додатак: оно што Фиребасе треба да буде сјајно

  1. Стварне могућности постављања упита. Претрага, придруживање, цела енцхилада.
  2. Нека врста референци попут МонгоДБ или РетхинкДБ.
  3. Стварно постојање ван мреже са Јавасцрипт-ом.
  4. Дајте ми аналитику кочења .
  5. АПИ кеш меморије.

То је све.

Додатак 2: информације о кољенима

Ако ово читате, можда процењујете Фиребасе као програмера или техничког директора. Ево неколико других чланака који би вам могли помоћи да одлучите да ли Фиребасе може радити за вас и да ли је вредно уложити додатно време за развој за процену.

Фиребасе: Добри, Лоши и Ружни - РаизЕкцептион - Раизлабс Блог за програмере

Као део нашег рада као програмера софтвера у Раизлабс-у, непрестано процењујемо најновије развојне алате који се користе ... ввв.раизлабс.цом Разлози због којих не треба користити Фиребасе

Изградња апликација у реалном времену данас је стандардна. У компанији Црисп користили смо Фиребасе у производњи током 9 месеци, почев од… црисп.им