4

私は Java を初めて使用します (ただし、.NET の経験はかなりあります)。

私は Java アプリケーションを迅速に立ち上げて実行する必要があるため、ここで探しているのは、一般的なタスクを簡素化または軽減し、その見返りがすぐに得られるか、少なくとも最小限の時間投資で得られるコンポーネントに関するアドバイスです。コンポーネントの使い方を学びます。複雑なフレームワークや大規模なフレームワークを理解するのに何週間も費やす必要はありません。使いやすく、未加工の API を使用する際の問題の一部を取り除くアドインを探しています。ただし、未加工の API がこれらのタスクのいずれかに最適なオプションである場合は、それで問題ありません。お知らせください...

データ層 MySQL、MSSQL、Postgres 用の特定のプロバイダーを書きたいと思っていますが、それ以外の場合、データ アクセスは非常に単純なものです。おそらくトランザクションが必要になります。何を指示してるんですか?たとえば、Spring Data Access は、JDBC よりも価値のあるものを提供しますか? 他に考える必要があることはありますか?私の推測では、Hibernate はやり過ぎで、起動して実行するのに時間がかかりすぎるようなものだと思います。どう思いますか?

中間層 疎結合のインターフェイス ベースのビジネス層。Web アプリとデスクトップ アプリを介して中間層と対話できるようにする必要があります。これを公開する最善の方法は何ですか? ウェブサービス?

デスクトップ アプリケーション Swing について知っています。他の単純なデスクトップ UI コンポーネントはありますか? バックグラウンド タスクを実行するには、ある種のスケジューリング コンポーネントが必要です。

Web アプリ ある種のキャッシュ、ユーザー セッション、動的ページが必要です。私が言えることから、JSPはPHPまたは他のサーバー側スクリプト言語に相当するJavaです(状態をサポートしていません)。非常に簡単に作業できるフレームワークがない限り、MVC フレームワークはやり過ぎかもしれません。Java で ASP.NET Web フォームに相当するものがあると聞きましたが、これは役に立ちますか? ここではJSPで十分でしょうか?

ウェブリンクのリストではなく、実用的なアドバイス/コンポーネントの経験を探しています:)

アドバイスをありがとう..

4

3 に答える 3

2

モデル/コントローラー/ビュー メカニズムと Web フロント エンドについては、Grailsを調べてみます。ORM、モデル、動的ページなどを使用して、非常に迅速に起動して実行できます (これは RoR - Ruby-on-Rails - モデルです)。

そこから、Java RMIを使用してデスクトップ フロント エンドと通信する方法を検討します。RMI は Java に標準で付属しており、Java から Java への通信要件に自然に適合します。多言語/プラットフォームの要件がない限り、Web サービスは検討しません。RMI のセットアップは非常に簡単で、構成もほとんど必要ありません。

RMI 対応のサービス層は、Grails が提供するモデルをインターセプトする必要がありますが、それは些細なことです。クライアント/サーバーの非互換性 (インターフェースの変更が原因) の可能性を減らすために、(たとえば) Java Web Startを介して Java デスクトップを提供できます (Grails の好意で Web サーバーを用意ます)。サーバーが実行されています。バックエンドを更新すると、最新のデプロイメントが維持されます。

于 2010-01-14T11:54:18.597 に答える
2

AppFuseは、ベスト プラクティスを使用して、さまざまな Java プロジェクトを開始および事前構成できるツールです。生成されたコードは、例による学習にも使用できます。

AppFuse は、Java プラットフォーム上に構築されたオープン ソース ツールを使用して Web アプリケーションを迅速かつ効率的に開発するためのオープン ソース プロジェクトおよびアプリケーションです。これはもともと、顧客向けの新しい Web アプリケーションを構築する際に見られる立ち上げ時間をなくすために開発されました。基本的に、AppFuse はプロジェクト スケルトンであり、ウィザードをクリックして新しい Web プロジェクトを作成するときに IDE によって作成されるものと似ています。

  • データレイヤーの場合: JPA (Hibernate、または別の JPA プロバイダー)
  • 中間層の場合: Spring - 非常に強力で、トランザクションのサポート、スケジューリングなどの多くの機能を提供します。Apache CXF と一緒に簡単に使用して、Web サービスを公開できます。
  • Web アプリの場合- JSF、Spring MVC、Struts
  • デスクトップ アプリの場合- Swing はまったく問題ありません。バックグラウンド タスクを処理する機能があります。SwingX - 素敵なコンポーネントの束。

AppFuse は上記のすべてをサポートします。

于 2010-01-14T11:54:45.320 に答える
2

他の部分に答えたいと思っていることは他の人がすでに答えているので、私の答えは webapp 部分に限定します。

私が言えることから、JSP は PHP に相当する Java です。

完全に真実ではありません。JSP はそれ以上のことができます。さらに、JSP を PHP の方法で (スクリプトレットとしてインライン Java コードを使用して) 使用することは、悪い習慣と見なされます。JSP は、 JSTLなどの taglibs を使用してページ フローを動的に制御し、Expression Languageを使用してバックエンド データにアクセスできるテンプレートとして使用されることになっています。

ASP.NET Web フォームに相当する Java があると聞きました。

これはJavaServer Faces (JSF)と呼ばれます。ただし、 Apache StrutsSpring MVCなどの競合があります。

- 何かいいことがあるの?ここではJSPで十分でしょうか?

JSF (他のまともな MVC フレームワークと同様) は、通常の MVC アプリケーションで考慮する必要があるすべてのものを抽象化するため、最終的には XHTML (または JSP) ファイルと Javabean クラスだけになります。この方法では、リクエスト (カスタム サーブレットなど) の制御、リクエスト パラメーターの処理 (request.getParameter() など)、基本的な検証/変換 (要件、文字列/数値/日付の入力型変換)、更新を行う必要はありません。モデル値 (javabeans の処理済み/変換済み/検証済みパラメーターの設定) など。MVC フレームワークは、退屈な作業をすべて透過的に処理します。

saldo ごとに数ページだけ開発する必要がある場合は、JSP で十分です。しかし、より多くのページや Web アプリケーションを開発したい場合は、通常の作業を何度もやり直す必要がないように、既にフレームワークを用意しておく必要があります。

于 2010-01-14T13:32:01.800 に答える