フレームワーク使おうぜ!

26
フレームワーク 使おうぜ オープンソースカンファレンス 2010 Hokkaido 【企画セミナー】次の一歩・LL担当 一般社団法人LOCAL 佐藤 琢哉(nazo)

Upload: takuya-sato

Post on 30-Jun-2015

1.356 views

Category:

Technology


0 download

DESCRIPTION

オープンソースカンファレンス2010 Hokkaido 【企画セミナー】次の一歩・LL編 フレームワーク使おうぜ 一般社団法人LOCAL 佐藤琢哉(nazo) http://labs.nazone.info/

TRANSCRIPT

Page 1: フレームワーク使おうぜ!

フレームワーク使おうぜ

オープンソースカンファレンス 2010 Hokkaido【企画セミナー】次の一歩・LL編

担当 一般社団法人LOCAL 佐藤 琢哉(nazo)

Page 2: フレームワーク使おうぜ!

注意

● 独自解釈が多数登場します● 鵜呑みにすると他で通用しないかもしれません

Page 3: フレームワーク使おうぜ!

いまさら聞けない「フレームワーク」

とは何か

Page 4: フレームワーク使おうぜ!

そもそも「フレームワーク」って?

● 枠組み● 枠組みの中で何かをする

Page 5: フレームワーク使おうぜ!

わかりづらいので仕事に例える

● 皆さんどうやって仕事していますか?● 「枠組みの中で仕事をしている」● 「枠組みが特に無い仕事をしている」

Page 6: フレームワーク使おうぜ!

実は

● ほとんどの人は枠組みの中で仕事をしている● 自覚しているかどうかというだけ

Page 7: フレームワーク使おうぜ!

もう少しわかりやすく!

● 料理で説明● 料理で言うところの「フレームワーク」とは?

● レシピ?

Page 8: フレームワーク使おうぜ!

料理だと?

● レシピはあくまでも「その料理を作るための手順」→ルーチン● 「その料理を作るための枠組み」とは言えるが、

「フレームワーク」はもう少し広い範囲

● 料理における「(もうちょっと広い)枠組み」とは?

Page 9: フレームワーク使おうぜ!

料理におけるフレームワーク

● 台所全体● さしすせそ(砂糖・塩・酢・醤油・味噌)● そんなに料理しないのであまり思いつかない…

Page 10: フレームワーク使おうぜ!

仕事におけるフレームワーク

● 料理の例から考えてみましょう● どんなのが思いつきますか?

Page 11: フレームワーク使おうぜ!

仕事におけるフレームワーク

● 報連相

● 5W1H● GTD● KPT● PDCA

Page 12: フレームワーク使おうぜ!

つまりフレームワークとは?

● 「ある程度の粒度における、何かを達成するために汎用的に使える手順」● レシピがフレームワークでないのは、レシピで達成

できるものは1つでしかないため。

● 「ライブラリ」は、様々な目的を達成する中での、ある1つの決められた項目を達成するためのもの。

● 「フレームワーク」は、様々な目的を達成するための、目的までの過程をわかりやすくしたもの。

Page 13: フレームワーク使おうぜ!

フレームワークで次の一歩!

Page 14: フレームワーク使おうぜ!

ここで話すフレームワークって?

● Webアプリケーションを作成するために使うフレームワーク

Page 15: フレームワーク使おうぜ!

使うとどういいことがあるの?

● 作り方の幅が狭まる● 流れに沿って作ればそれなりのものが簡単に作

れる● 誰でもそれなりに似たようなものが出来上がる

Page 16: フレームワーク使おうぜ!

フレームワークを使わないと?

● みんなばらばらに作業してしまう● ある人にとっては快適に作れるかもしれない

が、他の人がそれを扱えるかどうかは謎

Page 17: フレームワーク使おうぜ!

フレームワークを使わないと?

ノンフレームワーク。相手は死ぬ。      V      ∧_∧     ( ´・ω・`)     ∧_∧     /     \   (´Д` ) .__| |    .| |_ /      ヽ ||\  ̄ ̄ ̄ ̄   / .|   | | ||\..∧_∧    (⌒\|__./ ./ ||.  (    )     ~\_____ノ|   ∧_∧   /   ヽ           \|   (    )    |     ヽ           \/     ヽ.   |    |ヽ、二⌒)        / .|   | |   .|    ヽ \∧_∧    (⌒\|__./ /

Page 18: フレームワーク使おうぜ!

デメリットとかないの?

● 覚えるのがちょっと面倒● 今までの書き方が雑だった人ほど大変

● でも学習コストは簡単に回収できる

Page 19: フレームワーク使おうぜ!

どうすれば導入できる?

● 現行プロジェクトをリプレイスするのは敷居が高い● 新規プロジェクトがおすすめ

● 本当にフレームワークが必要なのか?● 今までどんなことに苦労したか?

– SQL書くのがめんどい– 同じことをするのに違うコードを書いている– テンプレートが汚い

Page 20: フレームワーク使おうぜ!

言語別フレームワーク紹介

Page 21: フレームワーク使おうぜ!

Perl● Catalyst

● http://www.catalystframework.org/● Sledge

● http://sl.edge.jp/

Page 22: フレームワーク使おうぜ!

PHP● CakePHP

● http://cakephp.jp/● symfony

● http://www.symfony-project.org/● Zend Framework

● http://framework.zend.com/

Page 23: フレームワーク使おうぜ!

Ruby● Ruby On Rails

● http://rubyonrails.org/● Sinatra

● http://www.sinatrarb.com/● merb

● http://www.merbivore.com/

Page 24: フレームワーク使おうぜ!

Java● Struts

● http://struts.apache.org/● Wicket

● http://wicket.apache.org/● Spring

● http://www.springsource.org/

Page 25: フレームワーク使おうぜ!

Python● Django

● http://www.djangoproject.com/● TurboGears

● http://turbogears.org/● Pylons

● http://pylonshq.com/

Page 26: フレームワーク使おうぜ!

enjoy!