I’m designing/developing and app and have the prototype already running locally using meteor. However I’d like to roll it as a chrome app running in a separate window in the Chrome browser. I’m going through the Chrome App dev docs and reading about the offline first approach of chrome apps by which all the files are to be kept locally, keeping interaction with an external server to a minimum. I’ve also found meteor-build-client that apparently allows you access the meteor app locally from the file protocol. I’ve yet to push my app to a server and have limited understanding of actually publishing a meteor app let alone how to connect the aforementioned technologies together, was wondering if anyone had any experience using either of these and could chip in some advice, useful knowledge and/or things to keep in mind.
Chrome apps are generally either packaged (meaning you download and install them in Chrome, and they need to work offline-first and potentially connect to a remote server to do stuff) or they’re websites that get some extended permissions via the manifest (for instance, you can make it easy to sign in to your app just by clicking the icon, once the user has authenticated with Chrome).
Neither of those approaches seem to be a good match for a regular Meteor app.
If you’re building a packaged app and want to use Meteor, my approach would be to have Meteor be the remote server, and have the Chrome packaged app talk to REST APIs exposed through it via XHR. The benefit of using Meteor in this case would be that it’s easy to get up and running, really easy to add simple REST to something like your MongoDB backend, and you could have a web app frontend that sits next to the Chrome app and serves a different purpose.
First, all packages to build Chrome Apps from Meteor I found were out of date and relied all older versions of Meteor.
Most Chrome Apps in the webstore (at least from anecdotal evidence) are basic wrappers to webpages. What we did was build a basic wrapper which opens up the Meteor webapp in a webview. Makes life a whole lot simpler from dev standpoint. ChromeBooks are meant to be online anyway when operating, caching a webpage shouldn’t be a big deal.