2009-04-16 9 views
10

私はJavaプログラミング(約2年)は比較的新しいですが、Web開発には新しくありません。私はHTMLとASP(プレ.NET)を使い始め、最近J2EEを使い始めました。私はJSP /サーブレット(ASPに似ていると感じる)をよく把握していて、最近JSFとFaceletsの作業を開始したような気がします。なぜ人々はJSFが好きなのか分かりますが、私はそれが大きな負担になると感じています。実際には、私の開発時間が遅くなっています。これは学習曲線によるものだと思いますが、JSP /サーブレットを使用していただけではページ/タスクを終了すると思うことがよくあります。Java Webフレームワークは本当に面倒な価値がありますか?

これは、フレームワークを学ぶために時間を割いた人に共通ですか?フレームワークの学習に時間を費やしたことがありますし、一度それに堪能だったら、洗練されていないが快適に感じる方法に戻ることに決めましたか?

私は正しいフレームワークを選択したかどうかについても質問しています。私は本当にAJAX機能を追加することを妨げないものを見つけることを望んでいました。

答えて

12

JSFは多くのJava Webフレームワークよりも使い始めが難しく、習得が難しい場合があります。 SeamでJSFを使用する方が簡単です.JFを使用する方法の多くを単純化し、JSPをFaceletsに置き換えることは大きな改善です。

また、多くの人が使いやすいSpringMVCを試すことができます。

+1

JSFの学習曲線が非常に急であることがわかりましたが、使用方法を理解したら、実際にはそれが気に入っていました。 –

+0

私はそれをもう一度。非常に勉強が難しいですが、一度それを得たら、それは本当に素晴らしいツールです。 –

+1

+1は同意し、それの上にajaxを追加すると、すぐに自分自身を殺すことになります。 – Alex

5

私はfaceletを少しずつ使っています。 Java Webフレームワークで見られる主な利点の1つは、コードをきれいに保ち、再利用を促進することです。たとえば、Faceletでは、JSPのようにページ内にスクリプトレットを取得しません。私は3000行以上のASPファイルを本番環境で見てきました。 ASPやJSPには本質的に間違ったものは何もありませんが、ページ内のビジネスロジックをかなり簡単にすることができます。害はない、そう?他の誰かがそれを維持しなければならないまで。

ほとんどのフレームワークは、自動的にユニットテスト可能なクリーンなテンプレート(jsp、faceletsなど)とビジネスコードとドメインコードにつながり、MVCやその他のモデルがより厳密に分離されるように支援します。多くのフレームワークを使用すると、少し時間がかかりますが、メンテナンスとリファクタリングについては何度も手間を省きます。

1

私は簡単な答えは、あなたがそれをテストし、あなたが変更を加えたときにどのように動作することを検証するのでしょうか?

これは、簡単な解決策が崩壊し、あなたが維持管理の地獄に終わるところです。残念ながら:(

0

SpringMVCは手間の価値がある。J2EEは、私は、これはフレームワークが本当にあなたのために「難しい問題」を解決し、簡単にそれを解決しているかどうかに依存だと思う。

+0

J2EEは面倒な価値がありませんか? JEEはJ2EEよりもずっと面倒ではありませんが、J2EEでさえそれが使用されています。 – vickirk

1

ではありません。人々は常にこれを見つけるひどく議論の余地は何らかの理由で言えますが、私が使用したと考えているフレームワークの大部分は、途中で途切れることになりました。

後で、私が持っているとき私のコードの問題は、私はちょうどどこに問題があり、それを修正するコードの行を追加するのではなく、ドキュメントのページを魔法の設定パラメータを見つけるために渡っている。 (好きなフレームワークを挿入して)私は、フレームワークが解決しようとしている根本的な問題が最初に複雑になることは決してありませんでした。

私の好きな無用なフレームワークは、いくつかのバイトをソケットの下に送るか、準備されたステートメントにいくつかのパラメータを詰め込み、データベースに発射するなどの基本的な作業を行うための多くの構成と不器用な定型コードです。私のお気に入りのもうひとつは、「XML技術」の全体的なもの、特に「プラガブル」または「設定可能」なものです。 (なぜなら、常に動作するパーサではなく、「プラグイン可能なパーサフレームワーク」が必要なのですか?)Victor Meldrewと呼んでください。しかし、10分間の正規表現の問題を2日間のhow- X-in-the-title-do-itの問題を伴う、あなたが作るこのフレームワーク

今は、Spring、Hibernate、JSF、MVCJammer、Joomajamaventilate、 'X'が入っているものなど、絶対に繁栄している人もいます。いくつかの状況では、私は人生で欠けているだけです。

おそらく、あなたやあなたの組織が主に「構成」と「一緒に物事をつなぎ合わせる」熟練者か「プログラミング」熟練者のどちらかによって異なりますか?私は後者の方が多いと思います。

1

私のアドバイス:さまざまなフレームワークで快適になり、手を汚くして自分自身で書く方法を知っています。いくつかの好きな作業方法を開発しますが、ツールが実行できること、実行できないことをよく理解しています。また、フレームワークを使用するのに適切な時期がいつにあるのか、いつ正しい時期でないのかを目の当たりにします。

私は、JSFとFaceletsが学習曲線から生き残れれば間違いなく価値があることを発見しました。それはかなり険しいですが、あなたがそれを理解したら、それはとても使いやすいです。 JSPやサーブレットの処理だけではなく、セッションやアプリケーションスコープオブジェクトの管理がずっと簡単になりました。ビジネスロジックでWebを考える必要がないときに、より洗練されたJavaを書くことができます。一般的に、私はフレームワークが私の思考(そして私のコード)を一貫して理解しやすい形で整理する助けとなることを知っています。

Faceletsは、特に私のお気に入りのWebテンプレートエンジンです。私のページが XMLであるという事実が大好きで、私はそこにスクリプトレットを持っていません。あなたがフレームワークを知っているならば、それはコードをもっときれいにして、より簡単にに従うようにします。もう一度学習曲線があります。

ところで、RichFacesやIceFacesなどを使用すると、FaceletsにAJAXを追加するのは簡単です。アプリケーションに簡単に追加できるAjaxコンポーネントがあらかじめ組み込まれています。

つまり、すべてのプロジェクト、YMMVなどには最適ではありません。終わりには、あらゆるフレームワークを使用することが判断の呼び出しです。それがあなたの問題を解決するのに役立たないなら、それは価値がありません。あなたのツールで戦ってはいけません。正しく使用してください。ツールが途中にある場合は、別のツールを使用してください。 JSFとfaceletは、非常に小さなアプリケーションではあまり良い選択ではありません。彼らはかなり複雑なドメインモデルと複雑なビジネスロジックを持っていない限り、実際には自分自身には入りません。基本的には、プロジェクトを進めるために書く必要のある定型コードの量を克服するのに十分複雑なプロジェクトが必要です。

1

I second SpringMVC。理解するのは非常に簡単です。annotationsを使用すると、コードは非常に意味があります。そのようなものBudweiser commercials ...サーブレットは軽すぎます... Strutsは重すぎます。

私はJavaが足場を持っていたらいいのに。これはGrailsでも可能ですが、これはフレームワークに組み込むための別のフレームワークです。

関連する問題