Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
この素晴らしい Vue.js に祝福を!
Search
Hideyuki Takeuchi
March 16, 2017
Programming
16
11k
この素晴らしい Vue.js に祝福を!
Vue.js Tokyo v-meetup="#3" での発表資料です。
Hideyuki Takeuchi
March 16, 2017
Tweet
Share
More Decks by Hideyuki Takeuchi
See All by Hideyuki Takeuchi
Exposed 応用編 〜内部実装 と 魔拡張〜
chimerast
3
2k
Delegatesと拡張関数・拡張プロパティその合わせ技
chimerast
0
770
Kotlin Coroutines と Ktor HTTP Client で作るスケールするタスク実行
chimerast
1
2k
UZABASE創業期から10年いるエンジニアから見た「BtoB SaaSのUI/UXってなんだろう?」
chimerast
1
860
暗号通貨の鍵を安全に管理するアーキテクチャを作ってみようとしている話
chimerast
0
420
WhitestormJSを触ってみた
chimerast
0
520
RxJava + Vert.x + jOOλ で Microservice的な何かを作ってみた
chimerast
0
2.7k
40億レコード以上のSPEEDA大規模データを超高速に表示するElasticsearch活用法
chimerast
1
4k
もっとデータ可視化をカジュアルに!OSSプロジェクト「E2D3」
chimerast
1
2.9k
Other Decks in Programming
See All in Programming
プログラミングどうやる? ~テスト駆動開発から学ぶ達人の型~
a_okui
0
190
大規模アプリのDIフレームワーク刷新戦略 ~過去最大規模の並行開発を止めずにアプリ全体に導入するまで~
mot_techtalk
0
350
Go Conference 2025: Goで体感するMultipath TCP ― Go 1.24 時代の MPTCP Listener を理解する
takehaya
7
1.5k
Build your own WebP codec in Swift
kishikawakatsumi
2
870
iOSエンジニア向けの英語学習アプリを作る!
yukawashouhei
0
170
NetworkXとGNNで学ぶグラフデータ分析入門〜複雑な関係性を解き明かすPythonの力〜
mhrtech
3
950
Your Perfect Project Setup for Angular @BASTA! 2025 in Mainz
manfredsteyer
PRO
0
110
Let's Write a Train Tracking Algorithm
twocentstudios
0
220
iOSエンジニア向けの英語学習アプリを作る!
yukawashouhei
0
150
私達はmodernize packageに夢を見るか feat. go/analysis, go/ast / Go Conference 2025
kaorumuta
2
450
Pythonスレッドとは結局何なのか? CPython実装から見るNoGIL時代の変化
curekoshimizu
4
1.2k
Serena MCPのすすめ
wadakatu
4
860
Featured
See All Featured
Building Applications with DynamoDB
mza
96
6.6k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Fireside Chat
paigeccino
40
3.7k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
114
20k
For a Future-Friendly Web
brad_frost
180
9.9k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
GitHub's CSS Performance
jonrohan
1032
460k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6.1k
Transcript
この素晴らしい Vue.js に祝福を! たけうち ひでゆき @chimerast from E2D3 @chimerast 1
時間が無くて雑コラ @chimerast 2
自己紹介 たけうちさんは縮退しました @chimerast 株式会社ユー ザベー ス 社内ニー ト 全方位型エンジニア 最近いじってるもの:
HoloLens @chimerast 3
Vue.js 遍歴 2015 年頭ぐらいからv0.11 をさわり始め、 2015 年中頃からプロダクトに導入 NewsPicks 広告出稿・ 分析画面
(2015 年~) SPA として作成 SPEEDA 統計・ 財務デー タ入力画面 (2016 年~) 新規プロダクト ( 未リリー ス 2017 年~) SPA として作成 vue 2.2 + vuex + vue-router + axios + babel @chimerast 4
今日のお題: E2D3 と Vue.js Excel にデー タを入力すると D3.js とかでビジュアライズして 表示してくれるExcel
アドイン E2D3 主催の五十嵐さんが Vue.js ドキュメントの日本語訳にも 関わっている( らしい) E2D3 ではVue.js をカジュアルに使用 @chimerast 5
E2D3 の簡単な紹介 @chimerast 6
@chimerast 7
DEMO @chimerast 8
@chimerast 9
@chimerast 10
@chimerast 11
@chimerast 12
@chimerast 13
E2D3 もろもろ オー プンソー スでGitHub 上で開発してます グラフテンプレー ト数: 93 種
GitHub Contributor: 41 人 アクティブメンバー: 51 人 ( 幽霊部員含めると100 人超え) エンジニア界隈ではなく、 オー プンデー タ界隈での活動が活発 もくもく会とかハッカソンとかよくやってます いろいろ賞を受賞しています @chimerast 14
総務大臣賞 @ STAT DASH グランプリ @chimerast 15
詳しくはホー ムペー ジから! http://e2d3.org/ja/ @chimerast 16
E2D3 で Vue.js を導入した経緯 @chimerast 17
@chimerast 18
昔は D3.js と jQuery でがんばってた setupGrid = () -> d3.select
'#contrib' .selectAll 'div' .data charts .enter().append 'div' .classed 'col-xs-4', true .each (d, i) -> newcell = d3.select(cell.cloneNode(true)) baseUrl = e2d3.util.baseUrl d.path newcell.select '.cover' .style 'background-image', "url('#{baseUrl}/thumbnail.png')" .select '.title' .text d.title ... @chimerast 19
対するHTML 側 <div id="contrib" class="row grid"> @chimerast 20
画面の拡張を続けていくのに だいぶしんどい @chimerast 21
そうだ Vue.js を カジュアルに導入しよう! @chimerast 22
Vue.js 導入後: CoffeeScript new Vue el: 'body' data: charts: []
ready: -> e2d3.api.topcharts() .then (charts) => @charts = charts components: chart: data: () -> readme: '' computed: baseUrl: -> e2d3.util.baseUrl(this.path) cover: -> @baseUrl + '/thumbnail.png' link: -> "chart.html##{@path},#{@scriptType},#{@dataType}" @chimerast 23
Vue.js 導入後: Pug(Jade) #contrib.row.grid(v-cloak) div(v-component='chart', v-repeat='charts', inline-template) .col-xs-4 figure .outer
.inner.cover(v-style="background-image: 'url(' + cover + ')'") .title {{title}} figcaption .action a.btn.btn-sm.btn-visualize(href='{{link}}') i.fa.fa-bar-chart | Visualize .readme {{{readme}}} @chimerast 24
すっきり 構造がちゃんとHTML 上に現れる @chimerast 25
カジュアルに Vue.js を使う @chimerast 26
v-for で繰り返し処理 @chimerast 27
@chimerast 28
簡単にJS で表が作れる! @chimerast 29
まとめ Vue.js はカジュアルにも使える コンポー ネントとか作らず1 画面内で使う Vue.js はガチにも使える vue +
vuex + vue-router + axios + babel コンポー ネントをバリバリ作成 学習曲線はわりと理想だと思う 最近の MS Of ce は HTML と JS でアドインが書けるよ @chimerast 30
E2D3 ではコントリビュー タを 募集しています! @chimerast 31