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
M3社内ツールのフロントエンド開発環境の改善#m3dev
Search
sanata0130
May 23, 2017
Programming
170
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
M3社内ツールのフロントエンド開発環境の改善#m3dev
sanata0130
May 23, 2017
Other Decks in Programming
See All in Programming
【やさしく解説 設計編 #0】DDDのコード、読めるのに分からない人へ
panda728
PRO
2
240
才能?センス?知らん、 続けたもん勝ちだ。-- 結婚・出産・癌を越えてなお、私がプロダクトを創り続ける理由
16bitidol
2
810
自作OSでスライド発表する
uyuki234
1
3.7k
SREは、MCPとSRE Agentをこう使え!
kazumax55
0
150
OSINT for SRE: 学術論文とポストモーテムから探る システム障害の共通パターン / SRE NEXT 2026
tomoyk
1
3k
Creating Composable Callables in Contemporary C++
rollbear
0
200
関数型プログラミングのメリットって何だろう?
wanko_it
0
150
はてなアカウント基盤 State of the Union
cockscomb
1
1.3k
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
4
1.6k
LaravelLive Japan の裏方のすべて — 第188回 PHP勉強会@東京 (2026-06-24)
suguruooki
2
150
どこまでゆるくて許されるのか
tk3fftk
0
450
分散システム、なんですぐ死んでしまうん?耐障害性を高めたいあなたのためのレジリエンスパターン入門
mshibuya
7
5.2k
Featured
See All Featured
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
200
For a Future-Friendly Web
brad_frost
183
10k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
The World Runs on Bad Software
bkeepers
PRO
72
12k
A better future with KSS
kneath
240
18k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Optimizing for Happiness
mojombo
378
71k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
My Coaching Mixtape
mlcsv
0
170
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
What does AI have to do with Human Rights?
axbom
PRO
1
2.2k
Transcript
M3 社内ツールの フロントエンド開発環境の改善 2017.5.19 阿部早苗(M3, Inc)
社内ツールの紹介 プロデューサー&ディレクター向けのツール。 フォームに入力していくと、コーダーへの作業依頼に必要な情報をまとめることができ る。
これまでの開発環境 2014年〜2017年4月
主な問題点 1. プロジェクト管理がしづらい ◦ パッケージが Bower と NPM の二重管理になっている ◦
ドットファイルが散在している 2. タスクランナーの管理が大変 ◦ 更新が途絶える Grunt プラグイン ◦ Gruntfile.js が複雑化、デバッグがしづらい 3. Sass などの代替言語が衰退しつつある ◦ 独自構文から次世代の標準構文でのコーディングに移り変わってきた 4. 運用工数がかかる ◦ JSのフレームワークを入れたい
新しい開発環境 2017年4月〜
主な改善点 1. パッケージ、タスク、各種ツールの設定を package.json で一元管理 ◦ プロジェクトの管理、環境構築が容易に 2. ビルドを Grunt
から Webpack へ移行 ◦ 依存関係を解消ながら、シンプルなビルドを可能に 3. Sass から PostCSS へ移行、Babel の導入 ◦ 次世代の標準構文でコーディングが可能に 4. Vue.js の導入 ◦ 開発&運用の工数を削減
パッケージ、タスク、各種ツールの設定を 1. package.json で一元管理 • タスクを Grunt から package.json の
scripts に移行。yarn で実行できるように。 ドットファイル も少なく • Babel, ESLint, StyleLint 等のツールの設定を packge.json にまとめた。 • フロントエンドのパッケージ管理を Bower から Yarn に変更。 (Yarn:NPM に互換性のあるパッケージマネージャ) yarn install yarn build yarn start gem install sass npm install -g bower npm install -g grunt-cli npm install bower install grunt 環境構築が3行&約1分に
2. ビルドを Grunt から Webpack へ移行 1. 依存しているモジュールや CSS を
JS 内で import。 2. JS と CSS を分離。 3. JS と CSS をそれぞれ別のツールでビルド、バンドルファ イルを作成。 main.js Webpack:依存関係を解消するビルドツール。 Grunt の複雑なタスク定義、 プラグインの不具合から逃れ、 ビルドがシンプルに webpack.config.js
3. Sass から PostCSS へ移行, Babel の導入 ★次世代の標準構文でコーディングするメリット ・コードがツールに依存しない ・ブラウザのサポートが追いついたらそのまま移行できる
・新技術のキャッチアップに役立つ PostCSS… プラグインを使ってスタイルを変換するツール。次世代の CSS 標準構文をブラウザでサポートされている構文 に変換できる CSSNext プラグインが有名。 - Ruby Sass の30倍処理が早い - Sass のように全部入りではなく、必要な機能だけをプラグインで拡張できる Babel… 次世代の JS の標準機能を、ES5 に変換できるツール
4. Vue.js の導入 Input Output Vue.jsを使えば たったこれだけで、 ユーザの入力内容が 反映される Vue.js:UI
を構築するための JS フレームワーク。 今回、複雑ことはしていないが v-model ディレクティブがとても役立った。 テンプレートファイル作って、コ ンパイルして、他のJSと一緒に バンドルして、ユーザの入力内 容を取得して、JSONにして、 Handlebarsに渡して… 複雑化していたJS
今回、社内ツールの開発環境を以下の方法で改善しました。 1. パッケージ、タスク、各種ツールの設定を package.json で一元管理 ➡ プロジェクトの管理、環境構築が容易に 2. ビルドを Grunt
から Webpack へ移行 ➡ 依存関係を解消ながら、シンプルなビルドを可能に 3. Sass から PostCSS へ移行、Babel の導入 ➡ 次世代の標準構文でコーディングが可能に 4. Vue.js の導入 ➡ 開発&運用の工数を削減 知らなかったツールや効率化手法があったら使ってみてください。 もっと良い方法があったら教えてください。 まとめ
参考ページ https://github.com/hail2u/hail2u.net https://github.com/mizchi/frontend-boilerplate