Electronを使っていて、Rendere, Mainとはさらに別のプロセスとデータのやり取りをすることがあったのでそのメモを兼ねて。 シナリオとしては、GUIからの入力をMain -> ChildとpipeしてそれをGUIに戻すという感じ。 シーケンス図はこんな感じ。 要は、Mainからforkしたchildのstdinに何かを書き込んでstdouをpipeしてもらえばいい。 child_process#spawn Node.jsには子processをforkする手段が2つある。 ひとつがchild_process.fork、もうひとつがchild_process.spawn。 この2つの違いは正直良くわからないのだが、forkはnode.jsスクリプトを子プロセスとしてspawnし、spawnはシェルコマンドをspawnするもののようだ。(詳しい話は公式ドキュメントを読んだほうがいい
色々なアプリを作るときに、Electronではnpmのモジュールが使えるのであまり困ることはないのだけれど、どうしても実行速度や作る時間の問題で、既存のexe等を使いたいときがある。 外部に配置したexeを指定することは、パスの指定諸々とてもめんどくさいので、アプリケーション内部に配置して実行できるかなと思って、exeファイルをchild_processのexec()で動かしてみたらうまく実行できた。 安心して進めていたら、パッケージ化した後にどうにも動かなくなって困った。 ぐぐってみたら、パッケージングを行うときにasar形式でアーカイブしていたため、exec()やspawn()では動かないみたいだった。(参照「Executing a script as a child_process.exec inside an asar archive #3512 - GitHub/electron
この記事はSelenium/Appium Advent Calendar 2015の3日目の記事です。 薄っすい記事も3日目です!こんにちは! みなさんElectronやってますか! 私はまだやってません! がんばってね! Electronってなに? クロスプラットフォームなデスクトップアプリケーションの開発フレームワークです。 要はNode.jsアプリのフレームワークなので、言語はJavaScriptになります。 最近流行っています。 例えば、人気エディタのAtomとか、Slackの公式クライアントとか、あとQiitaの公式クライアントのKobitoなんかはElectronベースで作られているらしいですね。 (他の事例はawesome-electronにまとめられていますので気になるなら読んでみましょう) 細かい話はきっとElectron Advent Calendar 2015で書かれ
ぼくはその日を善く生きたかどうかは AdSense の収益で決まると思っているので、以前にも AdSense のレポートを CLI で確認できるツール を書き、この記事にもあるように tmux のステータスバーに収益を表示していつでも確認できるようにカスタマイズしている。これは具合がよくてずっと使っていたのだけど、最近 tmux.conf をいじっていたらだんだん表示領域が手狭に感じられてきて、ターミナルから追い出したくなってしまった。くわえて、人にターミナルを見せると「ほうほう motemen さんの今月の収益は 9 円ですか……」といらぬ情報を人に与えてしまう問題もあり、ここはひとつ最近はやりの Electron を使ってメニューバーに表示してしまおうということしたのだ。 使用イメージはこちら。ここ7日分の収益を、日別に集計してメニューに表示している。アイコンの隣の数字はその合計(数字
はじめに ElectronはNode.js + HTML5フロントエンドのいいとこ取りな開発が行えるのが特徴です。その分、開発環境もElectronならではの考慮・工夫が必要になります. 今回のエントリでは, Electronアプリを快適に開発するための開発環境Tipsを書いていきます. そもそも「Elecronってなんぞや?」とか「どういう風にアプリを作るの?」という方については, 手前味噌で恐縮ではありますが, Electronでアプリケーションを作ってみよう を目を通すことをオススメします. また, 今回のエントリの元として、Quramy/electron-jsx-babel-boilerplate のレポジトリが出来上がっています. React + Bable + Sass + Livereload + Platform用Packaging 入りのBoilerplateですので,
概要 Electron(旧称atom-shell)には起動時に立ち上がるJavaScript側のプロセス(メインプロセス)と、メインプロセスから立ち上げるBrowserWindowのプロセス(レンダラプロセス)が存在する。メインプロセスとレンダラプロセスは別物なので、これらの間で状態を伝達する仕組みが必要になることがある。ElectronにもIPC(プロセス間通信)の仕組みは存在し、ずばりipcモジュールとして定義されている。 前提 BrowserWindow(レンダラプロセス)を立ち上げてHTMLを表示する部分までは終了しているものとする。 var app = require('app'); var BrowserWindow = require('browser-window'); app.on('ready', function() { var currentWindow = new
最近流行り(?)の、HTML + JavaScriptでクロスプラットフォームなデスクトップアプリを作成できるフレームワーク、 Electron を触ってみた。 Electron Electronとは GitHubが開発しているオープンソース 旧名Atom-Shell リッチなAPIを持ったランタイムを提供、ユーザーはHTML, JavaScriptといった普段使っているWeb技術でデスクトップアプリを作成可能 Mac、Windows、Linux対応 以下の2つの要素がベースとなっている Chromiumブラウザ Chromeブラウザのオープンソース版 io.js ランタイム Electron uses web pages as its GUI, so you could also see it as a minimal Chromium browser, controlled by Ja
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く