SlideShare une entreprise Scribd logo
1  sur  40
Télécharger pour lire hors ligne
CakePHPストーリー
1Copyright © YusukeAndo. 2009. All rights reserved.
CakeMatsuri 団長 Yusuke Ando
September ,5 2009
人気No1 フレームワークの軌跡と未来
About me
名前 安藤祐介 aka @yando
所属 楽天株式会社 RAKUTEN inc
PHPについて喋ったり、書いたりしています
CakePHPやRedmineについての活動
Loving cat, curry, golf and CakePHP.
Copyright © YusukeAndo. 2008. All rights reserved. 22Copyright © YusukeAndo. 2009. All rights reserved.
【告知】楽天テクノロジーカンファレンス
2007年から始まったイベント
10月24日(土)楽天タワーにて今年も開催
「集まれ!モノヅクリスト」
各種ゲストによる講演
一般応募OKのライトニングトーク&デモ
恒例の懇親会
Copyright © YusukeAndo. 2008. All rights reserved. 3
http://tech.rakuten.co.jp/rtc2009/
3Copyright © YusukeAndo. 2009. All rights reserved.
Copyright © YusukeAndo. 2009. All rights reserved. 4
@rakuten_tech on twitter
Follow now!
Copyright © YusukeAndo. 2009. All rights reserved. 5
アジェンダ
CakePHPとは
国内での普及状況
CakePHPの未来
6Copyright © YusukeAndo. 2008. All rights reserved.
CakePHPとは
What is CakePHP
6Copyright © YusukeAndo. 2009. All rights reserved.
http://www.cakephp.org/
Copyright © YusukeAndo. 2009. All rights reserved. 7
コンセプト
全てのレベルのPHPユーザが
素早く安定したウェブアプリ
ケーションを開発が行える
高速開発フレームワーク
8Copyright © YusukeAndo. 2009. All rights reserved.
Rapid Application Development Framework
高速開発
フレームワーク
9Copyright © YusukeAndo. 2009. All rights reserved.
フレームワークを使わない開発 (pure php)
Copyright © YusukeAndo. 2009. All rights reserved. 10
<?php
mysql_connect();
$sql = ‚‛;
$ret = mysql_query();
<?php
mysql_connect();
$sql = ‚‛;
$ret = mysql_query();
<?php
mysql_connect();
$sql = ‚‛;
$ret = mysql_query();
<?php
mysql_connect();
$sql = ‚SELECT * ‛;
$ret = mysql_query();
<?php
Main();
Function main(){}
Function hoge(){}
<?php
Main();
Function main(){}
Function hoge(){}
<?php
Main();
Function main(){}
Function hoge(){}
全てのプログラムに必要な
処理が記述されている
プログラムによって構造が
異なる
フレームワークを使った開発 (with framwork)
Copyright © YusukeAndo. 2009. All rights reserved. 11
フレームワーク
<?php
HogeController {
function index(){}
}
<?php
HogeController {
function index(){}
}
<?php
HogeController {
function index(){}
}
ルールに沿った部品だけ
を作成する
ほとんどのプログラムは
同じ構造になる
典型的なコードの例
Copyright © YusukeAndo. 2009. All rights reserved. 12
<?php
FriendsController extends AppController {
function index(){
$data = $this->Friend->find(‘all’);
$this->set(‘friends’,$data);
}
}
画面表示にデータを受け渡し
SQLを自動的に実行
DBを自動で処理し、
views/friends/index.ctp を表示
Improve productivity and maintainability
生産性の向上
保守性の向上
プログラム作成の作業が簡単になり、
同じやり方で誰でも作成できるようになる。
13Copyright © YusukeAndo. 2009. All rights reserved.
PHPer at all levels
全てのレベル
のPHPユーザ
14Copyright © YusukeAndo. 2009. All rights reserved.
Both novice and expart are target
簡単に使いたい初心者
拡張しまくりたい上級者
上級者向けに思われがちなフレームワーク
を気軽に利用できるスタイル
15Copyright © YusukeAndo. 2009. All rights reserved.
Features for norvice
面倒なインストール・設定作業はほぼ皆無
少ないコードの量で機能を実装可能
サーバやコマンドライン、ライブラリの知識は不要
かんたんなおまじないでデータベースなどを自動処理
Copyright © YusukeAndo. 2009. All rights reserved. 16
PHPの知識があればOK!
Features for advanced user
コントローラーを拡張するComponent
モデルを拡張するBehavior
ビューを拡張するHelper
アプリケーションの一部を再利用するPlugin
Copyright © YusukeAndo. 2009. All rights reserved. 17
工夫して小さくまとめるのが
CakePHP流
18Copyright © YusukeAndo. 2008. All rights reserved.
国内での普及状況
Stats of CakePHP in Japan
18Copyright © YusukeAndo. 2009. All rights reserved.
What is poplar product in PHP ?
Smarty
PEAR
Ethna
symfony
CakePHP
Copyright © YusukeAndo. 2009. All rights reserved. 19
どれも知名度が高い
Google Trends says .. (2004 - 2006)
Copyright © YusukeAndo. 2009. All rights reserved. 20
Google Trends says .. (2007 - 2009)
Copyright © YusukeAndo. 2009. All rights reserved. 21
CakePHP Guidebook and more.
Copyright © YusukeAndo. 2009. All rights reserved. 22
Also official manual is able to read
Copyright © YusukeAndo. 2009. All rights reserved. 23
http://book.cakephp.org/ja
You can take lesson online
Copyright © YusukeAndo. 2009. All rights reserved. 24
http://d.hatena.ne.jp/i_ogi/20090418/1240044385
2時間半のレッスン動画とスライドをiogiさんの協力で公開中
Major web sites Made by CakePHP
Copyright © YusukeAndo. 2009. All rights reserved. 25
東京でのCakePHP勉強会(number of attendees)
Copyright © YusukeAndo. 2009. All rights reserved. 26
30 → 50 → 70
CakePHP Conference Tokyo 2008
Copyright © YusukeAndo. 2009. All rights reserved. 27
CakePHPカンファレンスでの出来事
来場者数は130名弱
プロジェクトマネージャ Garret Woodworth氏の講演
カンファレンス語の懇親会も盛況
サプライズも・・・
Copyright © YusukeAndo. 2009. All rights reserved. 28
CakeFestBerlin
Copyright © YusukeAndo. 2009. All rights reserved. 29
CakeFestBerlinでの出来事
ワークショップとカンファレンスの計4日間
13カ国、70名ほどの参加者
コアデベロッパーによる様々な発表
連日連夜のイベント
Copyright © YusukeAndo. 2009. All rights reserved. 30
CakePHPの広がりを実感
Friendly Community
国内・海外の双方で多くのユーザが利用
ユーザの交流の活発さが開発を促進
マネージャーを中心として広域で開発中
コミュニティがプロダクトのレベルを高める
コミュニティがユーザのレベルを高める
Copyright © YusukeAndo. 2009. All rights reserved. 33
Copyright © YusukeAndo. 2009. All rights reserved. 34
ドイツ
ノルウェー
アメリカ
アメリカ
アルゼンチン
35Copyright © YusukeAndo. 2008. All rights reserved.
CakePHPの未来
The future of CakePHP
35Copyright © YusukeAndo. 2009. All rights reserved.
Upcoming CakePHP
CakePHP1.2
CakePHP1.3
CakePHP2
Cake3
Copyright © YusukeAndo. 2009. All rights reserved. 36
PHP5化・PHP5.3化を予定
CakeMatsuriTokyo @ October, 30-31
Copyright © YusukeAndo. 2009. All rights reserved. 37
Follow @cakematsuri
CakeMatsuriTokyo
Garrett Woodworth 等3人のオフィシャルゲスト
ワークショップ日、カンファレンス日の二部構成
グループワーク形式でノウハウを伝授
サプライズも計画中!
ワークショップ 10,000円、カンファレンス 8,500円で
それぞれチケットを近日発売予定
Copyright © YusukeAndo. 2009. All rights reserved. 38
CakePHPの醍醐味
素早く快適な開発
オープンマインドで
レベルアップ
まだまだ発展するCakeワールドを
楽しんでみませんか?
39Copyright © YusukeAndo. 2009. All rights reserved.
Copyright © YusukeAndo. 2009. All rights reserved. 40
質疑応答
ご静聴ありがとうございました。

Contenu connexe

Similaire à 20090905 Cake Php

CakePHPゆとり開発環境
CakePHPゆとり開発環境CakePHPゆとり開発環境
CakePHPゆとり開発環境Kenichirou Oyama
 
20090522 Candycane
20090522 Candycane20090522 Candycane
20090522 CandycaneYusuke Ando
 
20090529 Phpstudy
20090529 Phpstudy20090529 Phpstudy
20090529 PhpstudyYusuke Ando
 
20090313 Cakephpstudy
20090313 Cakephpstudy20090313 Cakephpstudy
20090313 CakephpstudyYusuke Ando
 
Tcl/Tk+ハッシュリスト
Tcl/Tk+ハッシュリストTcl/Tk+ハッシュリスト
Tcl/Tk+ハッシュリストHiromu Shioya
 
僕らのかんばん方式 -Our Kanban Board-
僕らのかんばん方式 -Our Kanban Board-僕らのかんばん方式 -Our Kanban Board-
僕らのかんばん方式 -Our Kanban Board-Fumihiko Kinoshita
 
即席データサイエンティスト
即席データサイエンティスト即席データサイエンティスト
即席データサイエンティストSatoshi Shimizu
 
CSS Nite In Ginza, Vol.36
CSS Nite In Ginza, Vol.36CSS Nite In Ginza, Vol.36
CSS Nite In Ginza, Vol.36Nobuya Sato
 
スイーツ(笑)がハモってみた - メモあり
スイーツ(笑)がハモってみた - メモありスイーツ(笑)がハモってみた - メモあり
スイーツ(笑)がハモってみた - メモありSatoshi Hirata
 
スイーツ(笑)がハモってみた
スイーツ(笑)がハモってみたスイーツ(笑)がハモってみた
スイーツ(笑)がハモってみたSatoshi Hirata
 
【13-A-2】 「Delphi for PHP のエバンジェリストが、日本の PHP エバンジェリストと、 PHP と IDE の今と未来を語る」~Em...
【13-A-2】 「Delphi for PHP のエバンジェリストが、日本の PHP エバンジェリストと、 PHP と IDE の今と未来を語る」~Em...【13-A-2】 「Delphi for PHP のエバンジェリストが、日本の PHP エバンジェリストと、 PHP と IDE の今と未来を語る」~Em...
【13-A-2】 「Delphi for PHP のエバンジェリストが、日本の PHP エバンジェリストと、 PHP と IDE の今と未来を語る」~Em...devsumi2009
 
フラクタリスト技術知識共有会発表資料 090903
フラクタリスト技術知識共有会発表資料 090903フラクタリスト技術知識共有会発表資料 090903
フラクタリスト技術知識共有会発表資料 090903ngi group.
 
FPGAによるホームサービスロボットのための組込脳型計算機システム
FPGAによるホームサービスロボットのための組込脳型計算機システムFPGAによるホームサービスロボットのための組込脳型計算機システム
FPGAによるホームサービスロボットのための組込脳型計算機システム直久 住川
 
Hoppyではじめよう!リアルタイムweb
Hoppyではじめよう!リアルタイムwebHoppyではじめよう!リアルタイムweb
Hoppyではじめよう!リアルタイムwebtakeshi miki
 
テンプレート管理ツール r3
テンプレート管理ツール r3テンプレート管理ツール r3
テンプレート管理ツール r3Ippei Ogiwara
 
Cloud Computing - クラウドコンピューティング(会津産学懇話会)
Cloud Computing - クラウドコンピューティング(会津産学懇話会)Cloud Computing - クラウドコンピューティング(会津産学懇話会)
Cloud Computing - クラウドコンピューティング(会津産学懇話会)Yusuke Kawasaki
 
YAPC::Europe 2009 Lisbon Report @ Yapc::Asia Pre-conf Meeting
YAPC::Europe 2009 Lisbon Report @ Yapc::Asia Pre-conf MeetingYAPC::Europe 2009 Lisbon Report @ Yapc::Asia Pre-conf Meeting
YAPC::Europe 2009 Lisbon Report @ Yapc::Asia Pre-conf MeetingYusuke Kawasaki
 

Similaire à 20090905 Cake Php (20)

CakePHPゆとり開発環境
CakePHPゆとり開発環境CakePHPゆとり開発環境
CakePHPゆとり開発環境
 
20090522 Candycane
20090522 Candycane20090522 Candycane
20090522 Candycane
 
20090529 Phpstudy
20090529 Phpstudy20090529 Phpstudy
20090529 Phpstudy
 
20090313 Cakephpstudy
20090313 Cakephpstudy20090313 Cakephpstudy
20090313 Cakephpstudy
 
Tcl/Tk+ハッシュリスト
Tcl/Tk+ハッシュリストTcl/Tk+ハッシュリスト
Tcl/Tk+ハッシュリスト
 
僕らのかんばん方式 -Our Kanban Board-
僕らのかんばん方式 -Our Kanban Board-僕らのかんばん方式 -Our Kanban Board-
僕らのかんばん方式 -Our Kanban Board-
 
Jetpack introduction
Jetpack introductionJetpack introduction
Jetpack introduction
 
PHP超入門@LL温泉
PHP超入門@LL温泉PHP超入門@LL温泉
PHP超入門@LL温泉
 
即席データサイエンティスト
即席データサイエンティスト即席データサイエンティスト
即席データサイエンティスト
 
CSS Nite In Ginza, Vol.36
CSS Nite In Ginza, Vol.36CSS Nite In Ginza, Vol.36
CSS Nite In Ginza, Vol.36
 
スイーツ(笑)がハモってみた - メモあり
スイーツ(笑)がハモってみた - メモありスイーツ(笑)がハモってみた - メモあり
スイーツ(笑)がハモってみた - メモあり
 
スイーツ(笑)がハモってみた
スイーツ(笑)がハモってみたスイーツ(笑)がハモってみた
スイーツ(笑)がハモってみた
 
【13-A-2】 「Delphi for PHP のエバンジェリストが、日本の PHP エバンジェリストと、 PHP と IDE の今と未来を語る」~Em...
【13-A-2】 「Delphi for PHP のエバンジェリストが、日本の PHP エバンジェリストと、 PHP と IDE の今と未来を語る」~Em...【13-A-2】 「Delphi for PHP のエバンジェリストが、日本の PHP エバンジェリストと、 PHP と IDE の今と未来を語る」~Em...
【13-A-2】 「Delphi for PHP のエバンジェリストが、日本の PHP エバンジェリストと、 PHP と IDE の今と未来を語る」~Em...
 
フラクタリスト技術知識共有会発表資料 090903
フラクタリスト技術知識共有会発表資料 090903フラクタリスト技術知識共有会発表資料 090903
フラクタリスト技術知識共有会発表資料 090903
 
FPGAによるホームサービスロボットのための組込脳型計算機システム
FPGAによるホームサービスロボットのための組込脳型計算機システムFPGAによるホームサービスロボットのための組込脳型計算機システム
FPGAによるホームサービスロボットのための組込脳型計算機システム
 
Hoppyではじめよう!リアルタイムweb
Hoppyではじめよう!リアルタイムwebHoppyではじめよう!リアルタイムweb
Hoppyではじめよう!リアルタイムweb
 
テンプレート管理ツール r3
テンプレート管理ツール r3テンプレート管理ツール r3
テンプレート管理ツール r3
 
LT openpear@LL温泉
LT openpear@LL温泉LT openpear@LL温泉
LT openpear@LL温泉
 
Cloud Computing - クラウドコンピューティング(会津産学懇話会)
Cloud Computing - クラウドコンピューティング(会津産学懇話会)Cloud Computing - クラウドコンピューティング(会津産学懇話会)
Cloud Computing - クラウドコンピューティング(会津産学懇話会)
 
YAPC::Europe 2009 Lisbon Report @ Yapc::Asia Pre-conf Meeting
YAPC::Europe 2009 Lisbon Report @ Yapc::Asia Pre-conf MeetingYAPC::Europe 2009 Lisbon Report @ Yapc::Asia Pre-conf Meeting
YAPC::Europe 2009 Lisbon Report @ Yapc::Asia Pre-conf Meeting
 

Plus de Yusuke Ando

ダイナミック広告の改善と拡大
ダイナミック広告の改善と拡大ダイナミック広告の改善と拡大
ダイナミック広告の改善と拡大Yusuke Ando
 
DevOpsを実現するChef活用テクニック
DevOpsを実現するChef活用テクニックDevOpsを実現するChef活用テクニック
DevOpsを実現するChef活用テクニックYusuke Ando
 
DevOpsを実現する為のChef実践テクニック Chef12対応版
DevOpsを実現する為のChef実践テクニック Chef12対応版DevOpsを実現する為のChef実践テクニック Chef12対応版
DevOpsを実現する為のChef実践テクニック Chef12対応版Yusuke Ando
 
Testing your app with Selenium on Travis CI
Testing your app with Selenium on Travis CITesting your app with Selenium on Travis CI
Testing your app with Selenium on Travis CIYusuke Ando
 
Travis CIで実現するPHPアプリの自動テスト
Travis CIで実現するPHPアプリの自動テストTravis CIで実現するPHPアプリの自動テスト
Travis CIで実現するPHPアプリの自動テストYusuke Ando
 
Shimokita.Unity Detonatorで爆発
Shimokita.Unity Detonatorで爆発Shimokita.Unity Detonatorで爆発
Shimokita.Unity Detonatorで爆発Yusuke Ando
 
Shimokita.Unity RigidbodyとColliderで衝突
Shimokita.Unity RigidbodyとColliderで衝突Shimokita.Unity RigidbodyとColliderで衝突
Shimokita.Unity RigidbodyとColliderで衝突Yusuke Ando
 
Webプログラマの為のUnity入門
Webプログラマの為のUnity入門Webプログラマの為のUnity入門
Webプログラマの為のUnity入門Yusuke Ando
 
ゴールデンウィークに最適な学習コンテンツ
ゴールデンウィークに最適な学習コンテンツゴールデンウィークに最適な学習コンテンツ
ゴールデンウィークに最適な学習コンテンツYusuke Ando
 
Travis CIですぐに始める継続的インテグレーション
Travis CIですぐに始める継続的インテグレーションTravis CIですぐに始める継続的インテグレーション
Travis CIですぐに始める継続的インテグレーションYusuke Ando
 
ブログやサイトのJekyllへの移行
ブログやサイトのJekyllへの移行ブログやサイトのJekyllへの移行
ブログやサイトのJekyllへの移行Yusuke Ando
 
PHPとTravis CIでブラウザテスト
PHPとTravis CIでブラウザテストPHPとTravis CIでブラウザテスト
PHPとTravis CIでブラウザテストYusuke Ando
 
Shimokita.Unity パリの街をユニティちゃんが駆ける
Shimokita.Unity パリの街をユニティちゃんが駆けるShimokita.Unity パリの街をユニティちゃんが駆ける
Shimokita.Unity パリの街をユニティちゃんが駆けるYusuke Ando
 
Engine Yardで作る NetCommons3のクラウド環境
Engine Yardで作る NetCommons3のクラウド環境Engine Yardで作る NetCommons3のクラウド環境
Engine Yardで作る NetCommons3のクラウド環境Yusuke Ando
 
最近のCandyCane - PHP版Redmineでタスク管理を始めよう
最近のCandyCane - PHP版Redmineでタスク管理を始めよう最近のCandyCane - PHP版Redmineでタスク管理を始めよう
最近のCandyCane - PHP版Redmineでタスク管理を始めようYusuke Ando
 
PHPの教室「foreachを極める」
PHPの教室「foreachを極める」PHPの教室「foreachを極める」
PHPの教室「foreachを極める」Yusuke Ando
 
90分間濃縮 PHPエラーの教室
90分間濃縮 PHPエラーの教室90分間濃縮 PHPエラーの教室
90分間濃縮 PHPエラーの教室Yusuke Ando
 

Plus de Yusuke Ando (20)

ダイナミック広告の改善と拡大
ダイナミック広告の改善と拡大ダイナミック広告の改善と拡大
ダイナミック広告の改善と拡大
 
DevOpsを実現するChef活用テクニック
DevOpsを実現するChef活用テクニックDevOpsを実現するChef活用テクニック
DevOpsを実現するChef活用テクニック
 
DevOpsを実現する為のChef実践テクニック Chef12対応版
DevOpsを実現する為のChef実践テクニック Chef12対応版DevOpsを実現する為のChef実践テクニック Chef12対応版
DevOpsを実現する為のChef実践テクニック Chef12対応版
 
Testing your app with Selenium on Travis CI
Testing your app with Selenium on Travis CITesting your app with Selenium on Travis CI
Testing your app with Selenium on Travis CI
 
Travis CIで実現するPHPアプリの自動テスト
Travis CIで実現するPHPアプリの自動テストTravis CIで実現するPHPアプリの自動テスト
Travis CIで実現するPHPアプリの自動テスト
 
Shimokita.Unity Detonatorで爆発
Shimokita.Unity Detonatorで爆発Shimokita.Unity Detonatorで爆発
Shimokita.Unity Detonatorで爆発
 
Shimokita.Unity RigidbodyとColliderで衝突
Shimokita.Unity RigidbodyとColliderで衝突Shimokita.Unity RigidbodyとColliderで衝突
Shimokita.Unity RigidbodyとColliderで衝突
 
Webプログラマの為のUnity入門
Webプログラマの為のUnity入門Webプログラマの為のUnity入門
Webプログラマの為のUnity入門
 
ゴールデンウィークに最適な学習コンテンツ
ゴールデンウィークに最適な学習コンテンツゴールデンウィークに最適な学習コンテンツ
ゴールデンウィークに最適な学習コンテンツ
 
Travis CIですぐに始める継続的インテグレーション
Travis CIですぐに始める継続的インテグレーションTravis CIですぐに始める継続的インテグレーション
Travis CIですぐに始める継続的インテグレーション
 
ブログやサイトのJekyllへの移行
ブログやサイトのJekyllへの移行ブログやサイトのJekyllへの移行
ブログやサイトのJekyllへの移行
 
PHPとTravis CIでブラウザテスト
PHPとTravis CIでブラウザテストPHPとTravis CIでブラウザテスト
PHPとTravis CIでブラウザテスト
 
Shimokita.Unity パリの街をユニティちゃんが駆ける
Shimokita.Unity パリの街をユニティちゃんが駆けるShimokita.Unity パリの街をユニティちゃんが駆ける
Shimokita.Unity パリの街をユニティちゃんが駆ける
 
Dev opschef
Dev opschefDev opschef
Dev opschef
 
Paa s and oss
Paa s and ossPaa s and oss
Paa s and oss
 
New relic
New relicNew relic
New relic
 
Engine Yardで作る NetCommons3のクラウド環境
Engine Yardで作る NetCommons3のクラウド環境Engine Yardで作る NetCommons3のクラウド環境
Engine Yardで作る NetCommons3のクラウド環境
 
最近のCandyCane - PHP版Redmineでタスク管理を始めよう
最近のCandyCane - PHP版Redmineでタスク管理を始めよう最近のCandyCane - PHP版Redmineでタスク管理を始めよう
最近のCandyCane - PHP版Redmineでタスク管理を始めよう
 
PHPの教室「foreachを極める」
PHPの教室「foreachを極める」PHPの教室「foreachを極める」
PHPの教室「foreachを極める」
 
90分間濃縮 PHPエラーの教室
90分間濃縮 PHPエラーの教室90分間濃縮 PHPエラーの教室
90分間濃縮 PHPエラーの教室
 

20090905 Cake Php