How do you achieve a native feel? Anybody using famous-views 0.x (or any famous integration)?


#1

The famous-views project by @gadicc was great. Is anyone still using it? I am developing an app with Meteoric (ionic + meteor) but I am frustrated because it doesn’t come close to the feel of a native app.
What about what these guys made: https://www.discovermeteor.com/blog/meteor-cordova-famous-the-chill-way-to-build-apps/ Has anyone tried doing it that way?


#2

Hi, I agree with you for ionic approach -> I’m really impressed by the job done by hansoftX app, some explanations here : https://hansoftx.com/blog/building-an-ultra-responsive-ui.html and https://www.youtube.com/watch?v=mvHR4uCrrG0 :wink: Maybe Hans Dahlstrom & team listening here ?


#3

Have a look here:


#4

Hey! One of the Down to Chill founders here. I’m currently working on a project that is a combination of Meteor, React, and Famous 0.7. It’s actually feeling pretty native, I’m going to write a blog post soon on how to create an app in this tech stack.


#5

@arjunrajjain why not react native ? Since you are using React already?


#6

The main problem with “native” like Meteor apps is not the look & feel,
its the loading and reaction time. If you reactivate a Meteor mobile app from background
it takes very long and sometimes it will work to wake up the app.

Its ok for small things like TODOs apps, but with some features or packages it becomes
to sloppy. Not everyone out their have the newest powerful smartphone.

React native is good, but not ready for prime time. With every release many things changes, thats ok. It right now 0.14.x
The workflow with react native is also in a early state, but on a good way.

Meteor is very good for desktop web apps, but for mobile apps its not the best way.

It seems also that the mobile aspect of Meteor is not one of the top priorities of MDG.

WIth famous you will not get a native feel. Famous is build for something different:
http://famous.org/learn/hello-famous.html

If you check out the famo.us business website you will see the direction:
http://famous.co/


#7

@emilios1995 Everyone’s saying that the famous project is dying (on gitter, forums, etc.)

For sure they got into radio silence and are not collaborating with the open source community. Moreover they transparency cannot be praised so far.

I tried anyway to integrate it with Meteor following tutorials I found on their website. You can see the results of my rudimental experiment here:

https://github.com/ecerroni/famous-meteor-leaderboard

I did a lot of research and found no valid alternatives but a lot of promises. It’s a tough decision between something performant now with no support or communication whatsoever or wasting time waiting for something new to come (for example its fork http://infamous.io)

I decided to give it a try and will continue to play with it although it probably has no future. We’ll see.

Wondering what others are doing for that matter.


#8

I read somewhere as well, somewhere in this forum. That the person who was working on Integrating meteor with famous has stopped working on that and he had very strong reasons. Mostly what @ric0 said.


#9

@SkinnyGeek1010 you mentioned once that you have react native apps ddp connecting with a main meteor app. Could you please share your experience ?

So you had the ui done in React, but the data was coming from a remote Mongo db, is it something like this ? Or Did you use sqlite ?


#10

Yea i’m using ReactNative with Meteor for the Badger App (Badger Inc. on the AppStore). It’s currently using REST for it’s data because I really don’t need realtime. However, I was considering using the Node DDP adapter to get a realtime feed so that I don’t have to long-poll (ev 1 min).

It’s using Redux on the client end so it would be pretty easy to use the Node DDP adapter with it, and of course REST endpoints work well with it too

The performance in RN is really great! Sometimes you still have to worry about rendering too much while it’s sliding, so in that case you render partially and then again in 500 ms (after transition). Also if anyone tries it out, the feed needs to be optimized… it’s not using their ‘long list’ component so it can get a little janky on long reminder lists if you’re looking for it.

The development velocity for me seems higher than Cordova for sure. You do have to do a bit of work to cache data instead of minimongo but it’s pretty easy (actually I almost prefer it to merge box).


#11

@SkinnyGeek1010 Hi! thanks for the info. Badger App performs very well, it’s really encouraging, so seems like I’m going to use Meteor with RN for my next project. I have just a few questions:

  1. Is it really worth it to use Meteor if you are just using it as a
    REST API? wouldn’t it make more sense just to use Express.js? (I’m sure I’ll use Meteor because I do need real-time data. But what about you?)

  2. Why are you saying that with Redux it’s easier to connect to DDP?

  3. How exactly do you replace the minimongo functionality?


#12

Thanks! It’s kind of ‘soft-launched’ and the other ‘Badger’ is a similar one with a Blue UI (kind of confusing). The new one (green) has a few bugs on the 4S but should be fairly solid.

Is it really worth it to use Meteor if you are just using it as a
REST API? wouldn’t it make more sense just to use Express.js? (I’m sure I’ll use Meteor because I do need real-time data. But what about you?)

I think so as long as you have the tooling you need. Fibers makes life much easier. You can use any DB you’d like (via promises) if you’re not using publications but Mongo is the easiest to work with. Honestly if I had to make another node app i’d jump off a bridge or switch languages :laughing: The callbacks are messy.

I’m actually on the tail end of releasing a new REST framework for Meteor. If this looks interesting you may want to try it out. It’s basically taking my prod. app and removing proprietary parts and making it more generic (for the better). I’ll also be using the open source framework so it’ll have to be maintained :smile:

See this reply for a preview of the API (heh, no pun intended)

It uses connect under the hood (what express uses) so any connect/express middleware will work. The ‘model/repo’ layer shown there is optional and not required. You can make DB calls right in the controller if that’s needed.


> Why are you saying that with Redux it's easier to connect to DDP?

Oh, I didn’t mean that it’s easier just pretty easy to work with both.

How exactly do you replace the minimongo functionality?

Minimongo just acts as a cache at the end of the day. When you do a Posts.insert, you’re actually doing something like stashing the new data into the cache (minimongo) and then using an ajax call to send data to the server and receive the new resource as the response, then that old copy gets overwritten in minimongo with the new copy that came back from the server.

In reality it’s more complex than this but thats ok, still the same concept.

With redux it’s the same thing, insert the data into redux (hoping it will be successful) , send a post to the server, get back the new data, overwrite the old data with the new server data and redux takes care of updating the UI (and won’t update if it didn’t change).

If there’s an error you’d have to manually remove the document from the cache.

This seems like a lot of work but it’s not too bad. The redux docs have an example that you can try without any UI. In fact the docs won’t really make sense unless you do it yourself and follow along.

If you need realtime then you can use the Node DDP adapter to subscribe to data and do the other ‘Meteor’ type stuff. There are a few examples of using this online but it’s a bit hard to follow unless you’re familiar with React Native first.