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

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

新規登録して質問してみよう
ただいま回答率
85.50%
JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

サーブレット

サーブレット(Servlets)とはウェブやアプリケーションサーバー上に動くプログラムのことであり、ウェブブラウザや他のHTTPクライエントとデータベースやHTTPサーバー上のアプリケーションの中間層としての働きをします。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

Q&A

解決済

2回答

7283閲覧

WEBアプリをサーブレットとJSPだけで作るのはフレームワークを使った場合と比べて、どれぐらい非効率ですか?

atushi3333

総合スコア15

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

サーブレット

サーブレット(Servlets)とはウェブやアプリケーションサーバー上に動くプログラムのことであり、ウェブブラウザや他のHTTPクライエントとデータベースやHTTPサーバー上のアプリケーションの中間層としての働きをします。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

0グッド

0クリップ

投稿2020/06/02 15:15

編集2020/06/03 10:56

私は最近サーブレットとJSPに触れたのですが
ネットで調べてみると「フレームワーク使うのが常識」というような印象を受けました。
私はSpring Bootなどのフレームワークに関しては全くの無知なのですが、
JavaでWEBアプリを作るときに
サーブレットとJSPのみで作るのは
フレームワークを使った場合と比べ
どれくらい効率に差がありますか?
またフレームワークを使う開発と
使わない開発それぞれのメリットデメリットを教えていただきたいです。
よろしくお願いします。

追記
最初はサーブレット/JSPだけに限った質問にしていましたが、多くの人に見てもらえるように、WEBアプリ開発全般の話に変更し、言語は何でもいいということにします。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/06/02 15:21

どの規模で
atushi3333

2020/06/02 15:31

中規模ですかね... 私の中での中規模のイメージは10人が半年ほどで作るものかな?と言うイメージです。
hentaiman

2020/06/03 07:53

開発者の能力にもよるけど10人もかけて半年かかるってかなりデカイ気が
退会済みユーザー

退会済みユーザー

2020/06/03 10:41

60人月だと3000万円規模なので大規模
atushi3333

2020/06/03 10:53

すいません。まだ私は学生で実務経験がないので相場がわからず、僕の中イメージでの中規模を言いました。
guest

回答2

0

タグがJavaに寄ってるのが勿体ないですね。今からでも修正してみてください。

ただ、効率がどの程度か数値化することはできません。
技術習熟度にもよるので同じものを同じ人数が作ったとして単純比較はできません。

ただ、1人フレームワークに精通した人がいればおそらくその人が中心となりフレームワークでの実装が選択されるのではないでしょうか。

また、アプリケーションは作って終わりではありません。同じ人がメンテナンスするとは限りません。
フレームワークの採用のメリットは「実装のばらつきをおさえる」ことにあると思います。
実装が画一化されていればいるほど、後々のメンテナンス性は向上し、生産性も上がります。

サーブレットでもきちんと実装のルールを作り、守らせれば可能ではありますが、製造工程前に作らなければならない機能が多すぎます。
その点をショートカットできるメリットもあります。
学習コストは相応にかかりますが、それを補って余りある恩恵は、サービスイン後にでてきます。

※ただSpringも内部的にはサーブレットだったはずなので、サーブレット含めWebの基礎知識は必須。これは他のWebフレームワークも同じ

投稿2020/06/02 21:09

m.ts10806

総合スコア80765

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

atushi3333

2020/06/03 07:50

回答ありがとうございます! 私もタグについてはちょっとJavaによりすぎかなと思っていたのですが どんなタグをつけるのが適切かわからず、Javaに偏ったものに なってしまいました。 どんなタグをつけるのがよいでしょうか? やっぱりいろんな人からの意見が欲しいので
m.ts10806

2020/06/03 08:01

思ったタグがなかった… 「フレームワーク」とかはないのか… ひとまずJSPとサーブレットはなしで、Webに使われる主要な言語を入れとくとかでしょうか。 そうすると「PHPでは…」とか聞けるかもしれません。
atushi3333

2020/06/03 10:51

そうなんですよね...なかなかいいタグがなくて悩んでました。 このタグだとJavaに限られちゃいますもんね。 確かにphpなら多くの人に見てもらえそうなので、追加してもう少しまとうと思います。 ありがとうございます。
退会済みユーザー

退会済みユーザー

2020/06/03 11:04

現在ないタグを追加したい タグの追加は運営チームで実施しておりますので、「運営へのお問い合わせ」ページから、「タグの追加要望」を選択し送信してください。 https://teratail.com/contact/input
atushi3333

2020/06/03 14:32

asahina1979さん ありがとうございます。 タグの追加希望をしておきました。
guest

0

ベストアンサー

ネットで調べてみると「フレームワーク使うのが常識」というような印象を受けました。

現在においてはメジャーなフレームワーク使うのが常識という認識で問題無いと思います。

勉強目的か、本当に単機能のwebアプリケーションを作る場合(これもかなり限定される)以外では生の言語機能だけでwebアプリを実装するという選択肢はほぼ取らないと言って差し支えないかと思います。

フレームワークを使った場合と比べ
どれくらい効率に差がありますか?

使う機能によりますが、例えばログイン機能だけを取ってみても初学者がフレームワークと同等の機能を自力で実装するのはかなり難しいので、効率以前に必要な機能が必要なクオリティで完成しない可能性が高いです。

またフレームワークを使う開発と
使わない開発それぞれのメリットデメリットを教えていただきたいです。
よろしくお願いします。

この辺は観点がいくらでもある&主観によっても変わるので少しはご自身で調べてみて&試してみて質問に結果を追記してください。

ざっと思いつくところだと

  • フレームワークを使う開発のメリット

きちんと使えば品質の高いものが短期間で作れる
車輪の再発明をしなくていい
フレームワークを使える人なら途中から参加しやすい

  • フレームワークを使う開発のデメリット

きちんと使うためには相応の学習コストが必要になる(フレームワークを使えるという人を雇ったら全然ダメだったとかそういう事が良くある)
車輪そのものを作る技術は身につかない
フレームワークの制限を大きく超えるような使い方をする場合はコストが大きくなる

  • フレームワークを使わない開発のメリット

学習コストは低く済む
極めればパフォーマンス上有利になり易い
基礎的な部分も自分で実装しないといけないので、その辺りのスキルや知識が身につく

  • フレームワークを使わない開発のデメリット

オレオレルールで作られたアプリケーションを途中から他人がメンテナンスするのは非常にコストが高くなる
品質を保つのが困難である

あたりでしょうか。

投稿2020/06/03 14:47

編集2020/06/03 14:49
tanat

総合スコア18709

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

atushi3333

2020/06/06 03:17

詳しく説明してくださってありがとうございます。 とりあえずはフレームワークを使ってみようと思います。 ありがとうございました。
tanat

2020/06/06 07:39

フレームワークを一通り使ったあとに、フレームレートを使わずに同じ機能を作ってみるとフレームワークの良いところを理解しやすいですね。
退会済みユーザー

退会済みユーザー

2020/06/06 07:46

オレオレフレームワークの保守契約がのこってたが、 オリジナルコードが残ってないとかあったな(遠い目
tanat

2020/06/06 07:55

あるあるですねw
atushi3333

2020/06/07 06:40

ありがとうございます<(_ _)> それも試してみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問