electron を知る

Post on 16-Apr-2017

2.067 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Electron を知る

2015.12.20 めとべや東京 #10@tomoya_shibata

おまえはだれだ

I’m- バトルプログラマー柴田智也 @tomoya_shibata- 今すぐ don’t follow me- 求職中

Like- html, AltCSS, JS, C#, Java…- フロント寄り、 Java は仕事専門

Dislike

おまえはだれだ

I’m- バトルプログラマー柴田智也 @tomoya_shibata- 今すぐ don’t follow me- 求職中

Like- html, AltCSS, JS, C#, Java…- フロント寄り、 Java は仕事専門

Dislike- JS, JS それと JS とかいう言語

おまえはだれだ

I’m- バトルプログラマー柴田智也 @tomoya_shibata- 今すぐ don’t follow me- 求職中

Like- html, AltCSS, JS, C#, Java…- フロント寄り、 Java は仕事専門

Dislike- JS, JS それと JS

おまえはだれだ

普段の様子

おしながき

・話すこと、話さないこと

・ Electron ってなーんだ

・どこで使われてるの

・ Electron へライブ移植

・知見と注意

おしながき

・話すこと、話さないこと

・ Electron ってなーんだ

・どこで使われてるの

・ Electron へライブ移植

・知見と注意

おしながき

話すこと、話さないこと

1

MS の素晴らしい C#

MS の素晴らしい .NET

MS の素晴らしい WPF や UWP

MS の素晴らしい Windows Forms

話すこと、話さないこと

MS の素晴らしい C#

MS の素晴らしい .NET

MS の素晴らしい WPF や UWP

MS の素晴らしい Windows Forms

話すこと、話さないお子と

を一切話しません

MS の素晴らしい C#

MS の素晴らしい .NET

MS の素晴らしい WPF や UWP

MS の素晴らしい Windows Forms

話すこと、話さないお子と

を一切話しません

話すこと、話さないこと

・話すこと、話さないこと

・ Electron ってなーんだ

・どこで使われてるの

・ Electron へライブ移植

・知見や注意

おしながき

Electron ってなーんだ

2

- デスクトップアプリケーションプラットフォーム

- html, CSS, JS という基本 WEB スキルで開発

- GitHub 開発

- node.js + Chromium ランタイム→ 雑に言うと GoogleChrome だけに提供する感覚で開発できる

→ node.js の恩恵も受けられる

Electron ってなーんだ

昔は Atom Shellって名前だったよ

~今まで~

「 Windows でデスクトップアプリなら WPF/UWP 」

Electron ってなーんだ

~今まで~

「 Windows でデスクトップアプリなら WPF/UWP 」

~最近~

「 Windows でデスクトップアプリなら WPF/UWP あと、 Electron 」

Electron ってなーんだ

~今まで~

「 Windows でデスクトップアプリなら WPF/UWP 」

~最近~

「 Windows でデスクトップアプリなら WPF/UWP あと、 Electron 」

Electron ってなーんだ

選択肢の変化

~今まで~

「 Windows でデスクトップアプリなら WPF/UWP 」

~最近~

「 Windows でデスクトップアプリなら WPF/UWP あと、 Electron 」

Electron ってなーんだ

選択肢の変化

1 Source for All OS

Electron ってなーんだ

出典: https://speakerdeck.com/zcbenz/practice-on-embedding-node-dot-js-into-atom-editor

Electron ってなーんだ

出典: https://speakerdeck.com/zcbenz/practice-on-embedding-node-dot-js-into-atom-editor

Q. 似ているので NW.js( 旧 node-webkit) ってのがある

よ?

A. ごめんなさい! よく知りません!

- 観測している限り勢いがあるのは Electron- 業界の流行ウェッブ (要出典)はアテにならんので眉唾

- エントリポイントが html なのが NW.js- エントリポイントが JS なのが Electron- 利用者が多い → 情報も多い(日本語も)

Electron ってなーんだ

・話すこと、話さないこと

・ Electron ってなーんだ

・どこで使われてるの

・ Electron へライブ移植

・知見と注意

おしながき

どこで使われてるの

3

Atom- GitHub 開発 テキストエディタ

どこで使われてるの

Slack for Windows- ChatWorks と並んで人気のチャットツール

どこで使われてるの

Kobito for Windows- Increments 開発

- Markdown エディタ

- Qiita 連携

どこで使われてるの

Visual Studio Code- 説明不要

- ググラビリティの低さで有名

どこで使われてるの

ほか一覧

- Nuclide (Facebook 開発 IDE)- N1 (Nylas 開発 メールクライアント )- GitKraken (axosoft 開発 Git クライアント )- 名称自粛 ( 個人開発 艦これ専用ブラウザ)

→ すごく既視感のある UI なんだけど…。

どこで使われてるの

どこで使われてるの

https://github.com/sindresorhus/awesome-electron

どこで使われてるの 番外

https://github.com/sindresorhus/awesome-electron

- Electron 採用 アプリ - Electron 用ツール - ドキュメント - コミュニティ

などを紹介している

・話すこと、話さないこと

・ Electron ってなーんだ

・どこで使われてるの

・ Electron へライブ移植

・知見と注意

おしながき

Electron へライブ移植

4

題材は MarkdownPreview ってツール

React と モッダーン JS(ES6) を学ぶために作ってます

Electron へライブ移植

https://github.com/tomoyashibata/MarkdownPreview

ES6

×

MarkdownPreview の構造、超シンプル、超ベーシック

Electron へライブ移植

移植するぞい

₍₍ ( ง ˙ω˙) ว ⁾⁾

- 自動更新

- ダイアログ

- 描画プロセスとメインプロセスの通信

- メニュー

- トレイ(通知領域のアレ)

- クリップボード

- ファイルをドラッグアンドドロップできる(独自タ

グ)

- Windows 8 からのトースト通知

ほかにもいろいろあるぞい

補足: API たち

・話すこと、話さないこと

・ Electron ってなーんだ

・どこで使われてるの

・ Electron へライブ移植

・知見と注意

おしながき

知見と注意

5

おいでませ中華フォント

大好き中華フォントが来日。

- CSS とかで font-family 指定してないとこうなる

知見と注意

DirectWrite の有効、無効設定

DirectWrite の有効、無効設定

- 文字を綺麗にレンダリングするためのもの…のはず

- 日本語だと目も当てられない状態になることが

- GoogleChrome で無効化している人も

知見と注意

web-preferences.direct-writeに真偽値を渡してオンオフ

知見と注意

知見と注意

Electron リリースペース

知見と注意

更新しすぎ

知見と注意

`

同じ日に 3 リリース

公式以外の情報

- 公式以外のソースに前提スキルセットが多すぎることが

- Electron そのものではなく、 JS 界隈の問題

知見と注意

- 公式以外のソースに前提スキルセットが多すぎることが

- Electron そのものではなく、 JS 界隈の問題

知見と注意

ECMAScript 6

- 公式以外のソースに前提スキルセットが多すぎることが

- Electron そのものではなく、 JS 界隈の問題

知見と注意

ECMAScript 6CommonJS

Babel

- 公式以外のソースに前提スキルセットが多すぎることが

- Electron そのものではなく、 JS 界隈の問題

知見と注意

ECMAScript 6

WebComponents

CommonJS

Babel

React

- 公式以外のソースに前提スキルセットが多すぎることが

- Electron そのものではなく、 JS 界隈の問題

知見と注意

ECMAScript 6

Flux

Redux

WebComponents

CommonJS

Babel

React

- 公式以外のソースに前提スキルセットが多すぎることが

- Electron そのものではなく、 JS 界隈の問題

知見と注意

ECMAScript 6

Flux

Redux

WebComponents

CommonJS

Browserify

WebpackBabel

bower

React

- 公式以外のソースに前提スキルセットが多すぎることが

- Electron そのものではなく、 JS 界隈の問題

知見と注意

ECMAScript 6

Flux

Redux

WebComponents

CommonJS

Browserify

WebpackBabel

Grunt

gulp

bower

React

- 公式以外のソースに前提スキルセットが多すぎることが

- Electron そのものではなく、 JS 界隈の問題

知見と注意

ECMAScript 6

Flux

Redux

WebComponents

CommonJS

Browserify

WebpackBabel

Grunt

gulp

bower

React

脳みそ全部溶かした初学者の顔

すべてを 1 日で学ぼうとしない気持ち大事

知見と注意

まとめ

- C# でも、 C++ でも、 Java でもない。

JS でデスクトップアプリが作れる時代が到来

- 現在進行形で開発実績が築かれている

- 触りはじめの抵抗感はすごい

→ 感覚が麻痺してくる ✌ (‘ω’ ✌ )三 ✌ (‘ω’) ✌ 三 ( ✌ ‘ω’) ✌- JS 界隈という独特のつらさ

→ 強く生きて

まとめ

- C# でも、 C++ でも、 Java でもない。

JS でデスクトップアプリが作れる時代が到来

- 現在進行形で開発実績が築かれている

- 触りはじめの抵抗感はすごい

→ 感覚が麻痺してくる ✌ (‘ω’ ✌ )三 ✌ (‘ω’) ✌ 三 ( ✌ ‘ω’) ✌- JS 界隈という独特のつらさ

→ 強く生きて

まとめ

気になったのなら

あなたと!

Electron!

今すぐ!

https://github.com/atom/electron

!!!環境構築!!!

ご静聴ありがとうございました

top related