Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/radex/goldengate
https://github.com/radex/goldengate
Last synced: 3 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/radex/goldengate
- Owner: radex
- License: mit
- Created: 2014-11-15T13:06:27.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2015-05-02T09:19:27.000Z (over 9 years ago)
- Last Synced: 2024-12-29T03:47:00.808Z (12 days ago)
- Language: Swift
- Homepage:
- Size: 457 KB
- Stars: 22
- Watchers: 6
- Forks: 1
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Goldengate
==========Goldengate intends to be a replacement for Cordova/PhoneGap on iOS and Mac. Why? Cordova is designed with the assumption that you don't want to know anything about native app development — and that is just plain annoing to me.
## Features
- built with WKWebView, Swift & CoffeeScript
- works on iOS and Mac
- very lightweight (no support for legacy systems, etc.)
- asynchronous calls using Promises, not callbacks
- (WIP) nice syntax for calling plugins from JS: `Goldengate.PluginName.method(args)`
- (WIP) a compatibility layer for importing existing Cordova plugins## Issues
At the moment, Goldengate is (and can be) only a proof of concept, because WKWebView can't load web pages from the app bundle. This [has been fixed on the upstream repo](http://trac.webkit.org/changeset/174029/trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.h), but it's possible that the necessary API won't be added until OS X 10.11 / iOS 9.
Idea to try: according to [this tweet](https://twitter.com/wkwebview/status/540914015934107648), WKWebView can load local files from /tmp. Can we try making a tmp directory at launch and copying the needed files there?
## Dependencies/setup
Xcode project requires Xcode 6.1 running on OS X 10.10. The web component requires CoffeeScript (accessible globally via `coffee` command).
You need [Pow](http://pow.cx) to serve the web page locally (as noted above, WKWebView can't load from app bundle). Point `~/.pow/goldengate` to the GoldengateJS directory. Alternatively, if you're using a different web server, edit the URL in AppDelegate.swift
If you're working on the web component, be sure to run the watcher script (`./watch` from GoldengateJS) beforehand. It will listen to changes in CoffeeScript files and compile them.
## Contributing
If this sounds like something you'd want for yourself, please feel free to contribute and open a pull request. There's a bunch of open issues you can choose from. And if you want to talk about the project some more, [email me](mailto:[email protected])