A Meteor Desktop Application?

@corvid That is so awesome to hear! Is the game on GitHub? I’d love to add it to the examples! I was literally just telling someone earlier today that it would be cool to make a desktop game with meteor :slight_smile:

If anyone is interested, we’ve created a nice desktop client app using electron for our https://rocket.chat project.
All the source code is available at https://github.com/RocketChat/Rocket.Chat.Electron

5 Likes

SWEET. That is awesome news. Rocket Chat Rocks!

3 Likes

Thanks! Much appreciated :grinning:

Anyone can download the latest Linux, Mac and Windows binaries to see it working at

Hello There.

I’ve started a project a while ago to specifically run and package meteor apps with Electron, it requires no boilerplate code or learning curve to get started, just add the package and voilà.

It’s another option for those looking to accomplish this meteor+desktop thing. : )


https://atmospherejs.com/arboleya/electrify

5 Likes

WOW! Who can spot the Meteor app?

Tip: is Rocket.Chat :smile:

1 Like

@arboleya
I follow the instructions,

meteor create --example leaderboard
cd leaderboard
meteor add arboleya:electrify
meteor

The process stalled at this:

I20150924-21:59:15.216(2)? electrify:  installing electrified dependencies

I’m waiting 15 minutes ago.

Hello @eahmedshendy, I’ve released several updates since you post this (sorry for the long delay!).

However I see that you’ve opened this issue, so hopefully you’re following the updates?

Just saw this now and it does look awesome :slight_smile:

1 Like

Reviving an old thread…

Is anyone packaging their app as a desktop application that includes a local server and mongodb these days?

There is the electrify project but it’s getting old now and is not maintained https://github.com/arboleya/electrify

There’s also meteor-desktop but this is a purely client packaging that doesn’t run a local database https://www.npmjs.com/package/meteor-desktop

‘Not maintained’ or ‘achieved its objectives and no longer providing free development’?

2 Likes

Not maintained and doesn’t work unfortunately. I got lots of errors with a 1.6 app when trying to use it and others claim the same

Here is what we did to get a desktop app. The electron wrappers you mention are too complicated.

We used nwjs (but you can do the same with electron). We like nwjs as it uses the chrome app api and we sell to schools (i.e. ChromeBooks) so perfect re-use for us

  • Created a local web server that serves the local assets (copy from build directory)

  • hacked a local copy of index.html where we add script after the one there with <script type="text/javascript">__meteor_runtime_config__.DDP_DEFAULT_CONNECTION_URL="{{serverUrl}}";</script>

  • We monitor program.json to get the hashes of anything updated server-side so we only fetch what we need

  • If there is an update to your app, you have to fetch the main index of your meteor app to get the script tag with __meteor_runtime_config __ as it contains app version etc. and replace the one in your index.html

Your challenge will be google / ms logins (we use webviews in our app) – I am sure if you follow the Cordova approach you’ll have an answer

Sounds like that’s purely a client native app connecting to a remove server, correct? No local mongodb? I need to be able to use a local mongodb in a fashion similar to when developing your Meteor app (that’s what the electrify package is supposed to do but it doesn’t work atm). Nwjs looks interesting though, I’ll take a look at it

Right, no local mongodb. The client loads local assets (bundle, images, fonts) but uses DDP to server directly (like the Cordova app for Meteor).

When providing our app to clients, we can’t have local DB (we do use localforage to reduce bandwidth but the master remains the mongodb in the cloud). In fact, the only valid (in my opinion) use-case I have encountered for local dbs are mail / backup / media gallery clients. Maybe I am missing something.

If you want local db, you can also use minimongo.

My use case is that my app refreshes lots of data from remote APIs on a timed interval and caches it in mongo, which makes reactive UI updates to that data really simple. I’m also trying to offload as much work as possible to the client to keep our server and db hosting light since this is already a native desktop application

Your link for the repo is broken. I finished my meteor mobile app and would like to see how you converted to a desktop app.
Thanks