Announcing meteor-desktop

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.

2 Likes

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

1 Like

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.

1 Like

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?

1 Like

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 https://github.com/wojtkowiak/meteor-desktop#quick-start

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, http://127.0.0.1:3000 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.

hey @omega or anyone else who’s used this project, I’ve got a quick question

I’ve got basic IPC interactions working with the Desktop and Module classes, but it seems like desktop-specific code is required to live within .desktop/.

Is it possible to place desktop-specific code that uses the Module api in files outside .desktop, for example in /src/imports/foobar.js but then import it from within .desktop/? Or does the file have to actually existing within .desktop/?

Hi, does the update package work with this?

1 Like

Does it have React?
I mean this is so good but react is the way to go for many of us

1 Like

It just runs your Meteor client code inside an Electron renderer process, you’re free to use any UI framework you wish. I’ve been using Vue in it but React would work too

2 Likes

very cool but the thing with a project is if it’s already have ready to use components in react :wink:

I recently tried the package - I had a bit of difficulty mapping how Electron works to how this is configured, but it only took me a few hours to figure it out and otherwise, I found the package to be excellent. It would be really great if it were extended to run the Meteor server and database with-in itself.

I was able to get everything working the way I would like, but I am stuck with one thing: does anyone know how to disable pinch to zoom, and how to override the Command + R for refresh

2 Likes

mate without seeming like am imposing, you should totally make a blog post about doing this with a demo meteor react app. would be very much appreciated.

Does anyone have experience distributing on the Mac App Store with this package?