Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
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
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
230
GitHubハンズオン講座 — 実務レベルのチーム開発のフローを身につけよう
junhat6
0
110
手動確認はもう限界 〜XCUITestでCustom URL Schemeの遷移を起動種別ごとに自動テストする〜 / Testing Custom URL Schemes with XCUITest
otouto
0
360
JPUG勉強会 OSSデータベースの内部構造を理解しよう(第2回)
oga5
0
280
iOSDC Japan 2026 - Swiftで作って学ぼう!データベース自作入門
kaseken
2
390
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
390
FreeBSDでZabbixを動かす
kenkino
0
330
個人開発基盤をまるごとCloudflareに引っ越して爆速で総合的体験を向上させた話
tinykitten
0
210
AWSに止められる覚悟してますか?
morizo_1984
2
470
AI Agent時代のリアーキテクチャ戦略と実践
hokaccha
9
5.1k
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
320
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
290
Featured
See All Featured
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
960
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.3k
The World Runs on Bad Software
bkeepers
PRO
72
12k
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
370
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
440
Typedesign – Prime Four
hannesfritz
42
3.2k
Heart Work Chapter 1 - Part 1
lfama
PRO
10
36k
It's Worth the Effort
3n
188
29k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
530
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
460
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