The easiest path from Meteor web app to mobile?

I know things change frequently with Meteor, so I’m wondering what is the best/easiest/quickest way to make a responsive Meteor+React app into iOS and Android apps. The only options I can think of:

  1. The built-in Meteor way (adding ios and android platforms and building for those)
  2. Electron (specifically arboleya:electrify)
  3. Ionic
  4. React Native

Any suggestions?

3 Likes

Anyone? I’ve been getting a lot of interest in web + mobile app combos, and trying to settle on a process.

I’ve done the standard/phonegap way with android and it was a pretty good experience. It’s definitely the fastest way to convert an app you’ve already built, requires almost no learning and leads to good code-sharing with your webapp.

React Native, it scales much better than Cordova. Code can be managed easier.

So it wouldn’t be quite as easy as just building the Meteor app for iOS/Android, but I’d at least be able to use all my React components in the React Native project.

I respectfully disagree,

It’s not because it’s FB’s that you have to use it. More companies are behind Cordova / Phonegap (including heavy weights like Intel and Adobe). Cordova is very solid and once you know it well you can do practically anything. As well, if you need any plugins, there is a huge library for (almost) anything you can think of.

As well, it’s integrated into Meteor.

Less issues with older devices. Maintainability and usability are more important.

I think React is the way to go with everything.

*grabs popcorn …*

2 Likes

Better not be my popcorn

3 Likes

Cordova / Phonegap actually has all that and more, if you know what you are doing (e.g. wkWebView on iOS and Crosswalk on Android). More professional organizations will likely follow that path as well.

Question is hard to qualify. I read it as what is the best way to build an app from an existing code base. I think in this case react Native. If OP means what is the best way from scratch, I would say you are correct.

If I were just going to build a mobile app only (with no web based counterpart), I would most likely use React Native.

But if someone came to me and said, “Hey, I want a web-based app and also an iOS/Android mobile version as well that has the same functionality,” then there would be some other factors to consider. For example, if I were using Meteor methods and other server-side functionality, I couldn’t simply copy my React components and make a React Native app, because the whole Meteor aspect would be missing. I suppose in that scenario, I’d use Meteor to build the mobile version.

I think perhaps I just answered my own question. :wink:

1 Like

Hey. maybe you would want to look at this topic
To me, although I like React a lot, I think it s now not very safe to go React + Meteor for mobile ( for some reason I mentioned in the above topic). So right now I’m going with Ionic + Angular for my mobile web app and quite happy with the result so far :smiley: .
Looking forward to listen to more experience from you guys.

Thanks for the link! Unfortunately I have no interest in Angular, so I’ll have to experiment with my other options.

1 Like

Ok. If you found any solution with React, I will be very happy to hear the news from you :smiley:

@ffxsam,
We built our app with Blaze and found it super easy (and very responsive) on mobile. You should use crosswalk on Android and likely wkwebview on iOS. Don’t need React to be honest, complicates things. You can switch later to React if you need to.

I’m curious from those with experience if React Native has any “native feel” superiority over Cordova once WKWebView is used

Well, React Native is truly native while Cordova is not. So for example, that “swipe from left edge to go back” you see in so many apps is not doable out of the box with Cordova, but it is in React Native. I’m sure performance is significantly better.

In theory if your app has a scalable architecture, like Mantra, you would be able to easily take your react web app and get native apps where you would only need to tweak the components while all the business logic stays the same. If u tangle up business logic and dependencies with the components, u would end up with a lot of refactorization. So make sure to get ur architecture right from the very beginning…

1 Like