狠狠撸

狠狠撸Share a Scribd company logo
オープンソースカンファレンス 2010 Hokkaido
【企画セミナー】次の一歩?LL編




    フレームワーク
      使おうぜ

              担当 一般社団法人LOCAL 佐藤 琢哉(nazo)
注意
●   独自解釈が多数登場します
●   鵜呑みにすると他で通用しないかもしれません
いまさら聞けない
「フレームワーク」
   とは何か
そもそも「フレームワーク」って?
●   枠組み
●   枠組みの中で何かをする
わかりづらいので仕事に例える
●   皆さんどうやって仕事していますか?
    ●
        「枠組みの中で仕事をしている」
    ●
        「枠組みが特に無い仕事をしている」
実は
●   ほとんどの人は枠組みの中で仕事をしている
●   自覚しているかどうかというだけ
もう少しわかりやすく!
●   料理で説明
●   料理で言うところの「フレームワーク」とは?
    ●
        レシピ?
料理だと?
●   レシピはあくまでも「その料理を作るための手
    順」→ルーチン
    ●
        「その料理を作るための枠組み」とは言えるが、
        「フレームワーク」はもう少し広い範囲
●   料理における「(もうちょっと広い)枠組み」
    とは?
料理におけるフレームワーク
●   台所全体
●   さしすせそ(砂糖?塩?酢?醤油?味噌)
●
    そんなに料理しないのであまり思いつかない…
仕事におけるフレームワーク
●   料理の例から考えてみましょう
●   どんなのが思いつきますか?
仕事におけるフレームワーク
●   報連相
●   5W1H
●   GTD
●   KPT
●   PDCA
つまりフレームワークとは?
●   「ある程度の粒度における、何かを達成するた
    めに汎用的に使える手順」
    ●
        レシピがフレームワークでないのは、レシピで達成
        できるものは1つでしかないため。
●   「ライブラリ」は、様々な目的を達成する中で
    の、ある1つの決められた項目を達成するため
    のもの。
●   「フレームワーク」は、様々な目的を達成する
    ための、目的までの過程をわかりやすくしたも
    の。
フレームワークで
  次の一歩!
ここで話すフレームワークって?
●   Webアプリケーションを作成するために使うフ
    レームワーク
使うとどういいことがあるの?
●   作り方の幅が狭まる
●   流れに沿って作ればそれなりのものが簡単に作
    れる
●
    誰でもそれなりに似たようなものが出来上がる
フレームワークを使わないと?
●   みんなばらばらに作業してしまう
●   ある人にとっては快適に作れるかもしれない
    が、他の人がそれを扱えるかどうかは謎
フレームワークを使わないと?

  ノンフレームワーク。相手は死ぬ。
        V
       ∧_∧
      ( ??ω?`)     ∧_∧
      /     \   (?Д` )
  .__| |    .| |_ /      ヽ
  ||\  ̄ ̄ ̄ ̄   / .|   | |
  ||\..∧_∧    (⌒\|__./ ./
  ||.  (    )     ~\_____ノ|   ∧_∧
    /   ヽ           \|   (    ) 
    |     ヽ           \/     ヽ.
    |    |ヽ、二⌒)        / .|   | |
    .|    ヽ \∧_∧    (⌒\|__./ /
デメリットとかないの?
●   覚えるのがちょっと面倒
●   今までの書き方が雑だった人ほど大変
    ●
        でも学習コストは簡単に回収できる
どうすれば導入できる?
●   現行プロジェクトをリプレイスするのは敷居が
    高い
    ●
        新規プロジェクトがおすすめ
●   本当にフレームワークが必要なのか?
    ●   今までどんなことに苦労したか?
        –   SQL書くのがめんどい
        –   同じことをするのに違うコードを書いている
        –   テンプレートが汚い
言語別
フレームワーク紹介
Perl
●   Catalyst
    ●   http://www.catalystframework.org/
●   Sledge
    ●   http://sl.edge.jp/
PHP
●   CakePHP
    ●   http://cakephp.jp/
●   symfony
    ●   http://www.symfony-project.org/
●   Zend Framework
    ●   http://framework.zend.com/
Ruby
●   Ruby On Rails
    ●   http://rubyonrails.org/
●   Sinatra
    ●   http://www.sinatrarb.com/
●   merb
    ●   http://www.merbivore.com/
Java
●   Struts
    ●   http://struts.apache.org/
●   Wicket
    ●   http://wicket.apache.org/
●   Spring
    ●   http://www.springsource.org/
Python
●   Django
    ●   http://www.djangoproject.com/
●   TurboGears
    ●   http://turbogears.org/
●   Pylons
    ●   http://pylonshq.com/
enjoy!

More Related Content

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

  • 1. オープンソースカンファレンス 2010 Hokkaido 【企画セミナー】次の一歩?LL編 フレームワーク 使おうぜ 担当 一般社団法人LOCAL 佐藤 琢哉(nazo)
  • 2. 注意 ● 独自解釈が多数登場します ● 鵜呑みにすると他で通用しないかもしれません
  • 4. そもそも「フレームワーク」って? ● 枠組み ● 枠組みの中で何かをする
  • 5. わかりづらいので仕事に例える ● 皆さんどうやって仕事していますか? ● 「枠組みの中で仕事をしている」 ● 「枠組みが特に無い仕事をしている」
  • 6. 実は ● ほとんどの人は枠組みの中で仕事をしている ● 自覚しているかどうかというだけ
  • 7. もう少しわかりやすく! ● 料理で説明 ● 料理で言うところの「フレームワーク」とは? ● レシピ?
  • 8. 料理だと? ● レシピはあくまでも「その料理を作るための手 順」→ルーチン ● 「その料理を作るための枠組み」とは言えるが、 「フレームワーク」はもう少し広い範囲 ● 料理における「(もうちょっと広い)枠組み」 とは?
  • 9. 料理におけるフレームワーク ● 台所全体 ● さしすせそ(砂糖?塩?酢?醤油?味噌) ● そんなに料理しないのであまり思いつかない…
  • 10. 仕事におけるフレームワーク ● 料理の例から考えてみましょう ● どんなのが思いつきますか?
  • 11. 仕事におけるフレームワーク ● 報連相 ● 5W1H ● GTD ● KPT ● PDCA
  • 12. つまりフレームワークとは? ● 「ある程度の粒度における、何かを達成するた めに汎用的に使える手順」 ● レシピがフレームワークでないのは、レシピで達成 できるものは1つでしかないため。 ● 「ライブラリ」は、様々な目的を達成する中で の、ある1つの決められた項目を達成するため のもの。 ● 「フレームワーク」は、様々な目的を達成する ための、目的までの過程をわかりやすくしたも の。
  • 14. ここで話すフレームワークって? ● Webアプリケーションを作成するために使うフ レームワーク
  • 15. 使うとどういいことがあるの? ● 作り方の幅が狭まる ● 流れに沿って作ればそれなりのものが簡単に作 れる ● 誰でもそれなりに似たようなものが出来上がる
  • 16. フレームワークを使わないと? ● みんなばらばらに作業してしまう ● ある人にとっては快適に作れるかもしれない が、他の人がそれを扱えるかどうかは謎
  • 17. フレームワークを使わないと? ノンフレームワーク。相手は死ぬ。       V      ∧_∧     ( ??ω?`)     ∧_∧     /     \   (?Д` ) .__| |    .| |_ /      ヽ ||\  ̄ ̄ ̄ ̄   / .|   | | ||\..∧_∧    (⌒\|__./ ./ ||.  (    )     ~\_____ノ|   ∧_∧   /   ヽ           \|   (    )    |     ヽ           \/     ヽ.   |    |ヽ、二⌒)        / .|   | |   .|    ヽ \∧_∧    (⌒\|__./ /
  • 18. デメリットとかないの? ● 覚えるのがちょっと面倒 ● 今までの書き方が雑だった人ほど大変 ● でも学習コストは簡単に回収できる
  • 19. どうすれば導入できる? ● 現行プロジェクトをリプレイスするのは敷居が 高い ● 新規プロジェクトがおすすめ ● 本当にフレームワークが必要なのか? ● 今までどんなことに苦労したか? – SQL書くのがめんどい – 同じことをするのに違うコードを書いている – テンプレートが汚い
  • 21. Perl ● Catalyst ● http://www.catalystframework.org/ ● Sledge ● http://sl.edge.jp/
  • 22. PHP ● CakePHP ● http://cakephp.jp/ ● symfony ● http://www.symfony-project.org/ ● Zend Framework ● http://framework.zend.com/
  • 23. Ruby ● Ruby On Rails ● http://rubyonrails.org/ ● Sinatra ● http://www.sinatrarb.com/ ● merb ● http://www.merbivore.com/
  • 24. Java ● Struts ● http://struts.apache.org/ ● Wicket ● http://wicket.apache.org/ ● Spring ● http://www.springsource.org/
  • 25. Python ● Django ● http://www.djangoproject.com/ ● TurboGears ● http://turbogears.org/ ● Pylons ● http://pylonshq.com/