Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Shoyo Kyou
16,617 views
海外で注目されてるJs framework “mithril”の特徴
mithrilの特徴についてざっくり。 Data Binding JS Night で発表した資料。 http://vuejs-meetup.connpass.com/event/14017/
Technology
◦
Read more
38
Save
Share
Embed
Embed presentation
Download
Downloaded 17 times
1
/ 31
2
/ 31
3
/ 31
4
/ 31
5
/ 31
6
/ 31
7
/ 31
8
/ 31
9
/ 31
10
/ 31
11
/ 31
12
/ 31
13
/ 31
14
/ 31
15
/ 31
16
/ 31
17
/ 31
18
/ 31
19
/ 31
20
/ 31
21
/ 31
22
/ 31
23
/ 31
24
/ 31
25
/ 31
26
/ 31
27
/ 31
28
/ 31
29
/ 31
30
/ 31
31
/ 31
More Related Content
PDF
Riot + generator で始める新しいデータバインディング
by
Tsutomu Kawamura
PDF
Riot.jsに触れてみた話
by
エンジニア勉強会 エスキュービズム
PPTX
Riotjsハンズオン
by
omi end
PDF
React VR ことはじめ
by
Kazuhiro Hara
PDF
A-Frameで作ったギャラリーのお話
by
KatsuyaENDOH
PDF
One Time Binding & Digest Loop
by
Kon Yuichi
PDF
SwaggerとAPIのデザイン
by
Kazuhiro Hara
PDF
React Redux Redux-Saga + サーバサイドレンダリング
by
エンジニア勉強会 エスキュービズム
Riot + generator で始める新しいデータバインディング
by
Tsutomu Kawamura
Riot.jsに触れてみた話
by
エンジニア勉強会 エスキュービズム
Riotjsハンズオン
by
omi end
React VR ことはじめ
by
Kazuhiro Hara
A-Frameで作ったギャラリーのお話
by
KatsuyaENDOH
One Time Binding & Digest Loop
by
Kon Yuichi
SwaggerとAPIのデザイン
by
Kazuhiro Hara
React Redux Redux-Saga + サーバサイドレンダリング
by
エンジニア勉強会 エスキュービズム
What's hot
PDF
AngularJSとFluxとRiotJSと
by
Ryo Iinuma
PDF
毎日2000個のコンテナをstartする鯖が突然死して僕が驚愕した話
by
Koichiro Sumi
PDF
Sidekiq Proを1年ほど使ってみて良かったところ、困ったところ | 新宿.rb 29th #shinjukurb
by
Koichiro Sumi
PPTX
Type scriptmemo
by
ytanno
PDF
Riotでサーバレスにした話
by
Hiroyuki Hara
PPTX
JavaScriptフレームワーク入門にVue.jsはいかが?
by
好洋 山崎
PDF
One-time Binding & $digest
by
Hayashi Yuichi
PDF
翻訳から始めるVue.js 入門
by
Makoto Chiba
PDF
ReactをRailsとどっぷり使ってみた話と、フロントエンド×AWSのこれから
by
Yusuke Murata
PDF
0831 node学園lt
by
Kazuya Fukumoto
PPTX
AngularJS2でつまづいたこと
by
Takehiro Takahashi
PDF
Clojureでガラケーサイトを作る際の細かい話
by
Ikuru Kanuma
PDF
Titanium もくもく会第6回 Kii Cloud と TiGPUImageView
by
濱田 章吾
PDF
TravisCIでActionScriptを動かす
by
gyoh_k
PDF
俺とAngular JS 2
by
Masayuki KaToH
PPTX
Editorlt
by
Masaki Suzuki
PDF
サムネイルを作る話
by
Ikuru Kanuma
PPTX
Node.js version16の新機能
by
Masaki Suzuki
PPTX
Angular2実践入門
by
Shumpei Shiraishi
PDF
S14 t3 yosuke_yamashita
by
Takeshi Akutsu
AngularJSとFluxとRiotJSと
by
Ryo Iinuma
毎日2000個のコンテナをstartする鯖が突然死して僕が驚愕した話
by
Koichiro Sumi
Sidekiq Proを1年ほど使ってみて良かったところ、困ったところ | 新宿.rb 29th #shinjukurb
by
Koichiro Sumi
Type scriptmemo
by
ytanno
Riotでサーバレスにした話
by
Hiroyuki Hara
JavaScriptフレームワーク入門にVue.jsはいかが?
by
好洋 山崎
One-time Binding & $digest
by
Hayashi Yuichi
翻訳から始めるVue.js 入門
by
Makoto Chiba
ReactをRailsとどっぷり使ってみた話と、フロントエンド×AWSのこれから
by
Yusuke Murata
0831 node学園lt
by
Kazuya Fukumoto
AngularJS2でつまづいたこと
by
Takehiro Takahashi
Clojureでガラケーサイトを作る際の細かい話
by
Ikuru Kanuma
Titanium もくもく会第6回 Kii Cloud と TiGPUImageView
by
濱田 章吾
TravisCIでActionScriptを動かす
by
gyoh_k
俺とAngular JS 2
by
Masayuki KaToH
Editorlt
by
Masaki Suzuki
サムネイルを作る話
by
Ikuru Kanuma
Node.js version16の新機能
by
Masaki Suzuki
Angular2実践入門
by
Shumpei Shiraishi
S14 t3 yosuke_yamashita
by
Takeshi Akutsu
Viewers also liked
PDF
意識低くMeteor紹介
by
hashedrock
PPTX
Riot.jsを用いたweb開発 takusuta tech conf #1
by
Keisuke Imai
PPTX
three.jsを「遅い」と思わせないデータの扱い方
by
jey en
PDF
Riot.js と戦った話 (8月26日 oRo LT 会)
by
kata shin
PDF
Gulp入門 - コーディングを10倍速くする
by
Hayashi Yuichi
PPTX
Web Workers
by
kaboccha
PDF
Go言語で作る webアプリ@gocon 2013 spring
by
Takuya Ueda
PPTX
Riot tutorial
by
Lena_S
PDF
Parseでちゃんとアプリを作るコツ
by
Takuya Tejima
PDF
Introduction of RiotJS
by
Ryo Iinuma
PDF
Riot.jsと仲良くなるための僕的tips
by
Keisuke Imai
PDF
Riot.jsとフォームのデータバインディング
by
Keisuke Imai
PPTX
golintを使おう
by
Takuma Morikawa
PPTX
Mithril - 軽量/高速なMVCフレームワーク
by
sairoutine
PDF
実践Backbone.Marionette 現場の悩みと解決まで
by
Ryuma Tsukano
PPTX
Web Workerで○○する話
by
ushiboy
PPTX
ライオンでも分かるVuejs
by
lion-man
PPTX
レガシーな Perl システムに DDD (ドメイン駆動設計)を取り入れる
by
sairoutine
PDF
Vue.js入門
by
Takuya Sato
PDF
jus研究会名古屋大会「Redmineでプロジェクトを【見える化】しよう!」
by
Taku Yajima
意識低くMeteor紹介
by
hashedrock
Riot.jsを用いたweb開発 takusuta tech conf #1
by
Keisuke Imai
three.jsを「遅い」と思わせないデータの扱い方
by
jey en
Riot.js と戦った話 (8月26日 oRo LT 会)
by
kata shin
Gulp入門 - コーディングを10倍速くする
by
Hayashi Yuichi
Web Workers
by
kaboccha
Go言語で作る webアプリ@gocon 2013 spring
by
Takuya Ueda
Riot tutorial
by
Lena_S
Parseでちゃんとアプリを作るコツ
by
Takuya Tejima
Introduction of RiotJS
by
Ryo Iinuma
Riot.jsと仲良くなるための僕的tips
by
Keisuke Imai
Riot.jsとフォームのデータバインディング
by
Keisuke Imai
golintを使おう
by
Takuma Morikawa
Mithril - 軽量/高速なMVCフレームワーク
by
sairoutine
実践Backbone.Marionette 現場の悩みと解決まで
by
Ryuma Tsukano
Web Workerで○○する話
by
ushiboy
ライオンでも分かるVuejs
by
lion-man
レガシーな Perl システムに DDD (ドメイン駆動設計)を取り入れる
by
sairoutine
Vue.js入門
by
Takuya Sato
jus研究会名古屋大会「Redmineでプロジェクトを【見える化】しよう!」
by
Taku Yajima
海外で注目されてるJs framework “mithril”の特徴
1.
海外で注目されてるJS Framework “Mithril”の特徴
2.
姜勝陽 ・JSER 3年目の駆け出し。 ・趣味SEO対策。Analyticsを眺めること。 ・ハングルが下手な韓国人ですw Shoyo kyo @shoyo_kyo
3.
本日のお話 Mithrilの 特徴について まきでザックリ 語ります
4.
1. Mithrilとは VirtualDOM を採用した データバインディング型 JavaScript Framework 2015/05/01
v0.2.0
5.
軽量 v0.11.8 v0.13.2 v1.3.15 v2.0.7 v0.2.0 V3.3.0 v0.7.2Ractive.js -> 162KB AngularJS
-> 123KB React -> 119KB Vue.js -> 59KB knockout -> 55KB Mithril -> 19KB Riot -> 9KB 2. Mithrilの特徴①
6.
3. Mithrilの特徴② 高速
7.
3. Mithrilの特徴② https://github.com/pygy/todomvc-perf-comparison 念の為、下記のTODOテストも参考
8.
3. Mithrilの特徴② todomvc-perfとは(ザックリ) 各フレームワークでTodoアプリを作り、 各処理の実行速度の合計を計測 総合的な速度を計測するのに適している
9.
3. Mithrilの特徴② ・50アイテム追加 ・全アイテムに チェックを入れる ・全アイテムを削 除する todomvc-perfとは(ザックリ)
10.
3. Mithrilの特徴② バージョンやブラウザの問題はあるが パフォーマンスは速めの認識でOK
11.
4. Mithrilの特徴③ 学習コスト低め ・APIは15個と少なめ。主要APIは4つ。 ・サードパーティ製ライブラリが不要に思えるほど 最低限、欲しい機能は揃ってる。 ・私はMithrilがキッカケでVirtualDomをはじめましたw
12.
4. Mithrilの特徴③ m.mount(root, module) ⇒
Mithrilで定義したアプリケーションを実行 m.prop() ⇒ getter/setter API m(selector, obj, value) ⇒ VirtualDOMの生成に使用するAPI m.withAttr(prop, callback) ⇒ “onclick”や“onchange”等のイベント発生時に実行する関数を定義す る際に使用 4つの主要API
13.
4. Mithrilの特徴③ m.mount var myCtrl
= function(){ ~controller処理~ }; var myView = function(ctrl){ return [ m(“div”, “test”), m(“p”, ctrl.description() ) ]; }; m.mount( document.getElementById("root"), { controller: myCtrl, view : myView }); Mithrilで定義したアプリケーションを実行
14.
4. Mithrilの特徴③ m.prop var myCtrl
= function() { this.name = m.prop("hoge"); console.log( this.name ); // -> function(){...} console.log( this.name() ); // -> "hoge" //change value this.name("fuga"); console.log( this.name() ); // -> "fuga" }; getter/setter API
15.
4. Mithrilの特徴③ m m(“br”) =>
<br> m(“div”, “Hello”) => <div>Hello</div> m("div", {class: "container"}, "Hello"); => <div class="container">Hello</div> m("div.container", "Hello"); => <div class="container">Hello</div> m("div[href='hoge.html']", "Hello"); => <div href="hoge.html">Hello</div> VirtualDOMの生成に使用するAPI
16.
4. Mithrilの特徴③ m.withAttr var myCtrl
= function() { this.alert = function(value){ alert(value); //click }; } var myView = function(ctrl) { return [ (“button", {onclick: m.withAttr("value", ctrl.alert), value: ”click” } ) ]; } イベントのCallback処理を定義
17.
4. Mithrilの特徴③ 結構使いそうな レンダリング通知系 API
18.
4. Mithrilの特徴③ m.startComputation var myCtrl
= function() { var that=this; this.text = m.prop("first"); setTimeout(function(){ m.startComputation(); that.text ( "setTimeout“); m.endComputation(); },2000); }; Viewの描画を行う m.mount、m.route、m.request、event実行処理の内部でも使用されている。 endComputationのタイミングで再描画通知が送信される。
19.
4. Mithrilの特徴③ m.redraw var myCtrl
= function() { var that=this; this.text = m.prop("first"); setTimeout(function(){ that.text ( "setTimeout“); m.redraw(true); },2000); }; Viewの強制再描画を行う 強制的に再描画通知を送る場合使用。
20.
4. Mithrilの特徴③ m.redraw.strategy var myCtrl
= function() { var that=this; this.text = m.prop("first"); console.log(m.redraw.strategy()); //-> all m.redraw.strategy("none"); console.log(m.redraw.strategy()); //-> none setTimeout(function(){ that.text ( "setTimeout“); console.log(m.redraw.strategy()); //-> diff m.redraw(true); },2000); }; 描画方法を設定可能 all、diff、noneの3種類。引数省略で取得可能。
21.
5. Mithrilの特徴④ サードパーティ製 ライブラリも使える ・Domレンダリング後に処理の実行が可能 ・jQueryUIやflipsnapを実行する事も可能 参考:http://stackoverflow.com/questions/27139920/how- does-mithril-and-jquery-interact-with-each-other
22.
5. Mithrilの特徴④ Configに設定した関数はレンダリング後に実行される ので、jquery.ui.datepickerも利用可能。
23.
6. Mithrilの特徴⑤ JSXならぬMSX コンパイラあり! ・gruntやgulpで使えるMSXコンパイラが用意されている。 https://github.com/insin/msx ・grunt-msxに関しては、旧バージョンのMSXの為注意。
24.
6. Mithrilの特徴⑤ JSX形式で記載後、MSXを使いコンパイルを行うと…
25.
6. Mithrilの特徴⑤ Mithrilの関数に変換してくれます。 end
26.
7. Mithrilの特徴⑥ コンポーネント形式でも 書けます Reactの様にコンポーネント前提でAPIが用意されてるわけではあ りませんが、returnで描画するDomを返すことで対応可能です。 Mithril 0.2.0からコンポーネント使えるようになりました。
27.
7. Mithrilの特徴⑤ 0.1.34は気合で作ってくれって内容でしたが… m(“a”, {href:
item.url}, item.title)
28.
7. Mithrilの特徴⑤ 0.2.0からm.componentで指定可能。
29.
8. Mithrilの特徴⑦ BROWSER ・IE8以下は非対応。 ⇒ es5-shim.min.jsやpolyfill.min.jsを読みこめば使える。 indexOf、map
、keysが内部的に使われている為。 ・pushstateを使う場合は注意。 ⇒ 一部AndroidデフォルトブラウザやIE9以下、OperaMiniで 動かない為。
30.
・軽量、高速 ・学習コスト低め ・サードパーティ製ライブラリ利用可能 ・JSX風にも書ける ・コンポーネント化可能 ・ブラウザ対応も基本問題なし 最後にまとめ モバイル向けのSPAに最適
31.
END
Download