Electron 1.0 is here. What are your thoughts?

Electron 1.0 is here, allowing web apps to be packaged as native apps with access to native APIs.

I have seen Electrometeor was/is an attempt to marry meteor and electron, but it looks like there is no activity there.

I’m interested to hear the community’s thoughts on the usefulness of Electron. If meteor can build to mobile using external tools, could we now use electron to build to native as a built in feature? I know some of my customers would appreciate a desktop version of my web app.

3 Likes

I’d really like to build web apps, mobile apps and desktop apps in one framework.

There’s already a good integration by the folks at mixmax: https://github.com/electron-webapps/meteor-electron

2 Likes

How woud you compare Electron and React-Native?

Electron = desktop
React Native = mobile

I think this is way too simplistic of a response. what’s ‘good integration?’

If you want a standalone desktop app, you can’t use mixmax’s solution. Mixmax’s solution requires an initial connection to a remote server to even start the app.

There’s basically 2 types of desktop apps these days:
1- those that do not need access to a remote server to function (standalone)
2- those that need to access a remote server to to function

You could even say that #2 has 2 subsets:
2.1- Those that access the remote server occasionally, but can still do many core functions without an internet connection
2.2- those that require constant remote server connectivity.

Mixmax’s tool creates 2.2’s (or at least a 2.1 that won’t launch without a connection to the server). Which is fine if you’re making something like Slack where connection to a centralized server is key.

But what about those who want to make a standalone desktop app (#1)? Well there’s Electrify, but like Electrometeor, it has not seen updates since 2015. Electrify was more well-developed, but it has at least one major caveat that isn’t well-documented: Not deleting the build folder between builds results in builds of ever-increasing file-sizes, consisting of all the previous builds. So re-build the same app 4 times and now you have a 1GB app. There isn’t any convention in Meteor that requires deleting build folders between builds, so this is something that should certainly be documented. It makes me wonder what else isn’t documented. And the fact that it hasn’t been updated since 2015, and 2016 is halfway through makes me wonder if it’s something that should be relied upon going forward if you don’t have a lot of time to fork your own version and update it yourself.

Check my response on this thread: Windows/Desktop Application using Meteor

Been using electrify for a few months now, I have nothing but good things to say about it. I did fork it for small adjustments and more control over electron versions.

The app falls in your 2.1 category, I do db syncing with a remote db through a remote server that diffs the local and remote db’s (by using md5 hashes of full collections and single documents, if they’re not equal the last updated version gets used, but I could extend this with versioning and ‘smart’ updates). Perhaps I’ll extend and publish the syncing code one day but really don’t have that kind of time right now. The app works perfectly both off- and online.

2 Likes

I’d love to see your code and setup for syncing between the MongoDBs in local and remote.