![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.1ベストアンサー
- 回答日時:
Web屋です。
OkWebの様なサイトを設計, 開発する仕事をしています。プロの立場で見ると、PHPとJSPは同じような位置づけにあるとは思えません。
JSPはServletと連携して利用するパターンが多いです。画面描画はJSPで行ってビジネスロジックはServletを利用して記述する。などと言う連携が考えられます。
特に、基盤機能がある程度しっかりとしている場合、JSPが基盤機能と直接やりとりする事はあまり考えられないですね。
PHPでは画面描画もビジネスロジックもPHPだけで記述しますね。(当然ですが)
そう言う意味では、CGI的存在により近いのかも知れません。
PHPは寧ろASPやCGI寄りと考えた方がピンと来る様な気がします。
Webシステムは、最終的にHTMLを出力する事を主目的としているので、PHPの方が向いているプログラム、JSPの方が向いているプログラムと言うのは無いのではないかな。と思います。
CGI, ASPも同様です。
あえて、JSPの利点とPHPの利点を挙げると。。
JSP/Servletは、業務開発のための言語。
例えば、企業内の管理システムはJSP/Servletで書かれている場合が多いです。
PHPは、初心者のための言語。
Perlほど難しくは無いし、同程度の仕事はできる。特に日本では初心者のための言語と言う位置づけが定着している様なイメージがあります。
メリットと言う意味では、
JSP/Servletは、既に蓄積されている部品がたくさんあり、再利用が容易。
その分、チーム開発に適していますね。
PHPは、文法を理解するのが容易で、入門書も多数販売されている。
画面とロジックが1本にまとまっているので、ロジックを把握するのが簡単かも知れません。
って感じでしょうか。
プログラムの種類で選ぶより、開発規模やそのシステムがどこで利用されるのか。
などで決定される様な気がします。
この回答への補足
ありがとうございます
サイト上にオセロゲームがあったので
それをしたりしているのですが
それを作るとなるとどのようなプログラムを使ってどんな概略で作るのがいいでしょうか?
No.4
- 回答日時:
>クライアントAがサーバSに知らせることはできますが
サーバSがAの操作をクライアントBに知らせることはできませんね?
>クライアントBがサーバSに問い合わせるまでクライアントBはアンタッチャブルではないのでしょうか?
>その場合Bで走っているアプレットはSからの通信を待っている状態にできるのでしょうか?
クライアントBはソケットを開けてサーバ上からの通信を待っている状態になっています。
口を開けて待っている状態のクライアントBが在り、クライアントAがスイッチを操作し、クライアントAがスイッチ押されたのをSがわかったあと、Bに対して餌を与えます。
その後、クライアントAが次の通信を受け取る準備をします。
その繰り返しになるかと
ありがとうございます
口をあけて待っていられるのは魅力ですね
ただJavaに対応していないブラウザクライアントを切り捨てるのがもったいない気がします
No.3
- 回答日時:
JSPよりPHPを使う
・開発工数がJSP/サーブレットの同等なシステムに比べて比較的少なく済む場合が多い。(どちらも0から作ったら)
・短時間で習得できることが可能
・DBとの連携が簡単
PHPよりJSP+サーブレットを使う
・部品分けや再利用がしやすい
・画面と内部処理をわけられる
JavaAplettはローカルで動いてますが、
あまり詳しくはないのですが、ソケット通信が可能だった気がします。
そうすれば、何か動作を起こしたことを知らせ、受け取ることが可能です。
この回答への補足
ありがとうございます
何か動作を起こしたことを知らせ、受け取ることが可能です。:
クライアントAがサーバSに知らせることはできますが
サーバSがAの操作をクライアントBに知らせることはできませんね?
クライアントBがサーバSに問い合わせるまでクライアントBはアンタッチャブルではないのでしょうか?
No.2
- 回答日時:
#1 です。
そのオセロゲームがどの様な方法で表示しているのか、確認しないと正しいことは言えませんが、
多分、Java Appletで書かれているのだと思います。
PHPとJSP/Servlet(CGI, ASPも同様に)は、HTMLを動的に作成する事に主眼が置かれています。(CGIは主眼とまでは行かないかも知れませんが。)
駒をひとつ置くたびに、画面をリフレッシュして再描画するのであれば、PHPやJSP/Servletでも可能ですが、オセロゲームの様な場合、毎回再描画をするのは非効率的ですので、Java Appletが適しているでしょう。
この回答への補足
ありがとうございます
Java Appletの場合対戦相手の打った手やタイミングをどうやってサーバ経由で知ることができるのでしょうか?
私の危うい知識によるとJavaAppletはクライアント側でローカルに実行されているだけではないかと思うのですが?
クライアントAとクライアントBがサーバSを通じてオセロをやっているときに
打った手をAがSに送りSが処理してBにその結果を送らなければなりませんが
その場合Bで走っているアプレットはSからの通信を待っている状態にできるのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 10 ビデオカードが変更されたPCの復元 1 2022/11/29 02:01
- バックアップ ファイル履歴を使用してバックアップよりハードディスクドライブに保存した方良いですか? 3 2022/09/29 22:31
- Java 問題作成のWebアプリの作り方を教えてください 1 2022/11/26 22:01
- PHP PHP ページング データベース 1 2022/06/16 10:30
- PHP PHPで訪問回数を表示するカウンタを作成したい 3 2023/05/27 07:09
- PHP ECCUBE4のページ管理でPHPを実行させたい 1 2023/04/06 11:42
- PHP どうして送信されないのでしょうか? 1 2022/12/09 05:23
- PHP PHPプログラムの間違い 1 2022/10/06 14:33
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- PHP PHPの変わった閉じタグの必要性と意味を教えてください。 1 2022/08/28 15:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
html5,phpを覚えたいのですがま...
-
PHPとPerlとではどちらが修得し...
-
C言語、C+、C++、C#の違い
-
C言語とhtmlの違いを どな...
-
COBOLでのNOT = の AND条件
-
C++における継続行
-
リピート再生が出来ません
-
アセンブリ名とは??
-
C言語でBASE64のエンコードのプ...
-
小学生にプログラミング(Scratc...
-
身長187cmです。 新卒未経験か...
-
プログラムに書かれる"%"記号の...
-
C言語って古いですか?
-
abnormal program termination
-
encore と言う 譜面書きソフト...
-
HOLONついて教えてください。
-
COBOLで文字タイプを数字...
-
自営業でも実務経験に入る?
-
Pythonでの不均一なサイコロを...
-
もし仮に5つの言語(Python, J...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
どのプログラミング言語で作ら...
-
Laravelなど、フレームワークを...
-
「楽天」で開発に使用している...
-
PHPでLinux用のCライブラリを呼...
-
いまから勉強するなら、どんなw...
-
Web系のプログラム言語はサーバ...
-
Webプログラミングを勉強するに...
-
フレームワークは開発環境だけ...
-
プログラミング言語同士の繋が...
-
PHPを覚えた方がいいですか?
-
適切/効率的なプログラミング言...
-
サルでもわかる 代入演算子 PHP
-
PHPの脆弱性ってどうなったんで...
-
CGIとPHPの違い
-
PHPを習おうと思っているのです...
-
0から覚えるPHP
-
phpの限界は?
-
PHPやPostgres、JAVAはどの...
-
1ページ目の検索窓に文字列を入...
-
どんなプログラミング言語を使...
おすすめ情報