Meteor + React Native integration?

Found Realm mobile database to substitute minimongo. Trying out:
MongoDB <–>Meteor <----DDP----> React-Native<–>Realm

Now, if only I can figure out how to upload file in RN as easy as Meteor packages…

But why… Is there a reason or a reference. I’m curious

nope, React Native has hot code push, via CodePush

Wow, so true. Somehow being able to write the same code and put it everywhere is seen as a plus, when that will never give a native feel anywhere.

2 Likes

Agreed @tgoldenberg, assuming you do want native feel. In some cases (like ours) the need is for the same interface cross platform. We use Semantic-UI and are loving it.

1 Like

Make sure that you continue using the react redux version 3 and not 4. They’re still working out kinks on that dependency area with their huge team but it seems like they want to officially support redux in the react ecosystem. Probably because Dan Abramov started working for Facebook not too long ago.

1 Like

FYI, they’ve released an official new Navigator API that is experimental in the 0.21.0-rc that looks promising. Check out the description:

2 Likes

Had anybody taken a closer look at this?

1 Like

I have and I’m impressed. Well documented and the author is responsive and open to suggestion.

I had a really nice time developing Meteor+React by this boilerplate:

There is a wonderful implementation of Meteor Reactivity: you just implement a getMeteorData method and here is your reactivity. And you still can be somehow in Meteor-land: accessing your collections, calling your methods and such.

I took a closer look at this react-native+Meteor boilerplate and found that it uses somewhat different way.

It’s because “Meteor + React” is quite different to “Meteor + React Native”

3 Likes

Just thought you all might be interested in this navigation solution. So far, it’s been one the easiest to implement. Cheers

wix/react-native-navigation

2 Likes

Wow great find @jitterbop !! It looks like it’s an abstraction upon Navigator and quite a great one at that!! I like how the support for a drawer, modal, lightbox, etc… are built in since those are tricky to implement with a router.

2 Likes

BUT we need to triple check what is not supported yet!!!

For example in my case (2months ago) : no classic audio players on Android work with a distant source (only local file)…

So in my case few points make my app impossible to realize with React-Native (sadness)

Exactly, that is why the “Or if you find yourself on a point where RN isn’t fitting…”.
Building things modular makes possible to switch few parts to accomplish something, like a car where you can change little pieces and get it working. That is why you should avoid building client and server code to coupled (even client code to coupled to another client code; and the same for the server) and favor something like micro-services. Unless you are just prototyping.

I believe Meteor is currently the best possible backend for my react-native project - I need some users management, real time, chat module, and I would greatly benefit from offline capacities and sync. I’m preparing for some painful headaches trying to solve that last one. Actually it’s my biggest concern but I’ll stick with Meteor as I can’t see better solutions (and I kind of like everything in it).

2 Likes

I’m bumping this.

I wrote this library: npm install --save react-ddp which extends mondora’s DDP client.

We’ve almost finished a production app with this. I’ve gotta say, Meteor + Cordova is 100% less preferable than RN + Meteor. In my experience, if you want a mobile app and a web app, I suggest writing your mobile app with RN + Meteor, and then writing a separate web app (with platforms browser and server ONLY) with Meteor. Basically, take Cordova out of the picture – it is not a viable option for a production quality app, unfortunately.

This library attempts to do nothing about data storage. I noticed folks like @spencercarli have mentioned something about DDP clients being too coupled to data storage. You can use redux, minimongo-cache, or your own customized objects and event listeners if you want. All it does it handle subscriptions, login, reactive login status/state, reactive connection status, and method calls. It’s only slightly more than the bare minimum you will need to get started with React Native and Meteor, as it assumes you use accounts-base and accounts-password on the server. However, you could write your own changePassword and login methods if you want.

There’s an in depth guide in the README.md, and at the end I show how easy it is to achieve a reactive mongo on the front end using this library (again, which is entirely decoupled from the library).

4 Likes

Any news about this?

+1. Any news? I’m very interested.

1 Like

@gado @lednhatkhanh There doesn’t need to be an integration. It already works really well without one. If you have a Meteor server up and running today the best way to get started is to install Apollo server, setup your GraphQL schema, and then call your models from the GraphQL resolvers.

On the mobile side you’ll need Apollo Client and that’s pretty much it. You can store the login token with AsyncStorage much like using localStorage in the browser.