223
ブラウザだけで学ぶWebアプリ開発【デザイン編】

ブラウザだけで学ぶWebアプリ開発【デザイン編】

Embed Size (px)

DESCRIPTION

schoo WEB-campus http://schoo.jp/class/381

Citation preview

Page 1: ブラウザだけで学ぶWebアプリ開発【デザイン編】

ブラウザだけで学ぶWebアプリ開発【デザイン編】

Page 2: ブラウザだけで学ぶWebアプリ開発【デザイン編】

自己紹介

Page 3: ブラウザだけで学ぶWebアプリ開発【デザイン編】

自己紹介

•町田哲平と申します•合同会社フィヨルドという会社でデザイナーをやっています

•Twitter アカウントは @machida•Facebookは 町田哲平 で検索•Ruby on Rails で作られた怖い話が読めるサービス「怖話」を運営しています

Page 4: ブラウザだけで学ぶWebアプリ開発【デザイン編】

自己紹介

•怖い話のサービスだけではなく企業が使う、メールや Fax や封書を送るサービス開発のお手伝いもしています

Page 5: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•前回の復習•なんでデザイナーが Webアプリ開発?•書籍アプリの HTML を変更•書籍アプリの CSS を変更•本番環境(Heroku)に送る

授業でやること

Page 6: ブラウザだけで学ぶWebアプリ開発【デザイン編】

前回の復習1月20日(月)放送「ブラウザだけで学ぶWebアプリ開発【開発編】」

Page 7: ブラウザだけで学ぶWebアプリ開発【デザイン編】

前回のやったこと

Page 8: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•Rails のプロジェクトを作成 rails new bookshelf

前回のやったこと

Page 9: ブラウザだけで学ぶWebアプリ開発【デザイン編】

前回のやったこと

•Rails のプロジェクトを作成 rails new bookshelf

•bookshelf ディレクトリに移動 cd bookshelf

Page 10: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•Rails のプロジェクトを作成 rails new bookshelf

•bookshelf ディレクトリに移動 cd bookshelf

•書籍のタイトルと価格を入力、表示する機能を実装rails g scaffold book title:string price:integer

前回のやったこと

Page 11: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•Rails のプロジェクトを作成 rails new bookshelf

•bookshelf ディレクトリに移動 cd bookshelf

•書籍のタイトルと価格を入力、表示する機能を実装rails g scaffold book title:string price:integer

•データベースのセットアップrake db:migrate

前回のやったこと

Page 12: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•Rails のプロジェクトを作成 rails new bookshelf

•bookshelf ディレクトリに移動 cd bookshelf

•書籍のタイトルと価格を入力、表示する機能を実装rails g scaffold book title:string price:integer

•データベースのセットアップrake db:migrate

•サーバを立ち上げて確認rails s

前回のやったこと

Page 13: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•Rails のプロジェクトを作成 rails new bookshelf

•bookshelf ディレクトリに移動 cd bookshelf

•書籍のタイトルと価格を入力、表示する機能を実装rails g scaffold book title:string price:integer

•データベースのセットアップrake db:migrate

•サーバを立ち上げて確認rails s

•本番環境(Heroku)に送る

前回のやったこと

Page 14: ブラウザだけで学ぶWebアプリ開発【デザイン編】

今回も Nitrous.IO でサーバを立ちあげます

chrome で https://www.nitrous.io/ を開く

nitrous.io と入力して Enterキー

Page 15: ブラウザだけで学ぶWebアプリ開発【デザイン編】

https://www.nitrous.io/

今回も Nitrous.IO でサーバを立ちあげます

Page 16: ブラウザだけで学ぶWebアプリ開発【デザイン編】

メールパスワード

メールアドレスとパスワードを入力

今回も Nitrous.IO でサーバを立ちあげます

Page 17: ブラウザだけで学ぶWebアプリ開発【デザイン編】

bookshelf をクリック

クリック

今回も Nitrous.IO でサーバを立ちあげます

Page 18: ブラウザだけで学ぶWebアプリ開発【デザイン編】

Start をクリック

クリック

今回も Nitrous.IO でサーバを立ちあげます

Page 19: ブラウザだけで学ぶWebアプリ開発【デザイン編】

IDE をクリック

クリック

今回も Nitrous.IO でサーバを立ちあげます

Page 20: ブラウザだけで学ぶWebアプリ開発【デザイン編】

Chat は使わないので閉じる

クリック

今回も Nitrous.IO でサーバを立ちあげます

Page 21: ブラウザだけで学ぶWebアプリ開発【デザイン編】

コンソールに cd bookshelf と入力し、Enterbookshelf ディレクトリに移動

今回も Nitrous.IO でサーバを立ちあげます

Page 22: ブラウザだけで学ぶWebアプリ開発【デザイン編】

コンソールに rails s と入力し、Enterサーバを起動

今回も Nitrous.IO でサーバを立ちあげます

Page 23: ブラウザだけで学ぶWebアプリ開発【デザイン編】

Preview をクリック、Port 3000 を選択

今回も Nitrous.IO でサーバを立ちあげます

Page 24: ブラウザだけで学ぶWebアプリ開発【デザイン編】

xxxxx.nitrousbox.com/books にアクセス

今回も Nitrous.IO でサーバを立ちあげます

Page 25: ブラウザだけで学ぶWebアプリ開発【デザイン編】

Chrome のタブは Nitrous.IO と Preview両方開いたままで作業を進めます

今回も Nitrous.IO でサーバを立ちあげます

Nitrouns.IO Preview

Page 26: ブラウザだけで学ぶWebアプリ開発【デザイン編】

Chrome のタブは Nitrous.IO と Preview両方開いたままで作業を進めます

今回も Nitrous.IO でサーバを立ちあげます

Nitrouns.IO Preview

準備完了!

Page 27: ブラウザだけで学ぶWebアプリ開発【デザイン編】

Chrome のタブは Nitrous.IO と Preview両方開いたままで作業を進めます

今回も Nitrous.IO でサーバを立ちあげます

Nitrouns.IO Preview

準備完了!

お願い

title : あああああああprice : 100

前回作った書籍登録アプリに 書籍を10冊 登録しておいてください

登録するデータは、

みたいな感じで適当でOKです

Page 28: ブラウザだけで学ぶWebアプリ開発【デザイン編】

なんでデザイナーがWebアプリ開発?

Page 29: ブラウザだけで学ぶWebアプリ開発【デザイン編】

よくあるWebアプリ開発での面倒なこと

Page 30: ブラウザだけで学ぶWebアプリ開発【デザイン編】

よくあるWebアプリ開発での面倒なこと

デザインを発注

プログラマー デザイナー

Page 31: ブラウザだけで学ぶWebアプリ開発【デザイン編】

よくあるWebアプリ開発での面倒なこと

デザインを発注

プログラマー デザイナー• ワイヤフレーム• 仕様書• (プロトタイプ)

ドキュメント中心

Page 32: ブラウザだけで学ぶWebアプリ開発【デザイン編】

よくあるWebアプリ開発での面倒なこと

デザインを制作

プログラマー デザイナー

Page 33: ブラウザだけで学ぶWebアプリ開発【デザイン編】

よくあるWebアプリ開発での面倒なこと

デザインを制作

プログラマー デザイナー• HTML• CSS• Javascriptzip

静的ファイル

Page 34: ブラウザだけで学ぶWebアプリ開発【デザイン編】

よくあるWebアプリ開発での面倒なこと

デザインを制作

プログラマー デザイナー• HTML• CSS• Javascriptzip

静的ファイル

zip納品

Page 35: ブラウザだけで学ぶWebアプリ開発【デザイン編】

よくあるWebアプリ開発での面倒なこと

デザインを制作

プログラマー デザイナー• HTML• CSS• Javascriptzip

zip納品

プログラマー側から見た zip納品 のデメリット

Page 36: ブラウザだけで学ぶWebアプリ開発【デザイン編】

よくあるWebアプリ開発での面倒なこと

デザインを制作

プログラマー デザイナー• HTML• CSS• Javascriptzip

zip納品

プログラマー側から見た zip納品 のデメリット

• プログラマーが作ったシステムに、デザイナーが作った静的なHTML、CSS、Javascript を組み込む手間が発生

Page 37: ブラウザだけで学ぶWebアプリ開発【デザイン編】

よくあるWebアプリ開発での面倒なこと

デザインを制作

プログラマー デザイナー• HTML• CSS• Javascriptzip

zip納品

プログラマー側から見た zip納品 のデメリット

• プログラマーが作ったシステムに、デザイナーが作った静的なHTML、CSS、Javascript を組み込む手間が発生

• デザインに変更があった場合、ファイルのどの部分が変わったのかわかりづらい

Page 38: ブラウザだけで学ぶWebアプリ開発【デザイン編】

よくあるWebアプリ開発での面倒なこと

デザインを制作

プログラマー デザイナー• HTML• CSS• Javascriptzip

zip納品

プログラマー側から見た zip納品 のデメリット

• プログラマーが作ったシステムに、デザイナーが作った静的なHTML、CSS、Javascript を組み込む手間が発生

• デザインに変更があった場合、ファイルのどの部分が変わったのかわかりづらい

• システムと納品された静的な HTML の名前(classなど)が一致していないのでわかりづらい

Page 39: ブラウザだけで学ぶWebアプリ開発【デザイン編】

よくあるWebアプリ開発での面倒なこと

デザインを制作

プログラマー デザイナー• HTML• CSS• Javascriptzip

zip納品

プログラマー側から見た zip納品 のデメリット

• プログラマーが作ったシステムに、デザイナーが作った静的なHTML、CSS、Javascript を組み込む手間が発生

• デザインに変更があった場合、ファイルのどの部分が変わったのかわかりづらい

• システムと納品された静的な HTML の名前(classなど)が一致していないのでわかりづらい

• ドキュメントを用意したり、要望を伝えたり、デザイナーとのやりとりに時間がかかる

Page 40: ブラウザだけで学ぶWebアプリ開発【デザイン編】

よくあるWebアプリ開発での面倒なこと

デザインを制作

プログラマー デザイナー• HTML• CSS• Javascriptzip

zip納品

デザイナー側から見た zip納品 のデメリット

Page 41: ブラウザだけで学ぶWebアプリ開発【デザイン編】

よくあるWebアプリ開発での面倒なこと

デザインを制作

プログラマー デザイナー• HTML• CSS• Javascriptzip

zip納品

• 実際に動かしてみたらイメージと違った(あれ?このボタンって思ったよりよく使う)

デザイナー側から見た zip納品 のデメリット

Page 42: ブラウザだけで学ぶWebアプリ開発【デザイン編】

よくあるWebアプリ開発での面倒なこと

デザインを制作

プログラマー デザイナー• HTML• CSS• Javascriptzip

zip納品

• 実際に動かしてみたらイメージと違った(あれ?このボタンって思ったよりよく使う)

• 実際のデータが入ったら想定と違った(え?ここにこんな長い文章が入るの!)

デザイナー側から見た zip納品 のデメリット

Page 43: ブラウザだけで学ぶWebアプリ開発【デザイン編】

よくあるWebアプリ開発での面倒なこと

デザインを制作

プログラマー デザイナー• HTML• CSS• Javascriptzip

zip納品

• 実際に動かしてみたらイメージと違った(あれ?このボタンって思ったよりよく使う)

• 実際のデータが入ったら想定と違った(え?ここにこんな長い文章が入るの!)

• デザイナーが提出したデザインと少し違う(CSSいじった?勝手なことしないで!)

デザイナー側から見た zip納品 のデメリット

Page 44: ブラウザだけで学ぶWebアプリ開発【デザイン編】

よくあるWebアプリ開発での面倒なこと

デザインを制作

プログラマー デザイナー• HTML• CSS• Javascriptzip

zip納品

• 実際に動かしてみたらイメージと違った(あれ?このボタンって思ったよりよく使う)

• 実際のデータが入ったら想定と違った(え?ここにこんな長い文章が入るの!)

• デザイナーが提出したデザインと少し違う(CSSいじった?勝手なことしないで!)

• プログラマーとのやりとりに時間がかかる(この仕様書意味わかんない…)

デザイナー側から見た zip納品 のデメリット

Page 45: ブラウザだけで学ぶWebアプリ開発【デザイン編】

これらのデメリットを解消するには?

Page 46: ブラウザだけで学ぶWebアプリ開発【デザイン編】

これらのデメリットを解消するには?

デザイナーが直接システムにデザインを入れればいい

Page 47: ブラウザだけで学ぶWebアプリ開発【デザイン編】

これらのデメリットを解消するには?

脱zip納品

デザイナーが直接システムにデザインを入れればいい

Page 48: ブラウザだけで学ぶWebアプリ開発【デザイン編】

さきほどの例で挙げた開発

システム開発チーム デザイナー

デザインを発注

デザイナーはシステム開発チームの外

Page 49: ブラウザだけで学ぶWebアプリ開発【デザイン編】

デザイナーも開発チームの一員に

システム開発チーム

デザイナーもシステム開発チームの中へ

Page 50: ブラウザだけで学ぶWebアプリ開発【デザイン編】

デザイナーが開発チームに入ったら

Page 51: ブラウザだけで学ぶWebアプリ開発【デザイン編】

デザイナーが開発チームに入ったら

会員登録機能できましたー

Page 52: ブラウザだけで学ぶWebアプリ開発【デザイン編】

デザイナーが開発チームに入ったら

会員登録機能できましたー

お疲れ様ですー 見てみますFacebookアカウントでワンクリック登録できるんですね。便利!

Page 53: ブラウザだけで学ぶWebアプリ開発【デザイン編】

デザイナーが開発チームに入ったら

会員登録機能できましたー

うーん… 会員登録ページへ遷移するの面倒っすね、トップページから登録できるにしたいですねー

お疲れ様ですー 見てみますFacebookアカウントでワンクリック登録できるんですね。便利!

Page 54: ブラウザだけで学ぶWebアプリ開発【デザイン編】

デザイナーが開発チームに入ったら

会員登録機能できましたー

なるほどー、確かに…では、トップページから登録できるようにしておきます

うーん… 会員登録ページへ遷移するの面倒っすね、トップページから登録できるにしたいですねー

お疲れ様ですー 見てみますFacebookアカウントでワンクリック登録できるんですね。便利!

Page 55: ブラウザだけで学ぶWebアプリ開発【デザイン編】

デザイナーが開発チームに入ったら

会員登録機能できましたー

お疲れ様ですー 見てみますFacebookアカウントでワンクリック登録できるんですね。便利!

なるほどー、確かに…では、トップページから登録できるようにしておきます

ありがとうございます!では、先にトップページに会員登録の見た目を作っておきます

うーん… 会員登録ページへ遷移するの面倒っすね、トップページから登録できるにしたいですねー

Page 56: ブラウザだけで学ぶWebアプリ開発【デザイン編】

デザイナーが開発チームに入ったら

会員登録機能できましたー

お疲れ様ですー 見てみます

うーん… 会員登録ページへ遷移するの面倒っすね、トップページから登録できるにしたいですねー

なるほどー、確かに…では、トップページから登録できるようにしておきます

ありがとうございます!では、先にトップページに会員登録の見た目を作っておきます

開発がこのようになる

Page 57: ブラウザだけで学ぶWebアプリ開発【デザイン編】

デザイナーが開発チームに入ったら

会員登録機能できましたー

お疲れ様ですー 見てみます

うーん… 会員登録ページへ遷移するの面倒っすね、トップページから登録できるにしたいですねー

なるほどー、確かに…では、トップページから登録できるようにしておきます

ありがとうございます!では、先にトップページに会員登録の見た目を作っておきます

• 動くものを目の前にしているので必要なドキュメントや打ち合わせが減る

開発がこのようになる

お疲れ様ですー 見てみますFacebookアカウントでワンクリック登録できるんですね。便利!

Page 58: ブラウザだけで学ぶWebアプリ開発【デザイン編】

デザイナーが開発チームに入ったら

会員登録機能できましたー

お疲れ様ですー 見てみます

うーん… 会員登録ページへ遷移するの面倒っすね、トップページから登録できるにしたいですねー

なるほどー、確かに…では、トップページから登録できるようにしておきます

ありがとうございます!では、先にトップページに会員登録の見た目を作っておきます

• 動くものを目の前にしているので必要なドキュメントや打ち合わせが減る

• 動くものを触りながら作るので、より実際に使うユーザー目線でデザインができる

開発がこのようになる

うーん… 会員登録ページへ遷移するの面倒っすね、

Page 59: ブラウザだけで学ぶWebアプリ開発【デザイン編】

デザイナーが開発チームに入ったら

会員登録機能できましたー

お疲れ様ですー 見てみます

うーん… 会員登録ページへ遷移するの面倒っすね、トップページから登録できるにしたいですねー

なるほどー、確かに…では、トップページから登録できるようにしておきます

ありがとうございます!では、先にトップページに会員登録の見た目を作っておきます

開発がこのようになる

• 動くものを目の前にしているので必要なドキュメントや打ち合わせが減る

• 動くものを触りながら作るので、より実際に使うユーザー目線でデザインができる

• デザイナーもチームの一員なので、いい製品にするために口が出しやすくなる

トップページから登録できるにしたいですねー

Page 60: ブラウザだけで学ぶWebアプリ開発【デザイン編】

デザイナーが開発チームに入ったら

会員登録機能できましたー

お疲れ様ですー 見てみます

うーん… 会員登録ページへ遷移するの面倒っすね、トップページから登録できるにしたいですねー

なるほどー、確かに…では、トップページから登録できるようにしておきます

ありがとうございます!では、先にトップページに会員登録の見た目を作っておきます

開発がこのようになる

• 動くものを目の前にしているので必要なドキュメントや打ち合わせが減る

• 動くものを触りながら作るので、より実際に使うユーザー目線でデザインができる

• デザイナーもチームの一員なので、いい製品にするために口が出しやすくなる

• システムとデザインを同時進行で開発できる

ありがとうございます!では、先にトップページに会員登録の見た目を作っておきます

Page 61: ブラウザだけで学ぶWebアプリ開発【デザイン編】

デザイナーが開発チームに入ったら

会員登録機能できましたー

お疲れ様ですー 見てみます

うーん… 会員登録ページへ遷移するの面倒っすね、トップページから登録できるにしたいですねー

なるほどー、確かに…では、トップページから登録できるようにしておきます

ありがとうございます!では、先にトップページに会員登録の見た目を作っておきます

開発がこのようになる

• 動くものを目の前にしているので必要なドキュメントや打ち合わせが減る

• 動くものを触りながら作るので、より実際に使うユーザー目線でデザインができる

• デザイナーもチームの一員なので、いい製品にするために口が出しやすくなる

• システムとデザインを同時進行で開発できる

ありがとうございます!では、先にトップページに会員登録の見た目を作っておきます

さっき挙げたデメリットは解消される

Page 62: ブラウザだけで学ぶWebアプリ開発【デザイン編】

開発チームに入るのに必要な3つのスキル

Page 63: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•開発環境構築… 手元でシステムを立ち上げる(黒い画面)

開発チームに入るのに必要な3つのスキル

Page 64: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•開発環境構築… 手元でシステムを立ち上げる(黒い画面)

•バージョン管理… Git、Subversionなど

開発チームに入るのに必要な3つのスキル

Page 65: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•開発環境構築… 手元でシステムを立ち上げる(黒い画面)

•バージョン管理… Git、Subversionなど

•言語とフレームワーク… Ruby、Python、PHP、 Ruby on Rails、Django、CakePHPなど

開発チームに入るのに必要な3つのスキル

Page 66: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•黒い画面のスキル … 手元でシステムを立ち上げる

•バージョン管理のスキル … Git、Subversionなど

•言語とフレームワークのスキル… Ruby、Python、PHP、 Ruby on Rails、Django、CakePHPなど

開発チームに入るのに必要な3つのスキルうわ、大変…

Page 67: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•黒い画面のスキル … 手元でシステムを立ち上げる

•バージョン管理のスキル … Git、Subversionなど

•言語とフレームワークのスキル… Ruby、Python、PHP、 Ruby on Rails、Django、CakePHPなど

開発チームに入るのに必要な3つのスキルうわ、大変…

わからないことを教えるほうがzip納品より全然効率的

Page 68: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•黒い画面のスキル … 手元でシステムを立ち上げる

•バージョン管理のスキル … Git、Subversionなど

•言語とフレームワークのスキル… Ruby、Python、PHP、 Ruby on Rails、Django、CakePHPなど

開発チームに入るのに必要な3つのスキルうわ、大変…

わからないことを教えるほうがzip納品より全然効率的

わからないことはチームのプログラマーに聞けばOK

Page 69: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•黒い画面のスキル … 手元でシステムを立ち上げる

•バージョン管理のスキル … Git、Subversionなど

•言語とフレームワークのスキル… Ruby、Python、PHP、 Ruby on Rails、Django、CakePHPなど

開発チームに入るのに必要な3つのスキルうわ、大変…

わからないことを教えるほうがzip納品より全然効率的

わからないことはチームのプログラマーに聞けばOK

実際はこんな感じの場合が多いので、そこまで詳しくならなくてもOK

Page 70: ブラウザだけで学ぶWebアプリ開発【デザイン編】

今回の授業のテーマ

Page 71: ブラウザだけで学ぶWebアプリ開発【デザイン編】

今回の授業のテーマ

前回までの作業をエンジニアが行った仕事として、開発チームのデザイナーはどのようにデザインを入れていくかをバーチャル体験してみよう、という授業を行います

Page 72: ブラウザだけで学ぶWebアプリ開発【デザイン編】

今回の授業のテーマ

前回までの作業をエンジニアが行った仕事として、開発チームのデザイナーはどのようにデザインを入れていくかをバーチャル体験してみよう、という授業を行います

書籍の一覧、個別の表示、書籍登録、編集、削除の機能を実装したので、デザインお願いしますー!

Page 73: ブラウザだけで学ぶWebアプリ開発【デザイン編】

今回の授業のテーマ

前回までの作業をエンジニアが行った仕事として、開発チームのデザイナーはどのようにデザインを入れていくかをバーチャル体験してみよう、という授業を行います

ありがとうございます!では、これからデザインを入れる作業を開始します!

書籍の一覧、個別の表示、書籍登録、編集、削除の機能を実装したので、デザインお願いしますー!

Page 74: ブラウザだけで学ぶWebアプリ開発【デザイン編】

今回の授業のテーマ

ありがとうございます!では、これからデザインを入れる作業を開始します!

デザイナーのターン!

前回までの作業をエンジニアが行った仕事として、開発チームのデザイナーはどのようにデザインを入れていくかをバーチャル体験してみよう、という授業を行います

書籍の一覧、個別の表示、書籍登録、編集、削除の機能を実装したので、デザインお願いしますー!

Page 75: ブラウザだけで学ぶWebアプリ開発【デザイン編】

今回の授業のテーマ

前回までの作業をエンジニアが行った仕事として、それにデザイナーはどのようにデザインを入れていくかをバーチャル体験してみよう、という授業を行います

では、これにデザインを入れていきますー

本を登録、一覧、編集、削除の機能を作りましたー

3つのスキルなんて、ないんですけど…

Page 76: ブラウザだけで学ぶWebアプリ開発【デザイン編】

今回の授業のテーマ

前回までの作業をエンジニアが行った仕事として、それにデザイナーはどのようにデザインを入れていくかをバーチャル体験してみよう、という授業を行います

では、これにデザインを入れていきますー

本を登録、一覧、編集、削除の機能を作りましたー

•開発環境構築

•バージョン管理

•言語やフレームワーク

3つのスキルなんて、ないんですけど…

Page 77: ブラウザだけで学ぶWebアプリ開発【デザイン編】

今回の授業のテーマ

前回までの作業をエンジニアが行った仕事として、それにデザイナーはどのようにデザインを入れていくかをバーチャル体験してみよう、という授業を行います

では、これにデザインを入れていきますー

本を登録、一覧、編集、削除の機能を作りましたー

•開発環境構築

•バージョン管理

•言語やフレームワーク

Nitrous.IO

3つのスキルなんて、ないんですけど…

Page 78: ブラウザだけで学ぶWebアプリ開発【デザイン編】

今回の授業のテーマ

前回までの作業をエンジニアが行った仕事として、それにデザイナーはどのようにデザインを入れていくかをバーチャル体験してみよう、という授業を行います

では、これにデザインを入れていきますー

本を登録、一覧、編集、削除の機能を作りましたー

•開発環境構築

•バージョン管理

•言語やフレームワーク

Nitrous.IO

Git

3つのスキルなんて、ないんですけど…

Page 79: ブラウザだけで学ぶWebアプリ開発【デザイン編】

今回の授業のテーマ

前回までの作業をエンジニアが行った仕事として、それにデザイナーはどのようにデザインを入れていくかをバーチャル体験してみよう、という授業を行います

では、これにデザインを入れていきますー

本を登録、一覧、編集、削除の機能を作りましたー

•開発環境構築

•バージョン管理

•言語やフレームワーク

Nitrous.IO

Git

言語:Ruby フレームワーク:Ruby on Rails

3つのスキルなんて、ないんですけど…

Page 80: ブラウザだけで学ぶWebアプリ開発【デザイン編】

今回の授業のテーマ

前回までの作業をエンジニアが行った仕事として、それにデザイナーはどのようにデザインを入れていくかをバーチャル体験してみよう、という授業を行います

では、これにデザインを入れていきますー

本を登録、一覧、編集、削除の機能を作りましたー

•開発環境構築

•バージョン管理

•言語やフレームワーク

Nitrous.IO

Git

言語:Ruby フレームワーク:Ruby on Rails

前回の授業ですでにやってるので

ご安心を

3つのスキルなんて、ないんですけど…

Page 81: ブラウザだけで学ぶWebアプリ開発【デザイン編】

前回つくった画面を見てみよう

Page 82: ブラウザだけで学ぶWebアプリ開発【デザイン編】

前回つくった画面を見てみよう

書籍一覧( /books )

Page 83: ブラウザだけで学ぶWebアプリ開発【デザイン編】

前回つくった画面を見てみよう

書籍個別( /books/1 )

Page 84: ブラウザだけで学ぶWebアプリ開発【デザイン編】

前回つくった画面を見てみよう

書籍編集( /books/1/edit )

Page 85: ブラウザだけで学ぶWebアプリ開発【デザイン編】

前回つくった画面を見てみよう

書籍登録( /books/new )

Page 86: ブラウザだけで学ぶWebアプリ開発【デザイン編】

前回つくった画面を見てみよう

書籍登録( /books/new )

これらのページの HTML と CSS をカスタマイズ

Page 87: ブラウザだけで学ぶWebアプリ開発【デザイン編】

いよいよ実践前回作ったアプリにデザインを入れていきます。

Page 88: ブラウザだけで学ぶWebアプリ開発【デザイン編】

HTMLを変更する

Page 89: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•書籍一覧

•書籍個別

•書籍編集

•書籍登録

どのファイルを変更する?

Page 90: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•書籍一覧

•書籍個別

•書籍編集

•書籍登録

app/views/books/index.html.erb

app/views/books/show.html.erb

app/views/books/edit.html.erb

app/views/books/new.html.erb

どのファイルを変更する?

Page 91: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•書籍一覧

•書籍個別

•書籍編集

•書籍登録

前回つくった画面を見てみよう

app/views/books/index.html.erb

app/views/books/show.html.erb

app/views/books/edit.html.erb

app/views/books/new.html.erb

該当するファイルの探しかた

•まずは app/views ディレクトリへ•URL [xxx.nitrousbox.com/books/] に注目 URLにある [/books] と同じ名前のディレクトリをapp/views の中から探す

•一覧は index.html.erb•詳細は show.html.erb•編集は edit.html.erb•登録は new.html.erb

Page 92: ブラウザだけで学ぶWebアプリ開発【デザイン編】

書籍一覧のHTMLを変更してみようapp/views/books/index.html.erb を編集

実践

Page 93: ブラウザだけで学ぶWebアプリ開発【デザイン編】

app/views/books/index.html.erb を開く

実践

Page 94: ブラウザだけで学ぶWebアプリ開発【デザイン編】

このマークアップを変更します

実践

Page 95: ブラウザだけで学ぶWebアプリ開発【デザイン編】

このマークアップを変更します

実践

チームで開発するときはマークアップのルールがあると便利

Page 96: ブラウザだけで学ぶWebアプリ開発【デザイン編】

このマークアップを変更します

実践

•ルールがあれば、チームメンバーの誰が書いても同じマークアップになる

•新しくチームに入ったメンバーも、そのルールを理解すれば同じようにマークアップができるようになる

チームで開発するときはマークアップのルールがあると便利

Page 97: ブラウザだけで学ぶWebアプリ開発【デザイン編】

このマークアップを変更します

実践

•ルールがあれば、チームメンバーの誰が書いても同じマークアップになる

•新しくチームに入ったメンバーも、そのルールを理解すれば同じようにマークアップができるようになる

•ルールを作るだけでなく、チーム内でルールを共有するためにドキュメントを用意しなくてはいけない手間が発生

•すでに誰かが作ったルールを採用すると、すでにドキュメントが用意されてるので、手間が解消されることも

チームで開発するときはマークアップのルールがあると便利

Page 98: ブラウザだけで学ぶWebアプリ開発【デザイン編】

マークアップのルールがあると…

Page 99: ブラウザだけで学ぶWebアプリ開発【デザイン編】

マークアップのルールがあると…

書籍登録機能できましたー

Page 100: ブラウザだけで学ぶWebアプリ開発【デザイン編】

マークアップのルールがあると…

書籍登録機能できましたー

ありがとうございますーでは、まずはデザインを入れるためにHTMLの編集から…

Page 101: ブラウザだけで学ぶWebアプリ開発【デザイン編】

マークアップのルールがあると…

書籍登録機能できましたー

ありがとうございますーでは、まずはデザインを入れるためにHTMLの編集から…

あっ、マークアップやっておいてくれたんですね!自分がこうしようと思ってたマークアップがすでにされてる!

Page 102: ブラウザだけで学ぶWebアプリ開発【デザイン編】

マークアップのルールがあると…

書籍登録機能できましたー

ありがとうございますーでは、まずはデザインを入れるためにHTMLの編集から…

はいー、ルール通りにマークアップしておきました

あっ、マークアップやっておいてくれたんですね!自分がこうしようと思ってたマークアップがすでにされてる!

Page 103: ブラウザだけで学ぶWebアプリ開発【デザイン編】

マークアップのルールがあると…

書籍登録機能できましたー

ありがとうございますーでは、まずはデザインを入れるためにHTMLの編集から…

はいー、ルール通りにマークアップしておきました

ありがとうございます!マークアップの作業をしなくて済んだ

あっ、マークアップやっておいてくれたんですね!自分がこうしようと思ってたマークアップがすでにされてる!

Page 104: ブラウザだけで学ぶWebアプリ開発【デザイン編】

マークアップのルールがあると…

書籍登録機能できましたー

ありがとうございますーでは、まずはデザインを入れるためにHTMLの編集から…

はいー、ルール通りにマークアップしておきました

ありがとうございます!マークアップの作業をしなくて済んだ

あっ、マークアップやっておいてくれたんですね!自分がこうしようと思ってたマークアップがすでにされてる!こういうこともあるので、ルールがあるとお得!

Page 105: ブラウザだけで学ぶWebアプリ開発【デザイン編】

今回はルールの例として BEM を紹介

Page 106: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•B ブロック、E エレメント、M モディファイア の頭文字 を連結したものを class名にする

class = “ B _ _ E - - M ”

今回はルールの例として BEM を紹介

Page 107: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•B ブロック、E エレメント、M モディファイア の頭文字 を連結したものを class名にする

class = “ B _ _ E - - M ”エレメントの前はアンダースコア2つ モディファイアの前はハイフン2つ

今回はルールの例として BEM を紹介

Page 108: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•B ブロック、E エレメント、M モディファイア の頭文字 を連結したものを class名にする

•ブロック → 範囲•エレメント → その範囲内でのそれが果たす 役割、要素•モディファイア → そのブロックや要素の 修飾、XXX版

class = “ B _ _ E - - M ”エレメントの前はアンダースコア2つ モディファイアの前はハイフン2つ

今回はルールの例として BEM を紹介

Page 109: ブラウザだけで学ぶWebアプリ開発【デザイン編】

/books 書籍一覧

今回はルールの例として BEM を紹介

Page 110: ブラウザだけで学ぶWebアプリ開発【デザイン編】

bookというブロック

class = “ book ”

今回はルールの例として BEM を紹介

Page 111: ブラウザだけで学ぶWebアプリ開発【デザイン編】

book というブロック内のtitle という要素

class = “ book _ _ title ”

今回はルールの例として BEM を紹介

Page 112: ブラウザだけで学ぶWebアプリ開発【デザイン編】

book というブロック内のaction という要素のedit 版

class = “ book _ _ action - - edit ”

今回はルールの例として BEM を紹介

Page 113: ブラウザだけで学ぶWebアプリ開発【デザイン編】

book というブロック内のaction という要素のedit 版

class = “ book _ _ action - - edit ”

っていうのが BEM

今回はルールの例として BEM を紹介

Page 114: ブラウザだけで学ぶWebアプリ開発【デザイン編】

実際にBEMでマークアップしてみます

実践

Page 115: ブラウザだけで学ぶWebアプリ開発【デザイン編】

こうなったら正解

実践

Page 116: ブラウザだけで学ぶWebアプリ開発【デザイン編】

書籍編集と書籍登録の共通部分

app/views/books/edit.html.erbと

app/views/books/new.html.erb

Page 117: ブラウザだけで学ぶWebアプリ開発【デザイン編】

書籍編集( /books/1/edit )

Page 118: ブラウザだけで学ぶWebアプリ開発【デザイン編】

書籍登録( /books/new )

Page 119: ブラウザだけで学ぶWebアプリ開発【デザイン編】

フォームの部分はほとんど同じ

書籍編集 書籍登録

Page 120: ブラウザだけで学ぶWebアプリ開発【デザイン編】

フォームの部分はほとんど同じ

書籍編集

書籍登録

app/views/books/edit.html.erb

app/views/books/new.html.erb

Page 121: ブラウザだけで学ぶWebアプリ開発【デザイン編】

フォームの部分はほとんど同じ

書籍編集

書籍登録

app/views/books/edit.html.erb

app/views/books/new.html.erb

<%= render ‘form’ %>

Page 122: ブラウザだけで学ぶWebアプリ開発【デザイン編】

フォームの部分はほとんど同じ

書籍編集 書籍登録

編集と登録の共通部分

•edit.html.erb 、new.html.erb 両方のファイルに<%= render 'form' %> と書かれている部分がある

•<%= render 'form' %> の「 form 」に注目edit.html.erb 、new.html.erb があるディレクトリに_form.html.erb があり、それがその部分の該当するファイル

•フォームの部分を編集するには _form.html.erb を編集する•共通部分ファイルはファイル名の先頭に「_(アンダースコア)」が付いている

Page 123: ブラウザだけで学ぶWebアプリ開発【デザイン編】

フォームの部分を編集するには

このファイルを編集する

app/views/books/_form.html.erb

実践

このファイルを編集してフォームの部分が変わったかを確認してみます

Page 124: ブラウザだけで学ぶWebアプリ開発【デザイン編】

サイト全体の共通部分app/views/layouts/application.html.erb

Page 125: ブラウザだけで学ぶWebアプリ開発【デザイン編】

<%= yield %> に注目

app/views/layouts/application.html.erb

Page 126: ブラウザだけで学ぶWebアプリ開発【デザイン編】

index.html.erb

show.html.erb

edit.html.erb

new.html.erb

<%= yield %> の中に表示されている

<%= yield %> に注目

Page 127: ブラウザだけで学ぶWebアプリ開発【デザイン編】

application.html.erbbooks/index.html.erb

Page 128: ブラウザだけで学ぶWebアプリ開発【デザイン編】

application.html.erbbooks/index.html.erb

全ページ共通部品は layouts/application.html.erb に書く

•ヘッダー•フッター•サイドナビ

Page 129: ブラウザだけで学ぶWebアプリ開発【デザイン編】

ヘッダを追加してみようapp/views/layouts/application.html.erb

実践

Page 130: ブラウザだけで学ぶWebアプリ開発【デザイン編】

app/views/layouts/application.html.erb

実践

ここにヘッダの HTML を書く

Page 131: ブラウザだけで学ぶWebアプリ開発【デザイン編】

実際にヘッダを追加してみます

実践

ヘッダの HTML

Page 132: ブラウザだけで学ぶWebアプリ開発【デザイン編】

こうなったら正解

実践

Page 133: ブラウザだけで学ぶWebアプリ開発【デザイン編】

CSSを変更する

Page 134: ブラウザだけで学ぶWebアプリ開発【デザイン編】

Rails の CSS の特長

Page 135: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•CSSプリプロセッサの Sass( SCSS記法 - scssファイル )が採用されている( ファイル名は xxxx.css.scss )

Rails の CSS の特長

Page 136: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•CSSプリプロセッサの Sass( SCSS記法 - scssファイル )が採用されている( ファイル名は xxxx.css.scss )

Rails の CSS の特長

Sass って何? CSSが便利に書けるもの

Page 137: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•CSSプリプロセッサの Sass(SCSS記法)が採用されている

Rails の CSS の特長

Sass って何? 便利にCSSが書けるもの

Sass って何?

くわしくは、石本光司先生の授業で

http://schoo.jp/class/228

Page 138: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•CSSプリプロセッサの Sass( SCSS記法 - scssファイル )が採用されている( ファイル名は xxxx.css.scss )

•設定無しで Rails が Sassファイルを CSS に書き出しをしてくれる

Rails の CSS の特長

Page 139: ブラウザだけで学ぶWebアプリ開発【デザイン編】

Rails の CSS の特長

•CSSプリプロセッサの Sass( SCSS記法 - scssファイル )が採用されている( ファイル名は xxxx.css.scss )

•設定無しで Rails が Sassファイルを CSS に書き出しをしてくれる

•scssファイルを追加する場合は app/assets/stylesheets の中に入れる

Page 140: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•CSSプリプロセッサの Sass( SCSS記法 - scssファイル )が採用されている( ファイル名は xxxx.css.scss )

•設定無しで Rails が Sassファイルを CSS に書き出しをしてくれる

•scssファイルを追加する場合は app/assets/stylesheets の中に入れる

•app/assets/stylesheets の中に入れられた scssファイルは設定なしで画面に反映される

Rails の CSS の特長

Page 141: ブラウザだけで学ぶWebアプリ開発【デザイン編】

Railsにデザインを入れる準備

app/assets/stylesheets/scaffold.css.scss を削除

実践

Page 142: ブラウザだけで学ぶWebアプリ開発【デザイン編】

scaffolds.css.scss

app/assets/styledheets/scaffolds.css.scss

実践

Page 143: ブラウザだけで学ぶWebアプリ開発【デザイン編】

scaffolds.css.scss

app/assets/styledheets/scaffolds.css.scss

実践

scaffolds.css.scss

Page 144: ブラウザだけで学ぶWebアプリ開発【デザイン編】

scaffolds.css.scss

app/assets/styledheets/scaffolds.css.scss

実践

scaffolds.css.scss

•scaffolds.css.scss とは、Rails が自動で生成してくれた最低限のスタイルが入った scssファイル

Page 145: ブラウザだけで学ぶWebアプリ開発【デザイン編】

scaffolds.css.scss

app/assets/styledheets/scaffolds.css.scss

実践

scaffolds.css.scss

•scaffolds.css.scss とは、Rails が自動で生成してくれた最低限のスタイルが入った scssファイル

•自分でデザインを入れる際、 scaffolds.css.scss で設定されたスタイルが邪魔になるので削除

Page 146: ブラウザだけで学ぶWebアプリ開発【デザイン編】

scaffolds.css.scss 削除

app/assets/styledheets/scaffolds.css.scss の上で右クリック

実践

Page 147: ブラウザだけで学ぶWebアプリ開発【デザイン編】

scaffolds.css.scss 削除

Delete “scaffolds.css.scss” を選択

実践

Page 148: ブラウザだけで学ぶWebアプリ開発【デザイン編】

scaffolds.css.scss 削除実践

こうなったら正解

Page 149: ブラウザだけで学ぶWebアプリ開発【デザイン編】

ヘッダ用のscssファイルを追加してみようapp/assets/stylesheets/ の中にファイルを追加

実践

Page 150: ブラウザだけで学ぶWebアプリ開発【デザイン編】

ヘッダ用の SCSS を追加

app/assets/styledheets の上で右クリック

実践

Page 151: ブラウザだけで学ぶWebアプリ開発【デザイン編】

ヘッダ用の SCSS を追加

New File をクリック

実践

Page 152: ブラウザだけで学ぶWebアプリ開発【デザイン編】

ヘッダ用の SCSS を追加

header.css.scss という名前を入力

実践

Page 153: ブラウザだけで学ぶWebアプリ開発【デザイン編】

ヘッダ用の SCSS を追加実践

app/assets/styledheets/header.css.scss を編集

Page 154: ブラウザだけで学ぶWebアプリ開発【デザイン編】

こうなったら正解

実践

Page 155: ブラウザだけで学ぶWebアプリ開発【デザイン編】

こうなったら正解

実践

ディレクトリに追加するだけで header.css.scss を反映してくれた

Page 156: ブラウザだけで学ぶWebアプリ開発【デザイン編】

books用のSCSSを編集してみよう

すでに用意されてるapp/assets/stylesheets/books.css.scss

を変更

実践

Page 157: ブラウザだけで学ぶWebアプリ開発【デザイン編】

books用 の scss を用意しました実践

http://bit.ly/s-0130chrome のタブを一つ開いてここにアクセス

Page 158: ブラウザだけで学ぶWebアプリ開発【デザイン編】

実践http://bit.ly/s-0130

Page 159: ブラウザだけで学ぶWebアプリ開発【デザイン編】

実践

全部コピー

http://bit.ly/s-0130

Page 160: ブラウザだけで学ぶWebアプリ開発【デザイン編】

実践app/assets/stylesheets/books.css.scss

開く

Page 161: ブラウザだけで学ぶWebアプリ開発【デザイン編】

実践

貼り付け

app/assets/stylesheets/books.css.scss

Page 162: ブラウザだけで学ぶWebアプリ開発【デザイン編】

実践

こうなったら正解

Page 163: ブラウザだけで学ぶWebアプリ開発【デザイン編】

実践

こうなったら正解

今回はコピペでしたが、自分で books.css.scss をいじってデザインに挑戦してみてください

Page 164: ブラウザだけで学ぶWebアプリ開発【デザイン編】

書籍一覧のデザインができた

Page 165: ブラウザだけで学ぶWebアプリ開発【デザイン編】

書籍一覧のデザインができた

書籍一覧ページのデザインができましたので、今から Heroku に送って見れるようにしますー

Page 166: ブラウザだけで学ぶWebアプリ開発【デザイン編】

書籍一覧のデザインができた

書籍一覧ページのデザインができましたので、今から Heroku に送って見れるようにしますー

お疲れ様ですーデザイン超楽しみです!

Page 167: ブラウザだけで学ぶWebアプリ開発【デザイン編】

書籍一覧のデザインができた

書籍一覧ページのデザインができましたので、今から Heroku に送って見れるようにしますー

お疲れ様ですーデザイン超楽しみです!

ぬおー プレッシャーかけてきた!!

Page 168: ブラウザだけで学ぶWebアプリ開発【デザイン編】

ここまで作業したものを本番環境に送る

ここまで作業したRailsプロジェクトを Heroku に送ります

実践

Page 169: ブラウザだけで学ぶWebアプリ開発【デザイン編】

コンソールをクリック

実践コンソールで作業

Page 170: ブラウザだけで学ぶWebアプリ開発【デザイン編】

ここがアクティブになっているのを確認(白い四角)

実践コンソールで作業

Page 171: ブラウザだけで学ぶWebアプリ開発【デザイン編】

ここがアクティブになっているのを確認(白い四角)

実践

control + c を押してサーバをストップ

コンソールで作業

Page 172: ブラウザだけで学ぶWebアプリ開発【デザイン編】

実践Heroku に送る

heroku login

git add --all

git commit -m“Design”

git push heroku master

heroku info

上から一行ずつコンソールにコマンドを入力

• メールアドレス• パスワード

• URLが表示される

Page 173: ブラウザだけで学ぶWebアプリ開発【デザイン編】

Heroku に送る

heroku login

git add .

git commit -m“Design”

git push heroku master

heroku info

• メールアドレス• パスワード

• URLが表示される

ブラウザで Heroku 上の bookshelf を確認

実践

上から一行ずつコンソールにコマンドを入力

Page 174: ブラウザだけで学ぶWebアプリ開発【デザイン編】

ブラウザだけで学ぶWebアプリ開発【デザイン編】

以上で終了です

Page 175: ブラウザだけで学ぶWebアプリ開発【デザイン編】

補足説明

Page 176: ブラウザだけで学ぶWebアプリ開発【デザイン編】

トップページを作りたい

Page 177: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•app/views/ の中に home というディレクトリを作成•そのディレクトリの中にindex.html.erb というファイルを作成

•app/controllers の中にhome_ controllers.rb というファイルを作成

トップページを作りたい

Page 178: ブラウザだけで学ぶWebアプリ開発【デザイン編】

トップページを作りたい

home_controller.rb にこう書く

Page 179: ブラウザだけで学ぶWebアプリ開発【デザイン編】

トップページを作りたい

config/routes.rb の root の部分をこう書き換える

Page 180: ブラウザだけで学ぶWebアプリ開発【デザイン編】

フォームのラベルを日本語にしたい

Page 181: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•app/views/books/_form.html.erb を開く

フォームのラベルを日本語にしたい

Page 182: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•app/views/books/_form.html.erb をこう編集する

フォームのラベルを日本語にしたい

Page 183: ブラウザだけで学ぶWebアプリ開発【デザイン編】

フォームのボタンを日本語にしたい

Page 184: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•config/locales/ に ja.yaml というファイルを作成し、追加

フォームのボタンを日本語にしたい

Page 185: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•config/locales/ に ja.yaml にこう書く

フォームのボタンを日本語にしたい

Page 186: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•config/application.rb にこう書く

フォームのボタンを日本語にしたい

ここまでやったら rails サーバを再起動

Page 187: ブラウザだけで学ぶWebアプリ開発【デザイン編】

リンクの書きかた

Page 188: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•本の登録ページ(/new)へのリンク<%= link_to '本の登録', new_book_path %>

•本個別ページ(/books/4)ヘのリンク ※eachの中でだけ有効<%= link_to '詳細', book %>

•本編集ページ(/books/4/edit)ヘのリンク ※eachの中でだけ有効<%= link_to '詳細', edit_book_path(book) %>

•トップページ(/)へのリンク<%= link_to 'トップページ', root_path %>

リンクの書きかた

Page 189: ブラウザだけで学ぶWebアプリ開発【デザイン編】

リンクに id class をつけたい

Page 190: ブラウザだけで学ぶWebアプリ開発【デザイン編】

• こう書く<%= link_to '本の登録', new_book_path, { :class => "new", :id => "new" } %>

リンクに id class をつけたい

class id

Page 191: ブラウザだけで学ぶWebアプリ開発【デザイン編】

リンクの中にタグを入れたい

Page 192: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•こう書く<%= link_to root_path do %> <span>トップページ</span><% end %>

リンクの中にタグを入れたい

Page 193: ブラウザだけで学ぶWebアプリ開発【デザイン編】

画像の追加方法

Page 194: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•app/assets/images ディレクトリの上で右クリック

画像の追加方法

Upload File to “images” を選択

Page 195: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•ここに画像をドラッグ アンド ドロップ

画像の追加方法

Page 196: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•こう書く

<%= image_tag('koshikawa.jpg', :alt => "越川さんの写真") %>

画像の追加方法

画像へのパス

assets/images/画像ファイルの場合は、画像名のみ書く

asstes/images/user-photos/画像ファイルの場合は、user-photos/画像ファイル と書く

alt タグ

Page 197: ブラウザだけで学ぶWebアプリ開発【デザイン編】

画像に class id をつけたい

Page 198: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•こう書く<%= image_tag('k.jpg', :alt => "越川さん", :class => “kossy”, :id => “kossy”) %>

画像に class id をつけたい

idclass

Page 199: ブラウザだけで学ぶWebアプリ開発【デザイン編】

画像をリンクにしたい

Page 200: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•こう書く<%= link_to image_tag('koshikawa.jpg', :alt => '越川さん'), root_path %>

画像をリンクにしたい

リンク先画像ファイル alt

Page 201: ブラウザだけで学ぶWebアプリ開発【デザイン編】

リンク付き画像のリンク、画像にid class をつけたい

Page 202: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•こう書く<%= link_to image_tag('koshikawa.jpg', :alt => '越川さん', :class => "kossy", :id => "kossy"), root_path, :class => "kossy-link", :id => "kossy-link" %>

リンク付き画像のリンク、画像にid class をつけたい

リンクのclass画像のid

画像のclass

リンクのid

Page 203: ブラウザだけで学ぶWebアプリ開発【デザイン編】

勝手にcssを読み込まれると困るんですけど

Page 204: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•assets/stylesheets の中に scssファイルを入れれば、何の設定もせずに画面に反映されてくれて便利ですが、reset のためのファイルなど、こちらの意図した順番で scssファイルを読み込んでくれないと困る場合があります

•順番を指定して scssファイルを読み込ます方法はいくつかあります

勝手にcssを読み込まれると困るんですけど

Page 205: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•対策1 : ファイル名で対応する方法

勝手にcssを読み込まれると困るんですけど

Page 206: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•対策1 : ファイル名で対応する方法

勝手にcssを読み込まれると困るんですけど

Rails はアルファベット順に scssファイルを読み込みます。なので、例えば reset.css.scss は一番始めに読み込ませたいのに、後のほうに読み込んでしまいます。

アルファベット順に scssファイルを読み込む、というのを利用して、 0reset.css.scss と、ファイル名の先頭に数字の「0」を付けると一番始めに読み込むようになります。

Page 207: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•対策2 : 自分で一つ一つファイルを読み込む設定を書く

勝手にcssを読み込まれると困るんですけど

Page 208: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•対策2 : 自分で一つ一つファイルを読み込む設定を書く

勝手にcssを読み込まれると困るんですけど

app/assets/stylesheets/application.css を開く

Page 209: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•対策2 : 自分で一つ一つファイルを読み込む設定を書く

勝手にcssを読み込まれると困るんですけど

「 *= require_tree . 」 を削除

Page 210: ブラウザだけで学ぶWebアプリ開発【デザイン編】

•対策2 : 自分で一つ一つファイルを読み込む設定を書く

勝手にcssを読み込まれると困るんですけど

*= require ファイル名 を任意の順番で書く(拡張子は不要)

Page 211: ブラウザだけで学ぶWebアプリ開発【デザイン編】

scss の変数や mixin を別ファイルにしたらエラーが出たのですが…

Page 212: ブラウザだけで学ぶWebアプリ開発【デザイン編】

scss の変数や mixin を別ファイルにしたらエラーが出たのですが…

•assets/stylesheets の中に scssファイルを入れれば、何の設定もせずに画面に反映されてくれて便利ですが、ある scssファイルが、別の scssファイルに書かれた変数やmixinを呼び出すときにエラーが出てしまいます。

Page 213: ブラウザだけで学ぶWebアプリ開発【デザイン編】

scss の変数や mixin を別ファイルにしたらエラーが出たのですが…

app/assets/stylesheets/application.css を application.css.scss にファイル名を変更

Page 214: ブラウザだけで学ぶWebアプリ開発【デザイン編】

scss の変数や mixin を別ファイルにしたらエラーが出たのですが…

application.css.scss の中身を削除scssファイルを追加したら自動で画面に反映される機能はなくなります

Page 215: ブラウザだけで学ぶWebアプリ開発【デザイン編】

scss の変数や mixin を別ファイルにしたらエラーが出たのですが…

application.css.scss に @import “ファイル名”(拡張子なし)と、scssファイルの import の設定を任意の順番で書いていきます。変数や mixin が書かれた scssファイルは、それらを呼び出す scssファイルの前に import する必要があります。

Page 216: ブラウザだけで学ぶWebアプリ開発【デザイン編】

compass を使いたい

Page 217: ブラウザだけで学ぶWebアプリ開発【デザイン編】

Gemfileに gem 'compass-rails' と書き足します。書き足したら、コンソールで bundle コマンドを入力。サーバを再起動。

compass を使いたい

Page 218: ブラウザだけで学ぶWebアプリ開発【デザイン編】

compass を使いたい

application.css.scss に compass の import の設定を書きます。(application.css を scss に変更する手順は「scss の変数や mixin を別ファイルにしたら エラーが出たのですが…」参照)

Page 219: ブラウザだけで学ぶWebアプリ開発【デザイン編】

Heroku にアップするための設定

Page 220: ブラウザだけで学ぶWebアプリ開発【デザイン編】

ruby '2.0.0'group :development, :test do gem 'sqlite3'end

group :production do gem 'pg' gem 'rails_12factor'end

Heroku にアップするための設定

Gemfile の 7行目を消してこれをコピペ

Page 221: ブラウザだけで学ぶWebアプリ開発【デザイン編】

git config --global user.email [email protected]

git config --global user.name name

Heroku にアップするための設定

コンソールに一行ずつ入力

Page 222: ブラウザだけで学ぶWebアプリ開発【デザイン編】

git init

git add --all

git commit -m“作業内容メモ”

Heroku にアップするための設定

コンソールに一行ずつ入力

Page 223: ブラウザだけで学ぶWebアプリ開発【デザイン編】

heroku login

heroku keys:add ~/.ssh/id_rsa.pub

heroku create

git push heroku master

heroku run rake db:migrate

Heroku にアップするための設定

コンソールに一行ずつ入力

メールアドレスとパスワードを入力