目的
「みんな」が「効率的」に
Web アプリを作成出来るようになること
今までは…
● telnet でテストサーバに入って
vi で直接ソース書いて…
● PC のエディタで書いたのを FFFTP で
アップロードして…
● 修正前のファイルをファイル名に
日付追加してコピーしといて…
● デバッグのために print 文埋め込んで
値表示して…
方法
● 現代的なツールや開発手法を導入する
● 標準ツールを策定して開発方法を揃える
→ 自分の書いたソースを
「将来の誰か」に読みやすくするため
「みんな」の対象範囲
● 「プログラマー」
だけじゃなくて
● 「デザイナー」
にも 8 割がたは「使える」ツール
4 つの柱
● バージョン管理システム (git)
● フレームワーク (CakePHP)
● テスト (PHPUnit/Selenium)
● IDE とデバッガー (Eclipse)
バージョン管理システム
● ソース内やファイルでバックアップを
残さなくて良い
● やったことの「歴史」を残せる
● チームでの並行開発が出来る
● 修正を前に戻せる
git
● 分散バージョン管理システム
● サーバと PC とに「分散」している
● 軽い・構造がシンプル
● 一人で使っても十分嬉しい
● github
コード共有プラットフォーム
● GitExtensions
Windows の git GUI
フレームワーク
● フレームワークにすると良いこと
– 手早く書ける
– 基本構造がみな一緒になる
→ 他人のソースをすぐ読める
● フレームワークの悪いとこ
– フレームワークの「作法」を学ぶコスト
● なぜ PHP にしたのか
– 言語の評判はあまり良くない
– でも PHP で作られている CMS は多い
Wordpress / NetCommons など
CakePHP(Web アプリフレームワーク )
● Ruby on Rails の PHP 版という感じ
● 日本語の情報が一番多そうだった
● MVC
● 設定より規約
● 名前重要
● OR マッパー
Twig( テンプレートエンジン )
● 可読性が高い
<?php echo $foo->bar['id'];?>
→ {{foo.bar.id}} で OK
● ループや if も簡潔に書ける
● フィルタ機能
{{foo|e}} で HTML エスケープなど
Bootstrap(CSS フレームワーク )
● 簡単
● デザイン性が高い
● HTML5
● ポータブル(スマホ対応など)
テスト
● なぜテストがあるとうれしいか
– 将来の変更に対して足がかりとなる
– ある意味「仕様」をコードにしたもの
– 動作チェックも容易になる
● ユニットテスト (PHPUnit)
● UI テスト (Selenium)
IDE とデバッガー
● IDE で嬉しいこと
– リアルタイムの文法チェック
– オートコンプリート
– デバッガー
● デバッガーを使おう
– その場で値の確認
– ステップ実行
– Web アプリでも出来る
xampp
● Windows 上の LAMP キット
● 解凍するだけでネイティブで動く
● 自分だけが気兼ねなく使える環境
● 書いて即動作テスト出来る
● Eclipse からデバッガーが利用出来る
Eclipse
● Java や PHP 等の IDE
● デバッガーを使うためだけでも
今後の予定
● それぞれのツールのインストールと設定
– Cygwin
– GitExtensions
– Pleiades( 日本語化 xampp/Eclipse)
– CakePHP
● GitExtensions の使い方
● Eclipse とデバッガーの使い方
● CakePHP での開発方法

Web開発用ツール導入のすすめ