LoginSignup
19
17

More than 5 years have passed since last update.

5分で起動まで行けるElectronとES2015による最小工数で作る最速Electronアプリ

Last updated at Posted at 2015-12-02

Electronとは

最近流行りのDesktopアプリを作成可能なNode.js製のツール

  • atomエディタ
  • Visual Studio Code
  • kobito for windows
  • Slack

まぁとりあえずは試してみたくなるよね?

なので、軽く作ってみるつもりが若干ハマりどころもあったので現時点(2015/12/2)での最小工数でできた部分をメモしておこうと思いました

試してみる

最初に electronのリポジトリ に行くが、全然分からないので、検索かけてみるとある程度の記事が引っかかるかと思います

http://qiita.com/Quramy/items/a4be32769366cfe55778
http://qiita.com/ukiuni@github/items/4f004db5d163f4048ea2
http://phiary.me/electron-tutorial-try/

これらの記事で分かった方はこれ以上読む必要無いので、これ以降は暇な人で
若干ハマったのは書き方は全然これであっていたんですが、最初に動かす時に node index.js みたいな感じでしていたので、全然動かず、「あれ?あれ?」ってなってました(つまり electron の使い方を完璧に誤っていた)

起動までを

npm init -y

init ファイルを作り

npm i --save-dev electron-packager electron-prebuilt

必要なJSパッケージを導入し

  "scripts": {
    "start": "node_modules/.bin/electron ."
  }

npm run start で実行できるようにスクリプトを書き、

'use strict';

let app = require('app');
let BrowserWindow = require('browser-window');

require('crash-reporter').start();

console.dir(BrowserWindow);

app.on('window-all-closed', () => {
  if(process.platform !== 'darwin') app.quit();
});

app.on('ready', () => {
  let mainWindow = new BrowserWindow({width: 1000, height: 900});
  mainWindow.loadUrl(`file://${__dirname}/index.html`);
  mainWindow.webContents.openDevTools();
  mainWindow.on('closed', () => {
    mainWindow = null;
  });
});

といったエントリポイントとなる index.js ファイルを用意します

$ ll
total 24
-rw-r--r--    1 l-03-003  staff   322 12  2 09:56 package.json
drwxr-xr-x  153 l-03-003  staff  5202 12  2 09:56 node_modules
-rw-r--r--    1 l-03-003  staff   497 12  2 11:48 index.js

この時点でこんなようなデスクトップアプリができます

スクリーンショット 2015-12-02 11.57.55.png

画面は表示されましたね〜 :clap: :clap:
ここまでが最小構成でできる Electron だと思います
ではここから、 index.html を追加していきましょう

Viewを作る

単純にJSファイルの

  mainWindow.loadUrl(`file://${__dirname}/index.html`);

ここで表示させるHTMLを決めているので、あとは index.html を作るだけです

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title></title>
</head>
<body>
</body>
</html>

作成して、表示をしてみてもまだ真っ白です
あとはWebエンジニアならご存知の通り、いつものHTMLページを作ってくだけですね

...
  <link rel="stylesheet" href="assets/stylesheets/index.css">
...

追加でCSSも読みこませておきます

いろいろと作ったあとは...

最終的にこうなりました
スクリーンショット 2015-12-02 12.28.17.png

ということで 株式会社LiB では Starting Memberを募集しております!
(最後まで見てくださりありがとうございましたm(_ _)m)

19
17
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
19
17