node.js

Electronでsqlite3を使ったアプリ

投稿日:2016年1月24日 更新日:

環境

Windowsではsqlite3がうまく動かず.
以下は、OSX el capitanで行った.

electronでnpmモジュールを使うには

Dオプションはsave-devと同じ.
save-devはインストールしたモジュールの情報をpackage.jsonに書き足してくれるオプション.

jqueryをレンダラプロセスで使う

前処理として、jqueryを使えるようにしておく.

install

require

レンダラプロセスでrequireする.

slqite3の使い方

mapbox/node-sqlite3

install

require

databaseの初期化処理

ファイルがない場合は、ファイルを作ってくれる.
ただ、CREATE TABLEを2回目以降もやろうとすると、エラーが出てしまう.
そこで、データベースのファイルがある場合は、そのままファイルを開く、ファイルがない場合は、ファイルを作成して、CREATE TABLEをするようにした.

databaseのclose

終了時にデータベースを閉じる.

ipc通信

メインプロセスとレンダラプロセスとはipcという仕組みで通信する.
github.com/atom/electron/blob/master/docs-translations/jp/api/ipc-main.md
サーバーとクライアントのイメージで、メインプロセスでデータベース処理をして、レンダラプロセスにデータを投げるようにする.

メインプロセス

そして、初期処理として、BrowserWindowを描画したら、データベースからselectしたデータを投げる.

次に、レンダラプロセスからデータが送信されたら、データベースを更新して、リストを再描画するようデータを返信する.

レンダラプロセス

レンダラプロセスでは、データを受信したらリストを再描画することと、データを送信することを行う.

まず、データを受信したらリストを再描画する.

次に、フォームからデータを送信する.

done

これでとりあえずデータの永続化ができた.
Backbone.syncをオーバーライドしたい.

Windowsでは動かない

Macからwin32でpackagingしてみたけど、やはりWindows上では動きませんでした…

ScreenClip

-node.js
-,

執筆者:

関連記事

gulpでelectronをlivereloadしながらcoffeeとsassで開発する環境

By: Nrico – CC BY 2.0 目次1 package.json2 gulpfile.coffee3 bower + browserify4 ストップウォッチ package. …

デスクトップアプリを作成できるフレームワークをWindowsで触ってみた~Electron

By: Adam Jenkins – CC BY 2.0 目次1 Electron2 前提3 electronのインストール4 Hello World5 パッケージング6 DevTool7 …

Electronで簡単にMac風UI〜Photon

By: Patrick Hoesly – CC BY 2.0 目次1 Photon2 gulpfile.coffee3 index.scss4 Todolistに適用する5 できた Pho …

Electronでsql.js

By: Dmitry Baranovskiy – CC BY 2.0 目次1 sql.js2 準備3 インストール4 main.coffee5 index.coffee6 index.ht …

no image

CentOS5.8にnodebrewでnode.jsをインストール

github.com/hokaccha/nodebrew インストールは簡単

.bashrcに追加 [crayon-587ea7da1 …