タスクランナー導入 〜とあるwordpress制作環境〜

100
タスクランナー導入 ~とあるWordPress制作環境~ 古川 勝也 NPO法人 あおもりIT活用サポートセンター 理事

Upload: masaya-kogawa

Post on 09-Jan-2017

1.317 views

Category:

Software


0 download

TRANSCRIPT

Page 1: タスクランナー導入 〜とあるWordPress制作環境〜

タスクランナー導入~とあるWordPress制作環境~

古川 勝也NPO法人 あおもりIT活用サポートセンター 理事

Page 2: タスクランナー導入 〜とあるWordPress制作環境〜

自己紹介

• 古川 勝也(こがわ まさや)

• あおもりIT活用サポートセンター理事

• CalmTech(カームテック) 代表

• CPIエバンジェリスト

• テクテク編集部 代表

• 料理研究一家「古川家」

Page 3: タスクランナー導入 〜とあるWordPress制作環境〜

本日の流れ

• Webデザインを取り巻く現状

• セッションの対象とゴール

• ブラウザの外のJS

• パッケージマネージャー概説

• タスクランナー概説

• WordPress制作環境での導入例

• まとめ

Page 4: タスクランナー導入 〜とあるWordPress制作環境〜

Webデザイナーはどこへ行く?認識をすり合わせましょう

Page 5: タスクランナー導入 〜とあるWordPress制作環境〜

Webは高度な複合技術

• ホームページ作りたい!(ごく気軽な思い)

• サーバー、ドメイン、FTP…etc

• HTML、CSS、JS、ビットマップ…etc

• CGI、データベース、SSL…etc

• CMS、ウェブビルダー、ブログ…etc

• 一体いくつ覚えればいいのよ!?(半ギレ)

Page 6: タスクランナー導入 〜とあるWordPress制作環境〜

楽になったコトも苦になったコトも増えましたね

ぜんぜん手軽じゃない

Page 7: タスクランナー導入 〜とあるWordPress制作環境〜

だって、いっぱい増えてますもの

Page 8: タスクランナー導入 〜とあるWordPress制作環境〜

Webデザイン業界の個人的超解釈

• DTP業界からの流入で本格スタート

• 検索エンジン浸透で代理店、マーケターが本腰

• SEO戦国時代、ガラケー天国

• 回線の高速化が普及してキャズム越え

• iPhone登場でアプリバブル到来

• 1人1台スマホ、SIer業界からの流入が増加

• コンテンツと技術の乱立で見直し開始 <イマココ

Page 9: タスクランナー導入 〜とあるWordPress制作環境〜

どういうバランスにしていきます?

マーケティング

インタラクション

マークアップ

IA UX

ビジュアルデザイン

Page 10: タスクランナー導入 〜とあるWordPress制作環境〜

大事なのはゴールとモチベーション

そもそもナゼ?

Page 11: タスクランナー導入 〜とあるWordPress制作環境〜

Web技術のコモディティ化

• 誰でも「すぐに」ホームページ、ブログ開設

• 誰でも「すぐに」決済機能つきECサイト開設

• 誰でも「すぐに」写真、動画を共有

• 誰でも「すぐに」メッセージ送信、返信

Page 12: タスクランナー導入 〜とあるWordPress制作環境〜

大量生産、大量消費、スピード命

• 技術の進歩が高速化&多様化

• 消費サイクルも高速化

• 高度化した技術がインフラとして浸透

Page 13: タスクランナー導入 〜とあるWordPress制作環境〜

でも健康でいることを第一にしましょうね

時間がいくらあっても足りない

Page 14: タスクランナー導入 〜とあるWordPress制作環境〜

時間は資源であり有限、効率よく使いたいところ

時は金なり

Page 15: タスクランナー導入 〜とあるWordPress制作環境〜

どうやって壁を越えていくか?

• 手動の割合を減らしていく

• 作ったものは可能な限り再利用する

• 1つの仕事が連鎖する仕組みを作る

Page 16: タスクランナー導入 〜とあるWordPress制作環境〜

それが全てではありませんが

自動化せよ

Page 17: タスクランナー導入 〜とあるWordPress制作環境〜

本セッションでの自動化とは

• コンピューターに任せる仕事の範囲を決める

• コンピューターに任せるために仕事を定型化する

• 繰り返しに落とし込む

• コンピューターに仕事を任せる

Page 18: タスクランナー導入 〜とあるWordPress制作環境〜

コンピューターは知の鏡

自動化=機械化

Page 19: タスクランナー導入 〜とあるWordPress制作環境〜

機械化するメリットとは?

• ミスの可能性が減る

• 品質の保証ラインが均一化される

• 人間が拘束される時間が減少する

• 人間しかできないコトに集中できる

• 「時間」を「価値」に転化する機会が増える

Page 20: タスクランナー導入 〜とあるWordPress制作環境〜

時間をお金で買うのも1つの選択ですが

時は金なり

Page 21: タスクランナー導入 〜とあるWordPress制作環境〜

Web制作で自動化できることは?

• CMSや制作環境の導入

• CSSやJSの結合、圧縮

• 動作確認のブラウザリロード

• 複数デバイスでの表示確認

Page 22: タスクランナー導入 〜とあるWordPress制作環境〜

本セッションのターゲット前提知識が色々とありまして・・・

Page 23: タスクランナー導入 〜とあるWordPress制作環境〜

HTMLの前提知識・経験

• 静的サイトの制作経験がある

Page 24: タスクランナー導入 〜とあるWordPress制作環境〜

CSSの前提知識・経験

• CSSフレームワークを知っている、使っている

• CSSプリプロセッサを知っている、使っている

Page 25: タスクランナー導入 〜とあるWordPress制作環境〜

JavaScriptの前提知識・経験

• jQueryとかのライブラリを使ったことがある

• JSONを見たこと、聞いたことがある

Page 26: タスクランナー導入 〜とあるWordPress制作環境〜

WordPressの前提知識と経験

• WordPressインストールは自分でできる

• XAMPPやMAMP上に構築できる

• 独自テーマを作成したことがある

Page 27: タスクランナー導入 〜とあるWordPress制作環境〜

そう、あれです。黒いやつです。

運命の別れ道

Page 28: タスクランナー導入 〜とあるWordPress制作環境〜

Y/n

黒い画面つかってみますか?

Page 29: タスクランナー導入 〜とあるWordPress制作環境〜

顔に出てますよ?

今、迷わず「No」と思いましたね

Page 30: タスクランナー導入 〜とあるWordPress制作環境〜

嘘です

(・∀・)カエレ!

Page 31: タスクランナー導入 〜とあるWordPress制作環境〜

他の方法もちゃんとあります

黒い画面をできるだけ避けたい方へ

Page 32: タスクランナー導入 〜とあるWordPress制作環境〜

CodeKit(Macのみ)一時期、話題になったコンパイルツールが進化しました

Page 33: タスクランナー導入 〜とあるWordPress制作環境〜

Prepros(Win/Mac/Linuxすべて対応)コンパイルとかブラウザリロードとかFTPとか全部やってくれます

Page 34: タスクランナー導入 〜とあるWordPress制作環境〜

これで十分なのでは?

• Sass/SCSSだけ自動化は手軽

• ブラウザリロードだけでもありがたいぐらい

• まず必要性と利便性を感じてみる

• Macユーザー特権でなくなってきました

Page 35: タスクランナー導入 〜とあるWordPress制作環境〜

git for windows(git-bash)Windowsで黒い画面を使うにはこれが1番手軽

Page 36: タスクランナー導入 〜とあるWordPress制作環境〜

プログラマーには日常的ですが・・・

なんで黒い画面前提なんでしょうね

Page 37: タスクランナー導入 〜とあるWordPress制作環境〜

GUI化は多大な労力が必要

• フロントエンドの変化がかなり早い状況

• 今は「鉄板」がない

• 作ってすぐ動かすにはCUIが手軽

• GUIだとカスタマイズに限界がある

• カンプ作って終わりならな… < 同じこと

Page 38: タスクランナー導入 〜とあるWordPress制作環境〜

コントロールできない技術はリスクにもなります

待つことも重要な選択肢

Page 39: タスクランナー導入 〜とあるWordPress制作環境〜

ブラウザの外で動くJSいろいろな使い方されるようになりました

Page 40: タスクランナー導入 〜とあるWordPress制作環境〜
Page 41: タスクランナー導入 〜とあるWordPress制作環境〜

Node.js

• サーバーサイドJavaScript環境

• フロントエンドに役立つツールがいっぱい

• Long-term Support版がオススメ

Page 42: タスクランナー導入 〜とあるWordPress制作環境〜
Page 43: タスクランナー導入 〜とあるWordPress制作環境〜

パッケージマネージャー概説これがないと困ったことになります

Page 44: タスクランナー導入 〜とあるWordPress制作環境〜

なぜ必要なの?

• Aと言うライブラリを使うにはBが必要

• BはCとDに依存したツール

• えーと、つまり全部入れればいいのかな?

• バージョンの相性とかあんの!?

• 人の手でやってられません

Page 45: タスクランナー導入 〜とあるWordPress制作環境〜
Page 46: タスクランナー導入 〜とあるWordPress制作環境〜

• Node.jsのパッケージ管理ツール

• サーバーサイド、フロントエンド問わず

• npmにもタスク実行機能が備えられている

npm

Page 47: タスクランナー導入 〜とあるWordPress制作環境〜

-g はグローバルの意味 1度インストールすると以後はどこでも呼び出し可能に

> npm install -g [パッケージ名]

Page 48: タスクランナー導入 〜とあるWordPress制作環境〜

初期処理として packages.json 作成 プロジェクトごとにパッケージを管理する想定

> npm init

Page 49: タスクランナー導入 〜とあるWordPress制作環境〜

インストールしたパッケージは packages.json に追記 ̶save でパッケージ間の依存関係も追加される ̶save-dev は制作時のみ使用するパッケージを指す node_modules 以下にインストールされる

> npm install [パッケージ名] ̶save > npm install [パッケージ名] ̶save-dev

Page 50: タスクランナー導入 〜とあるWordPress制作環境〜

プロジェクトで packages.json を共有している時に利用 指定しておいたパッケージが一括でインストールされる そのためにも ̶save と ̶save-dev オプションが重要 ̶production で ̶save-dev で入れたパッケージ除外

> npm install

Page 51: タスクランナー導入 〜とあるWordPress制作環境〜
Page 52: タスクランナー導入 〜とあるWordPress制作環境〜

• Twitter製パッケージマネージャー

• フロントエンド用に特化

• Bootstrapとか

Bower

Page 53: タスクランナー導入 〜とあるWordPress制作環境〜

初期処理 bower.json 作成 プロジェクトごとにパッケージを管理する想定

> bower init

Page 54: タスクランナー導入 〜とあるWordPress制作環境〜

インストールしたパッケージは bower.json に追記 ̶save でパッケージ間の依存関係も追加される ̶save-dev は制作時のみ使用するパッケージを指す bower_components 以下にインストールされる

> bower install [パッケージ名] ̶save > bower install [パッケージ名] ̶save-dev

Page 55: タスクランナー導入 〜とあるWordPress制作環境〜

プロジェクトで bower.json を共有している時に利用 指定しておいたパッケージが一括でインストールされる そのためにも ̶save と ̶save-dev オプションが重要 ̶production で ̶save-dev で入れたパッケージ除外

> bower install

Page 56: タスクランナー導入 〜とあるWordPress制作環境〜
Page 57: タスクランナー導入 〜とあるWordPress制作環境〜

• Rubyのパッケージマネージャー

• Sass/SCSS、Compassぐらい

RubyGems(通称:gem)

Page 58: タスクランナー導入 〜とあるWordPress制作環境〜

グローバルでインストール プロジェクトごとにパッケージを管理するBundlerもある

> gem install [パッケージ名]

Page 59: タスクランナー導入 〜とあるWordPress制作環境〜
Page 60: タスクランナー導入 〜とあるWordPress制作環境〜

• PHPのパッケージマネージャー

• WordPressがらみで使うかも

Composer

Page 61: タスクランナー導入 〜とあるWordPress制作環境〜

composer.json というパッケージを記述するファイル生成

> composer init

Page 62: タスクランナー導入 〜とあるWordPress制作環境〜

インストールしたパッケージは composer.json に追記 パッケージ間の依存関係も追加される ̶dev は制作時のみ使用するパッケージを指す vendor 以下にインストールされる

> composer require [パッケージ名] > composer require [パッケージ名] ̶dev

Page 63: タスクランナー導入 〜とあるWordPress制作環境〜

composer.json に記述されたパッケージをインストール

> composer install

Page 64: タスクランナー導入 〜とあるWordPress制作環境〜

うわぁ・・・って思われても仕方ありません

察しの通り、全部つかいます

Page 65: タスクランナー導入 〜とあるWordPress制作環境〜

実はコマンド形式ほぼ一緒

npm install

bower install

gem install

composer install

Page 66: タスクランナー導入 〜とあるWordPress制作環境〜

タスクランナー概説なんと本編はここから!

Page 67: タスクランナー導入 〜とあるWordPress制作環境〜
Page 68: タスクランナー導入 〜とあるWordPress制作環境〜

Gulp

• タスクという単位の処理を自動でこなす

• 非同期で実行するので既存ツールより高速

• プラグインを組み合わせると高度な処理が可能に

Page 69: タスクランナー導入 〜とあるWordPress制作環境〜

インストールから実行まではこれだけ

> npm install -g gulp > gulp

Page 70: タスクランナー導入 〜とあるWordPress制作環境〜

WordPress制作環境に導入いくつかのアプローチがあります

Page 71: タスクランナー導入 〜とあるWordPress制作環境〜

ツール群をどう取り込むべきか?

• WordPress構造はどうする?

• 独自テーマだけ作ることができればいい?

• 動作確認はどうやって行う?

Page 72: タスクランナー導入 〜とあるWordPress制作環境〜

なるべく手動で用意しないように

ゼロから考えるより既存をカスタム

Page 73: タスクランナー導入 〜とあるWordPress制作環境〜
Page 74: タスクランナー導入 〜とあるWordPress制作環境〜

Yeoman

• ひな型を自動生成してくれるツール

• 様々なひな型が公開されている

• インストールしたもので勉強する

Page 75: タスクランナー導入 〜とあるWordPress制作環境〜

後は yo というコマンドを呼ぶだけ

> npm install -g yo

Page 76: タスクランナー導入 〜とあるWordPress制作環境〜
Page 77: タスクランナー導入 〜とあるWordPress制作環境〜

YeoPress

• Yeoman経由でWordPressをインストール

• 初期設定を対話形式CUIで行う

• あらかじめカスタムされたフォルダ構造もある

• local-config.phpで設定を上書きできる

Page 78: タスクランナー導入 〜とあるWordPress制作環境〜

WordPressのインストールが始まります ̶advanced オプションをつけると細かい点を調整できます

> npm install -g generator-wordpress > yo wordpress ̶advanced

Page 79: タスクランナー導入 〜とあるWordPress制作環境〜

WordPress日本語化に注意

• アップデートすれば日本語化は大丈夫

• WP Multibyte Patch は自分で入れます

Page 80: タスクランナー導入 〜とあるWordPress制作環境〜

local-config.phpテスト環境用のファイルを置くだけで設定の切り替えができます

Page 81: タスクランナー導入 〜とあるWordPress制作環境〜

yo-emi

• WordPressのテーマひな型 Emi がベース

• Yeoman経由でインストール

• Gulp、Sass、Autoprefixerなど設定済み

• LiveReloadで自動更新

Page 82: タスクランナー導入 〜とあるWordPress制作環境〜

テーマフォルダの下で実行します テーマ名は英数字とアンダースコアでつけましょう ハイフンだと自動生成される関数名でエラーになります

> yo emi

Page 83: タスクランナー導入 〜とあるWordPress制作環境〜

Gulp利用前に

> gem install sass

gulpfile.jsでコンパイル対象を指定する

LiveReload使用が初期状態

Page 84: タスクランナー導入 〜とあるWordPress制作環境〜

制作環境が最初から整っている、ありがたさ

洗練された土台でスタートダッシュ

Page 85: タスクランナー導入 〜とあるWordPress制作環境〜
Page 86: タスクランナー導入 〜とあるWordPress制作環境〜
Page 87: タスクランナー導入 〜とあるWordPress制作環境〜

Bedrock

• WordPressのひな型

• 最初から色々とカスタマイズ済み

• 構成は複雑に見えるが、よく整理されている

• dotenvという仕組みで設定を変更できる

Page 88: タスクランナー導入 〜とあるWordPress制作環境〜

パッケージをインスールしましょう 必要なものは最初から記述されています

> composer install

Page 89: タスクランナー導入 〜とあるWordPress制作環境〜

やはりWordPress日本語化に注意

• アップデートを忘れずに

• これもWP Multibyte Patch は自分で入れます

Page 90: タスクランナー導入 〜とあるWordPress制作環境〜

.envlocal-config.phpのようにテスト環境と設定の切り替えができます

Page 91: タスクランナー導入 〜とあるWordPress制作環境〜

• WordPressテーマのひな型

• 必要なものは一通り揃っている

• Bedrockは必須ではない

Sage

Page 92: タスクランナー導入 〜とあるWordPress制作環境〜

Sageインストールの前に

> gem install sass

Page 93: タスクランナー導入 〜とあるWordPress制作環境〜

パッケージをインスールしましょう 必要なものは最初から記述されています

> npm install > bower install

Page 94: タスクランナー導入 〜とあるWordPress制作環境〜

manifest.jsonGulpで使用される基本設定が記述されています

Page 95: タスクランナー導入 〜とあるWordPress制作環境〜

まとめお持ち帰りできることはありましたか?

Page 96: タスクランナー導入 〜とあるWordPress制作環境〜

できそうなところから自動化

• SCSS/Sassの導入とコンパイル

• ブラウザリロード

• 複数端末での表示チェック

• GUIツールからまず触ってみる

Page 97: タスクランナー導入 〜とあるWordPress制作環境〜

自動化=機械化

Page 98: タスクランナー導入 〜とあるWordPress制作環境〜

機械化したメリットとは?

• ミスの可能性が減る

• 品質の保証ラインが均一化される

• 人間が拘束される時間が減少する

• 人間しかできないコトに集中できる

• 「時間」を「価値」に転化する機会が増える

Page 99: タスクランナー導入 〜とあるWordPress制作環境〜

大事なことなので3回言いました

時は金なり

Page 100: タスクランナー導入 〜とあるWordPress制作環境〜

良き「きっかけ」となりますように

http://www.aoit.jp