CakePHPでSNSっぽいものをつくってみる企画で学んだこと(CakePHP修行 最終回)

SPONSORED LINK

Pocket

cake_top.gif

さてCakePHP修行。今回が最終回です。このエントリーを書くのがすっかり遅くなってしまった(理由は後述)。

初回が6月20日だったので2ヶ月ぐらいかかりました。ただ、期間はかかりましたが、フレームワークによるラピッド開発の威力を思い知りました。やってよかった。

さて最終回はつらつらと今回の企画で学んだことや雑感などをメモ程度にまとめてみたいと思います。

■ フレームワークについて

この企画をやる前はあまりフレームワークに良い印象はありませんでした。なんとなく感じていたのは次のようなものでした。

  • なんかもっさりしていそう(動作が重そう)。
  • カスタマイズするのがやりにくそう。
  • ドキュメントが少なそう。
  • ゼロから作るのが男だぜ!俺のアイディアはフレームにはまらないぜ!
  • 赤松さんも使ってないしー。

ただ、終わったあとには次のように思いました。

  • やっぱり開発速度は段違い!コードが短いので見直しも楽!
  • 動作速度は検証していないからわからないけど、CakePHPはなんか軽そう(あくまで主観)。
  • カスタマイズは十分にできることが判明!(つか、カスタマイズしたいところだけ従来の手法でガシガシ書ける)
  • ただ、ドキュメントはやっぱり少ないかも。参考にできるようなコードもあまりなかったような・・・。

今回SNSっぽいものを作りましたが、だいぶデータの作り方、取り出し方などがわかりました。作りたいものもたくさんあるので、しばらくはCakePHPでアプリ開発してみたいと思います。慣れてくればもっと速く作れそうでwktkです。

■ CakePHP開発のTips

あまりエンジニアっぽくない僕がいうのもなんですが、次のようなことに気をつけると開発しやすいのかなぁ、と。あくまで個人的なメモですよ、メモ。

  • コーディングはやっぱり毎日やらないと忘れる。毎日ちょっとずつでもやりたい。
  • CakePHPで一番重要なのはAPIドキュメントっぽい。ある程度仕組みが分かってきたらこのドキュメントばかり見てました。デバッグに必須です。
  • まずは開発環境をセットアップしてから開発すると良いですね。今回初Tracでしたが、かなり便利でした。自分なりの環境をすぐにセットアップできるWikiをまとめておくと良いですね。
  • 開発は見た目から。当初はデザインはミニマムで、と思っていましたがやっぱり開発のノリはインターフェースに左右されますね。綺麗な画面を作ってからやると良いかと思います。
  • 当たり前ですが、フレームワークはかなり論理的に作られています。はまったら一歩ひいて「フレームワークの開発者だったらこういう命令つくるよなぁ」と考えるとすっきりすることが多かったです。
  • どの言語にもいえることがですが、同じ処理をするのにやり方は複数あります。どのやり方が正しいとか美しいとかは個々人の判断だと思いますが、あまりどれが正しいとか考えずに「とりあえず動くものを」「あとでリファクタリング」と考えれば変にはまってふて寝とかすることがなくなるかと。
  • ブログで開発レポートをするのは大変だとわかりました・・・。

■ 謝辞!

最後になりますが、あいかわらず青い人にはお世話になりました。この場を借りて感謝感激す。ブログ上でのコメントもさることながら、チャットでもいろいろ教えてくれてありがとう!

ちなみに青い人は若いのにかなり教え上手だと思うのですが、彼の教え方を見ているといくつか特徴があるっぽいのでちょっとまとめてみます。

  • 「えーと、これは忘れてください」
  • コーディングの仕方はたいてい複数あると思うのですが、青い人はよく「えーと、このやり方は忘れてください」といいながら教えてくれます。あきらかにバッドノウハウ的なもの、まだ難しすぎるものについてはとりあえず選択肢から外し、わかりやすい少数の選択肢から選ばせてくれることが多いように思います。

    なお、少数の選択肢を提示するときはちゃんとそれらのメリット、デメリットを提示した上で、自分で考えて選べるようにしてくれます。

  • 「ん?何がしたいんですか?」
  • 複雑なロジックを追っているときには質問をすること自体が難しくなることがあります。そうしたときには常に「何がしたいか」を確認しながら話を進めてくれます。

    当たり前かも知れませんが、お互いに「相手がやりたいのはこういうことなのかなぁ」といった適当な推測にはまる(←よくある)前に話を戻すのがうまいっす。

  • 「はいはい」
  • 質問をすると「はいはい、なんでしょう」と言いながら、ヘッドフォンをはずし、手をキーボードから離し、こちらを向いて話を聴いてくれます。基本的なことですが、これができる人って少なかったりしますよね。

    ちなみに彼が忙しくて質問に答えられないときはきっちり最初に断られます。忙しいから適当に話きくよー、という態度をされるよりはきっちり断ってもらったほうがいいですよね。

いやー、お世話になったなぁ・・・タイ土産買っていかなくちゃ(あ、買ってきたけど渡してないw)。

■ あ、そうだ。

この企画で挫折しなかったらCakePHPに$100寄付するという約束でした。以下が証拠ね。ちなみにこの記事を書くのが遅れたのはPaypalに送金していたため(しかも一回失敗してさらに遅れるという・・・)。

cake_donate.gif

↑ 微力ではありますが、貢献できるところからしておかねば。お世話になりました(&今後もなります)。

というわけでCakePHP修行は終わります!興味のない人にはまったく興味のない内容だったでしょうが、個人的にはかなり楽しかったです。また衝動的にマニアックな企画をするかもしれませんが、そのときはご容赦ください!

※ CakePHP修業は百式管理人がSNSっぽいものをCakePHPで作ろうとして挫折するまでの日記です。前回までのあらすじはこちらへ。

ツイッターもやっています!

SPONSORED LINK

  1. 開発、お疲れ様でした~。「ただ、ドキュメントはやっぱり少ないかも。参考にできるようなコードもあまりなかったような・・・。」このあたり、何とかしたいと思っています!

  2. 開発、お疲れ様でした。いつも参考にさせていただいております。私も最後までがんばるつもりです。では。

  3. デザインを決めます

    最初にある程度、デザインを決めたほうがモチベーションがあがるようなので、
    CSSEZで簡単にデザインを作成しました。

    • Lsant
    • November 22nd, 2007

    CakePHPでWebアプリ開発をすすめているので、参考にさせていただいています。(継続中)
    いつも会社内のネットワークで見ているため、コメントができませんでしたので、自宅ネットでお礼を申し上げます。

    • shuwat
    • January 12th, 2008
  1. No trackbacks yet.