Skip to content
jeff-h edited this page May 1, 2014 · 17 revisions

The MacGap project aims to provide HTML/JS/CSS developers an Xcode project for developing Native OSX Apps that run in OSX's WebView and take advantage of WebKit technologies.

The project exposes a JavaScript API for OS X integration, such as displaying native OS 9 notifications. The MacGap project is extremely lightweight and nimble; a blank application is about 980KB.

Features:

  • tiny compiled app sizes
  • Mac App Store compatible
  • access to many Mac OS X-specific features

For JavaScript developers.

[API reference and how-to's]

Roadmap

Offline Patterns

Desktop apps load immediately and work offline, whilst web apps have the advantage of being easily updated and remotely managed. MacGap gives you the best of both worlds via HTML5's offline APIs.

First you can define a refresh tag in index.html, which will immediately forward your WebView to a given address.

<meta http-equiv="refresh" content="0;url=http://example.com">

Then use HTML5 offline APIs to cache your application locally. The first time your application launches, it'll download all the remote resources for use offline. Then during subsequent launches the locally cached resources will be used, and the application will fully function offline. If your remote application changes, then the cache manifest will be updated and application re-cached.

Attributes

MacGap was forked/ported from Phonegap-mac. It's under the same license (MIT).

Custom Build

To build, make sure you have installed the latest Mac OSX Core Library. Download at http://developer.apple.com/.

Just clone the repository and build in Xcode. The file public/index.html is loaded on startup.

Switching on Developer Tools

You can switch them on by running the following on the command line. After this you should be able to right-click the window, as in Safari.

settings write com.MacGap developer 1

Do you have Objective-C skills

Got some Objective-C skills? Help us improve MacGap

Clone this wiki locally