React Native + Meteor: реакция-нативен-метеор срещу метеор-клиент-пакет

Ако сте прекарали каквото и да е време да търсите да създадете приложение с React Native и Meteor, вероятно сте попаднали на пакета reakct-native-meteor. Може би сте попаднали и на метеор-клиент-пакет, който е по-нов запис в играта.

И така, какви са те?

Всеки пакет е проектиран така, че да ви позволява лесно да се свържете и да работите със Meteor сървър, чрез DDP, от клиент, който не е интегриран с инструмента за изграждане на Meteor.

Те правят това по различни начини, всеки с ползи и недостатъци.

реагира-природна метеор

Този пакет се интегрира във вашето приложение React Native и е създаден специално за React Native. Целта е да се осигури едно съвпадение на клиентската функционалност на Meteor. След като изградих няколко приложения на този пакет, мога да ви кажа, че се справя добре.

Този проект е напълно независим от Meteor - той е просто запознат с DDP протокола, изложен от Meteor и прави лесни за използване обвивки около DDP за достъп до него. Това означава, че зависи от кода на трета страна, за да направи някои неща (minimalongo, tracker и т.н.).

Ползи

  • Това е тестван в битка пакет. Използвал съм го в множество проекти React Native + Meteor и познавам много други, които са направили същото.
  • API тясно съвпада с този на клиентския API на Meteor, което означава, че е лесен за използване.
  • Почти всичко работи и работи добре. Не остава много да се желае.
  • Станете и бягайте бързо. Минимална конфигурация. Веднъж инсталиран от NPM, можете да вършите нещата за нула време.
  • Simple. Обичам просто.
  • Страхотни учебни ресурси.

Недостатъци

  • API е малко по-различен от този на "истинския" клиент Meteor. Има някои малки разлики, които трябва да знаете, но те са ясно документирани
  • Зависимост от пакети на трети страни. react-native-meteor използва някои пакети на трети страни, които нямат същия вид поддръжка / биткойн тестване, както при Meteor. Те работят добре, но е нещо, което трябва да се знае.
  • OAuth ще бъде болка.
  • Поддръжка. Това е пакет с отворен код, където хората го поддържат отстрани.

Приготвяме се да започнем

Ако се интересувате от ставане и работа със стек React Native + Meteor, който използва реакция-нативен метеор, вижте котлона, който съм събрал.

Благодаря на всички, които превърнаха този пакет в реалност и продължават да влагат време в поддържането му. #ThankOSSMaintainers

метеоритен-клиент-bundler

За разлика от react-native-meteor, този пакет е предназначен да работи за всеки клиент - той всъщност е създаден при получаване на приложение на Ionic за работа с Meteor.

Също така работи по различен начин - това е инструмент от командния ред, който ще групира клиентския код на Meteor и ще го въведе във вашия проект React Native, а не да бъде пакет, който просто „говори“ DDP за комуникация със сървър на Meteor. Затова винаги, когато промените нещо в приложението си Meteor, ще искате да групирате отново кода от страна на клиента.

Ползи

  • Взима действителния Meteor код от страна на клиента и го инжектира в приложението си React Native, като се уверите, че изпълнявате точно това, което е на сървъра на Meteor.
  • Използвайте „истинските“ пакети, идващи от Meteor.

Недостатъци

  • Потенциално несъответствие на код, инжектиран между това, което се изпълнява на Meteor сървъра и това, което е в приложението на вашия потребител.
  • Зависимост от DOM. Извършва се някаква работа, за да се изкарат нещата извън кутията, но ще отнеме време. Има решения на трети страни, за да стартирате това днес.
  • OAuth ще бъде болка.
  • Настройката може да е малко по-сложна, поне беше за мен.
  • Поддръжка. Това е пакет с отворен код, където хората го поддържат отстрани.

Приготвяме се да започнем

За да станете и да стартирате със стека React Native + Meteor, като използвате метеор-клиент-пакет, вижте този котел.

Благодаря на всички, които превърнаха този пакет в реалност и продължават да влагат време в поддържането му. #ThankOSSMaintainers

В заключение

Мисля, че и двете са солидни решения. Те подхождат към проблема по различни начини и всеки има своите предимства и недостатъци. Нищо няма да е перфектно, така че претеглете плюсовете и минусите, вземете решение и когато се сблъскате с проблем, допринесете за проекта.

Ако нито едно решение не работи за вас, винаги можете да управлявате директно DDP връзката!

Ако се интересувате от курс за изграждане на приложение, базирано на местоположението, използвайки стека React Native + Meteor, разгледайте моя курс Learn React Native + Meteor (нови по-ниски цени!). Ние обхващаме използването на метеор-реагиращ реактор в курса, но също така имаме страхотна общност, в която можете да бъдете част и обсъждаме възможността вместо това да използвате метеор-клиент-пакет.

Ако имате въпроси относно курса, застрелете ми имейл шпендер на handlebarlabs.com.