
React Native + Meteor: React Native + Meteor против Meteor-client-bundler
Если вы когда-нибудь изучали создание приложения с помощью React Native и Meteor, вы, вероятно, встречали пакет react-native-meteor. Возможно, вы также встречали meteor-client-bundler, более новую запись в игре.
Так что они?
Каждый пакет разработан, чтобы позволить вам легко подключаться к серверу Meteor и работать с ним через DDP из клиента, который не интегрирован с инструментом сборки Meteor.
Они делают это по-разному, и у каждого есть свои преимущества и недостатки.
Реагировать-родной-метеор
Этот пакет интегрируется в ваше приложение React Native и разработан специально для React Native. Цель состоит в том, чтобы обеспечить однозначное соответствие функциональности Meteor на стороне клиента. Создав несколько приложений для этого пакета, я могу сказать, что у него это хорошо получается.
Этот проект полностью независим от Meteor - он просто знает о протоколе DDP, предоставляемом Meteor, и упрощает использование оболочек вокруг DDP для доступа к нему. Это означает, что выполнение некоторых функций зависит от стороннего кода (Minimongo, трекер и т. Д.).
Преимущества
- Это проверенный в боевых условиях пакет. Я использовал его в нескольких проектах React Native + Meteor и знаю многих других, кто делал то же самое.
- API близко соответствует API клиента Meteor, что означает, что им легко пользоваться.
- Практически все работает и работает хорошо. Мало что оставалось желать лучшего.
- Быстро вставай и беги. Минимальная комплектация. После установки из NPM вы можете начать работу в кратчайшие сроки.
- Простой. Я люблю простое.
- Отличные учебные ресурсы. 😄
Недостатки
- API немного отличается от API «настоящего» клиента Meteor. Вы должны знать о некоторых небольших отличиях, но они четко задокументированы.
- Зависимость от сторонних пакетов.
react-native-meteorиспользует некоторые сторонние пакеты, в которых нет такой поддержки / боевого тестирования, как в Meteor. Они работают хорошо, но об этом нужно знать. - OAuth будет проблемой.
- Обслуживание. Это пакет с открытым исходным кодом, и люди поддерживают его на стороне.
Начиная
Если вы хотите начать работу со стеком React Native + Meteor, который использует react-native-meteor, ознакомьтесь с созданным мной шаблоном.
Спасибо всем, кто воплотил этот пакет в жизнь и продолжает уделять время его поддержке. # СпасибоМайнтейнеры
Метеор-клиент-бандлер
В отличие от react-native-meteor, этот пакет предназначен для работы с любым клиентом - он фактически был построен при получении Ионного приложения для работы с Meteor.
Он также работает по-другому - это инструмент командной строки, который объединяет клиентский код Meteor и помещает его в ваш проект React Native, а не является пакетом, который просто «говорит» DDP для связи с сервером Meteor. Поэтому всякий раз, когда вы что-то меняете в своем приложении Meteor, вам нужно повторно связать код на стороне клиента.
Преимущества
- Берет реальный клиентский код Meteor и внедряет его в ваше приложение React Native, чтобы убедиться, что вы выполняете именно то, что находится на сервере Meteor.
- Используйте «настоящие» пакеты от Meteor.
Недостатки
- Возможное несоответствие кода, выполняемого на сервере Meteor, и того, что находится в приложении вашего пользователя.
- Зависимость от DOM. В настоящее время ведется некоторая работа по выходу из коробки, но это займет время. Существуют сторонние решения для его запуска сегодня.
- OAuth будет проблемой.
- Настройка может быть немного сложнее, по крайней мере, для меня это было.
- Обслуживание. Это пакет с открытым исходным кодом, и люди поддерживают его на стороне.
Начиная
Чтобы начать работу со стеком React Native + Meteor с использованием meteor-client-bundler, ознакомьтесь с этим шаблоном.
Спасибо всем, кто воплотил этот пакет в жизнь и продолжает уделять время его поддержке. # СпасибоМайнтейнеры
В заключение
Я считаю, что оба решения - надежные. Они подходят к проблеме по-разному, и у каждого из них есть свои преимущества и недостатки. Ничто не может быть идеальным, поэтому взвесьте все за и против, примите решение, а когда вы столкнетесь с проблемой, внесите свой вклад в проект.
Если ни одно из решений вам не подходит, вы всегда можете управлять ddp-соединением напрямую!
Если вас интересует курс по созданию приложения на основе местоположения с использованием стека React Native + Meteor, ознакомьтесь с моим курсом Learn React Native + Meteor (новые низкие цены!). Мы рассмотрим использование react-native-meteor в курсе, но также создадим отличное сообщество, частью которого вы можете стать, и обсудить возможность использования вместо него meteor-client-bundler.
Если у вас есть вопросы по курсу, напишите мне на электронную почту handlebarlabs.com.