Lightweight JS frontend for Meteor?

I am preparing the go live of my Meteor app. As the loading time of Meteor is quite high compared to a normal website (esp. on mobile devices), I want to build a teaser website (landing page) that sits before the actual Meteor app.

On this teaser site, I want to implement an “inform me via e-mail once the app goes live” box, where the visitor can leave an e-mail address for my newsletter. For the backend processing of this (receiving the e-mail, storing it, and sending newsletters), I want to use my Meteor app.

So I am looking for a simple way to connect to my Meteor backend via jQuery/AJAX as part of the landing page.

One solution would be to use one of the REST API packages (simple:rest, nimble:restivus), another would be to use a dedicated JS API like Asteroid https://github.com/mondora/asteroid. The latter seems to be quite interesting, but it also doesn’t seem to be actively developed (last commit is over half a year old).

How would you / are you guys approaching such a scenario?

I’d use asteroid for that. It has a clean and simple api to work with and I find myself being more comfortable with it than using a rest api as it was developed with the “meteor way of thinking”

1 Like

Maybe Meteor Build Client can be of help https://github.com/frozeman/meteor-build-client

1 Like

Meteor Build Client looks interesting, as it would allow me to use the same build process (e.g. for SCSS) like in my normal Meteor app. But I am not sure if the resulting JS code will be really that much smaller (which is my primary intent), since even an empty Meteor app is quite heavy (at least on mobile devices). I’ll give it a try, though, and compare it to Asteroid. So thanks to both of you for your feed-back.

Yeah, the build file usually results around 350 kB…

Yes, I checked it with an empty app now, it has 386kb. That’s too much for me, I’ll try Asteroid now.

1 Like

Curious how this ended up working out for you? Did you go with Asteroid? Any recommendations or learnings? Thanks.

Yes, I went with Asteroid, and it was completely painless. It does only support a subset of Meteor’s features, but that was exactly what I needed. You can see it in action on http://www.guzz.io

1 Like