Announcing meteor-desktop


So you have to implement by yourself what goes on the desktop and what on the client (and server) using the Meteor.isDesktop? Is there a “/desktop” directory like for server and client?


Yeah, with Meteor.isDesktop you can control which GUI the user should see (website or special desktop interface). The only disadvantage could be that you send the files of your desktop interface also to your web users, because Meteor doesn’t support code splitting (f.e. app sizes increases if you use 2 different ui frameworks for it). There is a .desktop folder, but as far as I know this one is only for Electron code like modules.But I think @omega can better tell if you can split the desktop code from the web client code .


Hey @omega, sorry to ask again but any update on the local file access feature?


Sorry for no updates from me. I got ill and lost like 5 days completely. I have it ready, just needs to be polished a little bit and I can release it. Also I need to update docs for 0.3.0. I will try to release it tomorrow or on Friday at the latest.


No worries, sorry for bothering you, just keen to try it out! Sounds great, I look forward to it!


Hello everybody,

just wanted to know that version 0.4.0 was released yesterday.
Building for windows store is now possible (ping @thorus :slight_smile: )
A lot of things has been improved and fixed thanks to the issues reported. I would like to thank all of you how did invest some time in checking this integration.

Still looking forward to feature requests :wink:

I have also created a gitter room for those who prefer this way of discussing.

BTW, does anybody know any good open source tool for managing roadmap, with votes etc?


I’m confused, how does meteor-desktop compare to electron (example:


It seems like Meteor-Electron only points to the url of your Meteor app, while meteor-desktop bundles your app with Electron (offline usage).


It would be niced to see a youtube video where you make a Windows Store meteor app from a simple meteor app.


Is it a Windows universal app (mobile,tablet,desktop) or a Win32 app? just for desktop?


Do you have any tutorials yet that get people started building apps with meteor-desktop? I appreciate the effort but your documentation is a little confusing to me. It would be nice if you could make a little tutorial that shows how to get started and how to implement a small feature of some kind. It should also explain where you put things and how to listen and broadcast events.

thanks in advance to your response.


Oh my, sorry I have missed your question… it is just a win32 app.

@Andre - yeah, I agree that the docs are currently overwhelming. I have been constantly postponing the initial release while still adding features and the produced docs are unfortunately showing that. I have a docs rewrite planned before 1.0 so it should get more readable - but I still need to make decision whether to use Wiki on github, github pages or any other tool for that. BTW, can anybody recommend something that generates a documentation site well?

About videos - yes, I will make them, first should be out by the end of the month :slight_smile: The first one will be of course about getting started. The question is what should be the second one about, you have mentioned a “small feature” :slight_smile: any ideas/requests about that? Originally I wanted to showcase all the features one by one, but I can of course change the priorities.

@thorus I do not have any valid certificate at the moment so I am not able to show that on the video now. But I will do it as soon as I will have a new cert (~end of March)


I’m developing a cross-platform app using Meteor, Angular 2 + Ionic 2. Also I have a challenging product requirement: *My product will be used in places (businesses) where internet service has significant downtime…

Is there a way I could configure a local Mongodb Database?
I’m thinking about adding a Method to sync local with remote somehow, but I’ll cross that bridge later on


My Meteor app magically has offline capabilities - This might be helpful for you @gabrielbalsa


Depends on if different clients data are interacting with each other.

  • If you’re looking at the problem of multiple writers for the same documents and you have to worry about last writer wins scenarios, it could be problematic.
  • If you’re looking for basic app functionality that doesn’t need to remember database changes AFTER closing the app, for syncing at a later time - you can just write smart Stub code.
  • If you’re looking at an app with syncing capacities but want it to run smoothly when disconnected to the internet and sync whenever it can, remembering database changes through app closures and re-openings, then GroundDB 2.0 is your pick.

I would highly recommend SubsManager either way for caching your data as long as it isn’t overwhelming.


This has always been something that I had in mind, but the only project I know is from kadira subManager and it seems abandonned.

What package are you using ? Thanks


Excellent! Thanks a lot!


Great! will test out both of them, I’ll probably need to consider limitations of MiniMongo when using a desktop client that subscribes / unsubscribes from collections depending on views.
I’ll test SubsManager, since I’m using Meteor + Angular 2, I’m not sure if MeteorObservable.subscribe() can make use of SubsManager.
Thanks for your insight!


Hey @omega,

Cool project! I read through the docs and didn’t really catch the answer to the noobish question I have.

I already have an Meteor web-app. What would be the the minimum steps and/or recommended steps to get it working as an native application with meteor-desktop?


Hey @funkyeah,
you should not need to do much. Quick tutorial:

  1. add any mobile platform (you do not have to meet all the requirements for building mobile clients, if meteor add-platform ios fails just add a platform to .meteor/platforms). This integration works on top of the mobile integration so unfortunately you need to do that even if you do not intend to build mobile apps.
  2. follow steps from here

npm run desktop runs you desktop app. If you want to see it as executable you can package it with npm run desktop -- package <ddp_url> or just to see how things are easy you can also do a npm run desktop -- build-installer <ddp_url> and it will build a installer for the platform you are on. ddp_url is the address of your meteor server, if you wont provide it, is assumed.

Last tip, when building your project with meteor build use --server-only so that mobile clients will not be built. That is of ocurse for the case when you do not want to have any mobile clients, just desktop.

How to install a Meteor Application on Desktop?