Hatena::ブログ(Diary)

納豆には卵を入れる派です。 このページをアンテナに追加 RSSフィード Twitter

2011-07-23

デザイナー向けCakePHP勉強会に行ってきました #CakePHP4d

久しぶりに本来のこのブログの趣旨(だった)技術ネタが書ける…トホホ。

普段、勉強会とかあまり行ったことなかったんですが、Cakeはほんの少し趣味でかじってとても面白いと思ってたこともあり、Cakeを普段から触られてる方々のお話聞きたいなぁと思い、勇気を出して行ってきました。

デザイナー向けということもあってか、参加者の女性率が非常に高く、また皆さんとてもフレンドリーに色々教えていただき、意義深く楽しい会でした。懇親会も含め参加できて大変よかったです。


以下メモ&感想などをつれづれと。

開会ごあいさつ by @mon_satさん

メモ
個人的感想とか
  • TLでも同様の意見多数見かけましたが、@mon_satさんの司会がわかりやすく親切でとても良かったです。ありがとうございました。
  • デザイナーCakeを知ってるとすごく良いというのは、自分でもやってみて実感したところなので非常に共感でした。デザイナー自身も楽だし速いしもっとやりたいことができると思います。(そんな自信持って言うほどCakeできませんが…きっとそう!)Cake以外やったことないので他のフレームワークを知らないんですが、Cakeの考え方はすんなりと飲み込めたのでデザイナーの思考と相性の良いフレームワークなのではないかと勝手に思っています。Cakeの規約や思想にしたがってデザインしていけるので自然とデザインも楽で速くなる。しかも、下記で@kara_dさんもおっしゃってましたが、アジャイリーな手順で素早くデザインを組みつつ、コード上でトライアンドエラーを繰り返しながらベストプラクティスを模索していける感じがあります。いわゆる、Photoshopでがっちりデザインを組んでから、さぁその通りにコーディング…みたいなのとはまた全然違ったアプローチですが、使ってみて改善を繰り返すことによってどんどんよいものにしていけるWebアプリケーションのデザインには向いている手法だと思います。で、何よりこのやり方だと作っててすごく気持ち良いです。

CakePHPについての基礎知識 by 市川さん @cakephper

メモ
  • フレームワークとは?
    • CMSや非フレームワークをの限界をクリアする
    • よく使う処理を共通化して再利用できる。恩恵を受けるにはルールを覚えることが必要。フレームワークごとにルール/思想が異なるのでそれを理解すること。
  • CakePHPとは?
    • PHPフレームワーク(PHP4)でも動く
    • フルスタック(必要そうな機能は全部入り)
    • 規約重視で高速開発
  • 思想
    • 役割をファイルでわける(MVC
    • デフォルト設定で色々やってくれる(嫌なものは自分で外す)
      • フレームワークによっては、必要なものをそのたびに足していかないと動かないものもある。CakePHPは全部入りなので最初から動く。
  • Viewの基本
<?php ?>で記述
    • Smartyは追加設定が必要
    • Helper
  • Cakeの特徴
    • 利用者が多い(仕事が多い、保守・引き継ぎ)
    • プラグインが充実
    • 開発サイクル・コミュニティが活発
    • ドキュメントが充実
      • 公式ドキュメント、本、ブログなど
    • デザインファイルが独立
      • 不要なPHPコードの混在防止
  • 注意点
    • 覚える事がそれなりにある
    • 思想を理解しないと混乱する/イラつく
    • 簡単な問合せフォーム1画面作るのには不向き
    • 表示結果がプログラム実行後にしかわからない
  • Webアプリは最終的にはHTML/JS/CSSが出力するからプログラマ、デザイナ双方で歩み寄る、それぞれの良いところで落とし所を見つけていくのが必要。Viewに関して両者で話しあってルールを作るなどすると良い
    • ヘルパー使うor使わない
    • 共通部品のパーツ化するorしない
    • 表示確認用サーバ環境を作る
個人的感想とか
  • 懇親会でも私のしょーもない質問に丁寧に答えていただき、@cakephperさん本当にありがとうございました。
  • ちなみに私のしょーもない質問は「viewには皆さんどのようにインデントをつけてるのか?htmlでインデントつけてても途中でPHP混ざるからわけわからなくなりませんか?」という内容で市川さんのお答えは、そのままhtmlのインデントに続けて、php内もインデントをつけていく、というお答えでした。私と同じだ。ちなみに人それぞれでスタンダードはないとのこと。言われてみればそうだよなぁ。。
  • Cakeの特徴の「利用者が多い」というのは私達のようなデザイナー上がりの初心者にもすごくメリットで、自分と同じようなステータスの方がかなり多くCakeに挑戦してブログに日本語Tipsを残してくださってるおかげで、プロのPGの方なら聞くまでもないような初歩的なところもググれば大体わかるというのが非常にありがたいです。それでもしょーもない事にハマって半日うだうだアレしたりしますが、メジャーなフレームワークであるおかげでそういう時間をだいぶ短縮することができたと思います。
  • この会通して皆さんCakeの「世界観・思想」という言葉を多く使われるのがとても印象的でした。私も実際使ってみて、しみじみMVCは思想だなぁと感じました。データベースからひっぱってくるデータの組み合わせ、処理の仕方によって世界の見え方を定義する…みたいな考え方(と私は理解しているんですが違ったらすみません)は非常に今っぽくてグッとくる。

CakePHPのデザイン周りについて(初級編) by 滝下さん @ecworks_masap

スライド「CakePHPのデザイン周辺」(PDF)

メモ

viewswebroot内を編集すればCakePHPがデザインできる」

http://www.example.com/controllers/action/params/......
    • コントローラ名は複数形・小文字
    • アクションは小文字なら何でもOK
    • 1アクションにつき1ビューの関係(ただし処理によって複数ビューを使い分けることも可能)
  • CakePHPのビューは3種類
    • ビューテンプレートファイル(各アクションに一対一でひもづける。一般的にviewと言われるのはこれ。)
    • レイアウト(ページ間で共通の大枠のレイアウトを定義)
    • エレメント(共通パーツ)
  • デザイン関連のファイルの置き場所
    • app/views/→デザイン関連のviewファイルの置き場
    • app/webroot/→css,img,jsなどの置き場
    • 基本、/app/配下のもの以外はめったにいじらない。
  • パス指定・サイト内リンク
<?php echo $this->Html->link->...?>
個人的感想とか
  • 込み入った部分はスライドを見て頂いた方がわかりやすいと思います。ファイル別の役割とかもっと細かに解説してくださってます。メモが追いつきませんでした。。すみません。
  • 非常にわかりやすくviewの使い方を解説して下さりありがとうございました。実際いじったことない人もこのスライドをみながら思い出しながら実践するとすんなり理解ができると思います。
  • divとかpとかのヘルパーを使うプログラマーはめったにいない>やっぱりそうなんですね…html書いた方が早いもんね。linkはヘルパー使うとリンク切れの発生を防げるというのは気づいてませんでした。おおお確かに。

MVCのVを極めしWebデザイナーになる by 原さん @kara_d

メモ
http://インストールした場所/pages/hoge/
個人的感想とか
  • イケてるデザイナーでありながらCakePHPjsもバリバリできるという@kara_dさん。なんというスーパーマンでしょうか…同じデザイナーとして尊敬の限りです。
  • デザイナーCakeわかると良いメリットの部分でうおぉと非常に共感。手順がFlashに似ているというのもとてもとても共感。書きだしてみてちょっとやり直してまた書きだして…という感じ、確かにすごく似てる。
  • 学習手順も非常に参考になりました。ありがとうございました!自分でも試してみたいと思います。

PHPTAL/CakePHP-TALTAL by 野島さん @nojimage

メモ
個人的感想とか
  • なんと福岡からzenpreで参加。すごい。未来。
  • プレゼン内にちょいちょい挟まれるユーモアがツボでした。"not smart"とか。
  • PHPTAL使いやすそうですね。プレビューで見た目が崩れないというのがナイス。

CakePHPのpaginatorのデザイン周り by @ogaaaanさん

メモ
  • pagenatorとはよくある"ページング"、あの大量なデータの羅列をページ分けして1ページ目2ページ目とリンクを貼るアレ、本来は作るのが非常にめんどくさいが、CakeのPagenatorヘルパーを使うとらくちん。
  • 外側のclass名はpagerとかちょっと違うのにするとかぶらなくて良い。
個人的感想とか
  • なんとスライドが表示できなくなるというトラブルに見舞われたにもかかわらず、スライドなしでpagenatorをあたかも落語のような語り口で楽しくそしてわかりやすくご説明になった@ogaaaanさん。なんだかすごいものを見せていただいた感があります。本当にありがとうございました。
  • 表示できなかったスライドも楽しくわかりやすくて良かったです。まさにデザイナープログラマーを行ったりきたり出来る方なのだなぁと。尊敬。



以上、まとめと感想でした。

わかりやすく楽しいプレゼンをたくさん見せていただき、こんな会が無料で参加できてしまっていいのか…と思いました。また懇親会もとても楽しく、スタッフの方々も隅々までとても気を使っていただき大変感謝。本当にありがとうございました!また続編などやって下さる事ありましたらぜひ参加したいです。特にGit for デザイナーに期待。。

しかしせっかく懇切丁寧に教えていただいても、結局コーディングは自分で書いてみなければなんともアレなので、引き続き自分で書いてみたいと思います。未経験のデザイナーさんもとりあえずCakeダウンロードしてゴニョゴニョ書いてみると良いかと思います。

私のCakePHP学習手順

というわけで、一応私の学習した手順をこの場で簡単に共有してみます。私はもともと動機としては、仕事のことはあまり視野になくて、単純に趣味でWebプログラミングやってみたいなということではじめたのでView以外のことも学びましたが、仕事でViewの部分を使いこなしたいという目的が第一であれば、先の@kara_dさんによるやり方の方が早いと思われます。

  • CakePHPブログチュートリアルをやってみる。
    • 簡単なブログっぽいものが作れちゃうというCake公式のチュートリアルです。
    • 所要時間は多分2〜3時間。基礎がある人ならもっと早いのかな。
    • PHPの基本的な知識が必要とありますが、ググりながら頑張れば多分いけるんじゃないかと。うん、大丈夫。多分大丈夫。
    • 開発環境がないとPHPは動きませんが、開発環境の構築についてもし知識がなければレンタルサーバなどに直接ファイルをおいてやってみるのが手っ取り早いでしょう(MySQLの使えるサーバが良いです)。開発環境について学び、環境整えるだけで多少時間を食うのでその間に気持ちが萎える恐れがあります。
    • これひと通りやると、こんな自分でもWebサービスみたいなものが作れちゃうのか!という感動と、大体MVCで何ができるのかが大まかにざっと感覚で掴めて、MVCスゲー!Cakeスゲー!となってテンションあがって次のステップへのやる気が出ます。
  • とりあえずXAMPP入れとくと色々楽かも
    • ApacheMySQLなど、Webプログラムが動かせる環境を一括してインストールしてくれるアレです。Macならそんなの無くても動くのですが、色々セットになってるので入れておくと楽だと思って私は入れました。
  • 何か初心者向けのCakePHP本一冊買って1から学びつつ作ってみる。
    • 私はこれ使いました。(今回のスピーカーの方々の本ではなかったので書くべきかちょっと迷いましたが…うぅ、すみません。。)初心者向けとして大変良い本です。プログラムの知識なしでもわりとすんなり入れるかと思います。(私の持ってるのはCakePHP 1.3用ではなかったのですが、1.3用が出ているようなのでそっちをおすすめ。)



  • 本を学んでだいたいわかったかなと思ったら自分の作りたいサイトをとりあえず作れるところから作ってみる。
    • 自分の作りたいものを作ってみるとより理解が深まります。特にデザイナーならデザインの部分のやりやすさに感動できるのはこのあたり。
    • 自分もここまだまだなのでがんばります。。(実は途中で投げたまま半年以上経ってる…orz

最後になりましたが、今回のスピーカーをして下さった方々の本も紹介させていただきます。

Pocket詳解 CakePHP辞典
Pocket詳解 CakePHP辞典
posted with amazlet at 11.07.24
滝下 真玄
秀和システム
売り上げランキング: 105387


ウェブデザインコーディネートカタログ
黒野 明子 秋野 琢 小山 智久 原 一浩 柳谷 真志
技術評論社
売り上げランキング: 18754


本当にありがとうございました。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/ken_c_lo/20110723/1311439282