6

I am currently working on an HTML5/JS game, and I wanted to ask if there are any solutions to create EXE/App wrappers for the game to run the standalone.

I plan to use PhoneGap to get it on mobile devices, but I wanted to also release it for Windows/Mac/Linux as standalone games in their own window. Maybe if it turns out well enough, put it on Steam and Desura.

I hear Titanium Desktop is an option, but seems to be out of date or super buggy according to what I read in various posts. While others mention Adobe AIR, but I am not sure how well that will work, or if it will support all the JS I need.

So I need help with figuring out if there is a good solution for what I want to do.

Any information is helpful.

1
  • I have a feeling your question might get closed, but I'll respond anyways.
    – Parris
    Commented Jan 25, 2012 at 1:49

3 Answers 3

5

The BEST solution I found out there is NodeWebkit.

It's basically Google Chrome (actually Chromium) wrapped into a customizable chromeless interface. It uses Node.js as the backend (you can do data storing, interact with the system...), so you have the advantage of having the fast V8 javascript engine running on both ends.

As its core is just plain old Chromium, it will run smoothly anything that runs smoothly on Chrome.

Originally I suggested AppJS, but I think the project kind of went dead since then. NodeWebkit is very similar, but has an ever better approach: it brings the Node.JS API right into the client javascript, so everthing works seamlessly.

5
  • Website is down, does AppJS even exist anymore? Commented Jun 9, 2014 at 18:19
  • 1
    I would even ask people who downvoted this to, please, revise their votes (as it seems to be a pretty valid answer!)
    – Leonel
    Commented Jun 11, 2014 at 17:45
  • Link is to Node.js not to node-webkit, perhaps you meant: github.com/rogerwang/node-webkit ? Commented Jun 12, 2014 at 2:18
  • yep, got lost with the Markdown
    – Leonel
    Commented Jul 7, 2014 at 22:08
  • 1
    The above is totally the way to do it! My answer is a bit more dated.
    – Parris
    Commented Sep 30, 2014 at 8:41
1

I've heard good things from http://www.appcelerator.com . I've also seen people use webkit. Or use flex/as3/air, which has a built in webkit browser.

I've also heard of some custom html5 browsers that extend/improve the canvas element.

3
  • Well, I was kinda leaning towards those, I am just curious which has the better stability and performance, if possible. And which has the least restricted JS implementation, since I havent found much info on that. Only that Air doesn't allow Eval() but that most likely wont be needed by me, only if a library I use needs it. But can I take a finished HTML5/JS app, and with minimal work, plug those in, and build the final output?
    – Daegalus
    Commented Jan 25, 2012 at 2:05
  • I'd say yes. Even if you can't, by doing everything in HTML you can switch between any of those platforms pretty easily. The amount of code required to write one of those wrappers in any framework should probably be around 10 lines (more or less) with some configuration. I made something like what you are talking about in iOS and it took me maybe 30 minutes (after the headache around provisioning and such was said and done). I know nothing about iOS or objective C, and just followed some tutorials online.
    – Parris
    Commented Jan 25, 2012 at 3:22
  • Well, thank you for the info, and since you took the time to respond to this. I will give you the answer for now :). I also remembered that Adobe AIR uses ".air" files, so that does not work for me. I need native executables. EXE for Win, Binary for Lin, and Mac App for Mac OSX, which Titanium Desktop seems to be able to do. I just hope someone picks up the transition they are trying to do, since they want to drop support for Desktop and give it to a new team/sponsering body. I will go with it for now, hopefully it works out.
    – Daegalus
    Commented Jan 25, 2012 at 3:53
1

I recommend Electron for make desktop application wrapper, which has good docs and many community driven third party modules, examples and use cases: https://github.com/sindresorhus/awesome-electron.

Not the answer you're looking for? Browse other questions tagged or ask your own question.