質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

89.05%

phpでwebアプリを作るときフレームワークは不要なのか?

解決済

回答 4

投稿

  • 評価
  • クリップ 1
  • VIEW 3,416

ken0625

score 40

プログラミングは独学の学生で、周りで仕事として使っている人と関わるタイミングが少ないので質問させてください。

僕は基本的にバックエンドにあまり深く突っ込んでいないので、webアプリ作りたければrails、モバイルアプリならapiをrailsで書いてAndroidみたいなものしか作ってませんでした。
Androidをメインでやっていてそこまで複雑なバックエンドが必要になったことがなかったからです。
しかし最近、phpで簡単なwebアプリを作るバイトをさせていただいて、phpはだいぶ昔に自分で簡単なフレームワークを作って使ったことがあっただけだったので、不安でしたが久々にドキュメントなど読みつつ書きました。
その際cakephp3を使ったのですが、発想がrailsとかなり近かったのかすごく早く学習ができて、一応仕様通りのwebアプリを3日程度で作ることができました。
もちろんまだ色々不安なところもありますが、昔は既存フレームワークを覚えてない状態で使っていたのでフレームワークによってこんなに早く使えるようになるのかとか感動してました。

しかし、今後クオリティを上げるためベストプラクティスなど検索してみたところフレームワーク不要論が結構phpでは多いようで、今後仕事を受けるときのためにフレームワークを使わないで色々できるようにしとくべきか迷うようになりました。
実際仕事でphpで書いた製品を納品する場合フレームワークを使うのは良くないのでしょうか?

開発規模にもよると思うのですが、簡単なwebアプリなら使わないほうがいいのでしょうか?
その辺の正解がいまいちわからないので教えていただきたいです。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • ahodana

    2017/07/31 07:34

    規模、コスト感、体制によりけりですがベストアンサーの観点は? ベストアンサーが存在しない質問だと思うが

    キャンセル

回答 4

+4

一般に Web フレームワークとは、MVC(Model, View, Controller)という構造をもったそれなりに規模の大きいシステム向けのものです。逆に言えば、MVC を必要としないシステムであれば、無理にフレームワークを使う必要はない、とも言えます。
が、現実問題として、MVC を必要としないシステムというのは考えにくい(DB がないシステム?)ので、なんだかんだ言ってフレームワークを使えたほうが楽はできます。

ただし、仕事、それも相手先がある仕事だと、そもそもポリシーとしてフリーソフトウェアやコピーレフトなものを使うことができない、という客先もあるので、そういう場合はスクラッチするしかありません。

フレームワークというのは基本的には似通ってますから、一つのフレームワークに触れていれば、他のフレームワークに対応するのも難度は下がります。(フレームワークとは設計の思想でもありますから、似たような設計思想であれば根幹は同じになります)
※CakePHP は Ruby on Rails に触発されたのが開発契機の一つなので、似通っているのは当然です

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

checkベストアンサー

+2

しかし、今後クオリティを上げるためベストプラクティスなど検索してみたところフレームワーク不要論が結構phpでは多いようで

というのは、具体的にどういった理由で不要とされているかについて提示されないと回答が出来ないかと思います。
個人的には、「PHP フレームワーク 不要」あたりで検索してきて出てくるページで挙げられている理由には賛同/納得できないか、10年前なら許されたんじゃない?というものが多いです。

まだ学生という事であれば、フルスクラッチで組もうと思ったらいつでも組める/ある程度複雑なシステムを組んだことがあるという状態まではまず学習されることをお勧めします。

私の場合、発注する側の立場としては

  • フルスクラッチで組める人にフレームワークを使って組んでもらいたい
  • フレームワークを使わないと組めない人には部品のコーディングは頼めるが、設計や基幹部分は任せたくない(フレームワークを使わないと組めない=webアプリケーションの基本的な構造を把握しておらず、問題発生時に対処が出来ないであるという判断)
  • 保守が必要が無い短期限定のシステムや1ページで完結する様な規模のシステムの場合のみフルスクラッチもありかな?(それでも軽量フレームワークを使う方がベター)

という観点で発注や仕事の振り分けを行います。

実際仕事でphpで書いた製品を納品する場合フレームワークを使うのは良くないのでしょうか?

開発規模にもよると思うのですが、簡単なwebアプリなら使わないほうがいいのでしょうか?
その辺の正解がいまいちわからないので教えていただきたいです。

前述の内容と異なると思われるかもしれませんが、
これは要件次第なので、正解は案件によって違います。
納品物に責任を持つ立場で仕事をするのであれば、正解を先に決めてから開発と納品を行うというスキルが何より必要になります。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/08/14 19:13

    ベストアンサーが遅れて申し訳有りません。
    みなさんの意見どれも納得のいくもので大変参考になりました。
    一応フルスクラッチでも作れるようにしておこうと思います。昔本を参考にして自作フレームワーク作ったのですが今はもう覚えてるか危ういって感じなので...

    ありがとうございました!

    キャンセル

+2

フレームワークをある程度自由に使いこなせる方のようですので、自分で
コントロールできるプロジェクト(一人プロジェクトで、製作時のポリシー
は完全におまかせ等)の場合はどんどん使うべきかと思います。

一方、『フレームワーク?なにそれおいしいの?』という人や会社が作って
動いているシステムが大量にあるのも事実です。そういう案件だと、フレーム
ワークを使いたくても使えないケースがあるのも事実です。

個人的には、規模というよりは『使えるような状況なら積極的に使うべき。
でも(地域とか発注者の都合で)そのような環境がないことも多い』という
感覚です。こういう案件でも受けたい場合は、スクラッチから作るスキルも
必要になってくるということかと。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

こういう考え方もあります。

例えば、今はken0625さんがCake3で作っていたとします。

ken0625さんが卒業して就職したとして、Cake3で作っていたプログラムのお手伝いができなくなると、
その会社さんは他の方にお願いしなくてはなりません。

そこで、PHPのフルスクラッチができればよい、という条件とCake3が使えないといけないという条件だとどちらのほうが幅が広いでしょうかという問題があります。

他の方も回答されてる通り、フレームワークを知らない人もいます。
そこは発注する側の企業文化だったり、予算や開発スピードにもよるとは思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 89.05%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る