LoginSignup
6
6

More than 5 years have passed since last update.

HaxeでElectronアプリを作る (hxElectron)

Last updated at Posted at 2015-07-06

概要

Electronが流行っていますね。Haxeでも扱いたいですね。
というわけでexternを書きました。

hxElectron (A Haxe extern for Electron)
https://github.com/seibe/hxElectron

使い方

基本的な使い方はこんな感じ。

package;

import electron.Electron;
import electron.ElectronBrowserWindow;
import js.Node;

class Main 
{
    static function main() 
    {
        new Main();
    }

    public function new()
    {
        Electron.app.on(ElectronAppEventType.WINDOW_ALL_CLOSED, function():Void {
            Electron.app.quit();
        });

        Electron.app.on(ElectronAppEventType.READY, function():Void {
            var mainWindow = new ElectronBrowserWindow({ width: 800, height: 600 });
            mainWindow.loadUrl('file://' + Node.__dirname + '/index.html');
        });
    }

}

各モジュールの呼び出し方

モジュールによって、呼び出し方が若干違います。
Node.js externの仕様を参考にして作ったらこうなりました。

1. Electronクラスの静的メンバから

  • Electron.app
  • Electron.autoUpdater
  • Electron.contentTracing
  • Electron.dialog
  • Electron.globalShortcut
  • Electron.ipc
  • Electron.powerMonitor
  • Electron.protocol
  • Electron.clipboar
  • Electron.crashReporter
  • Electron.screen
  • Electron.shell
  • Electron.remote

2. それぞれのクラスから

  • new ElectronBrowserWindow()
  • new ElectronMenu()
  • new ElectronMenuItem()
  • new ElectronNativeImage()
  • new ElectronTray()

3. rendererからremoteでの呼び出し方

Electron.remote.appと書ければスマートだったのですが、そうはいかなかったので以下を使ってください。

  • Electron.remoteApp
  • Electron.remoteAutoUpdater
  • Electron.remoteContentTracing
  • Electron.remoteDialog
  • Electron.remoteGlobalShortcut
  • Electron.remoteIpc
  • Electron.remotePowerMonitor
  • Electron.remoteProtocol
  • Electron.remoteClipboard
  • Electron.remoteCrashReporter
  • Electron.remoteScreen
  • Electron.remoteShell
  • new ElectronRemoteBrowserWindow()
  • new ElectronRemoteMenu()
  • new ElectronRemoteMenuItem()
  • new ElectronRemoteNativeImage()
  • new ElectronRemoteTray()

注意点ほか

全てのモジュールを扱えるように作ったつもりですが、動作確認をほとんどしていないので、バグがあればPRください。

参考リンク

6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6