web-dev-qa-db-ja.com

なぜストラットを学び、使用する必要があるのですか?

私はJava開発者であり、経験はありませんが、ほとんどの概念にかなり精通しています。

最近、Tomcat/JSP(〜30動的ページ)を使用してWebサイトを構築しました。 「単なるプロジェクト」であるという合理化を使用して、JSPにコアロジックの大部分を含めるという初心者の間違いを犯しました。

私は難しい方法を学びました。そのため、サーブレットを使用してGoogle App Engineでアプリを再構築し、Velocityを使用してModel-View-Controllerデザインパターンを使用してアプリを実装することを計画しています。

Strutsも調べていますが、これまでフレームワークを使用したことがありません。

なぜこのプロジェクトに支柱を組み込む必要があるのか​​、誰かに納得させることができますか? 1人か2人の中規模のプロジェクトで本当にたくさん買うのでしょうか?

ストラットを使用した追加の学習曲線には明らかなコストがありますが、メリットはコストを上回りますか?それとも、Velocityを使用するだけでロジックを分離できますか?意見は?

25
David Parks

私はこのプロジェクトよりも長期的に見えるでしょう。ご覧のとおり、初めてテクノロジーを使用するのは、主に間違いを犯し、そこから学ぶことです。したがって、この最初のプロジェクトは、完了したらStrutsの使用法の輝かしい例にはならないでしょう。

ただし、Struts(および主な懸念事項であるJSPのコピーと貼り付けからのタイル)を使用すると、「適切な」MVCを詳しく調べることができます。つまり、特に構造化された方法で作業を行う必要があります。どうもありがとう、私はStrutsの大ファンでした。

そうは言っても、他のオプションがあります。 Springには、SpringMVCに加えてさらに多くのものが含まれています。学習曲線の克服に投資する場合は、中期的にどのフレームワークが全体的に最もメリットがあるかを考えてください。たとえば、お住まいの地域の雇用主はどのフレームワークを探す傾向がありますか。この時点で、私は勢いがあると感じる春に行きますが、Strutsはそれが何をするのか非常に優れています。

26
Brian

フレームワークを学ぶつもりなら、StrutsよりもSpringMVCをお勧めします。学習曲線はそれほど急ではなく、インターネット上にはたくさんのSpringリソースがあります。

Springを導入すると、アプリケーションの保守とサポートがはるかに簡単になります。また、セキュリティなどの拡張機能をはるかに簡単に追加できるようになります。

14
Qwerky

まず、名前を混乱させないでください。Struts2とStrutsは非常に異なるフレームワークです。

2番目:JSPからVelocityへの変更は、良い決定でも悪い決定でもあり得ますが、それは正確には重要ではありません。重要なのは、 Model1 (かなり古い命名法ですが、それでも有用です)から切り替えることです。つまり、ビューレイヤーをロジックレイヤーから切り離します。 (ビューレイヤーにはJSPまたはVelocityを使用できます)。さらに、ビューレイヤーを決定することは、アーキテクチャの一部にすぎません。要求を処理し、ビューに送信されるデータを生成するユーザーを決定する必要があります。最も基本的なオプションはプレーンサーブレットを使用することですが、繰り返しになりますが、いくつかのフレームワークを使用することをお勧めします。このために、Javaには 多くのフレームワーク があります。 「アクションベース」のものはそれらのサブセットであり、おそらく最も簡単に学ぶことができます。それらの中で、最も古いのはStrutsです。今日、新しいプロジェクトで最も使用されているのは(順不同)Struts2、Spring MVC、Stripesです。これらは非常によく似ています。

10
leonbloy

論理を分離することを学ぶことは素晴らしいです。 Velocity、Struts、またはフレームワークをまったく使用せずにそれを行うことができます。最初に最小限の支援で試してみると、この分離を行うために必要なことについてさらに学ぶことができます。

フレームワーク(実際には複数のフレームワーク)を学ぶことも価値がありますが、あなたの雇用主または将来の雇用主が使用するものでない限り、私は最初のフレームワークとしてStrutsを個人的に選択しません。雇用主がStrutsを使用している場合は、Struts 1が古くなっているので、Struts2であることを願っています。

私が最も使いたいフレームワークはWicketですが、これは現在見ているものからの根本的な変化です。 SpringMVCも一見の価値があります。

雇用主がすでにフレームワークを使用してJavaでWeb開発を行っている場合は、実際に使用されているフレームワークを学習して、同僚に学習の手助けを求めてください。

4
Don Roby

なぜStrutsを学ぶ必要があるのですか?私の答えは、雇用主は、特に古いプロジェクトを維持するために、それについての知識を必要とすることが多いからです。正確な測定はしていませんが、私の地域ではJSFとStrutsがWebアプリケーションの開発に最もよく使われていると思います。

Strutsは非常に古いWebフレームワークであり、最新のAJAX GUIを使用して作成するのは非常に不器用なので、より優れたフレームワークが作成されました。JSFは私にとっては少し不器用ではありませんが、いくつかの問題もあります。 。私のお気に入りのWebフレームワークはVaadinとGWTですが、何も提案していません。自分で決定する必要があります。

3
iirekm