0

デスクトップファイナンスアプリケーション(Delphiで記述)をWebアプリケーションとして書き直すことを計画しており、どのテクノロジを使用するかを考えています。その他の考えられる要件は、デスクトップバージョンのアプリケーションでも使用できる共有ライブラリにできるだけ多くのコードを転送することです。総費用などのパラメータはありません。好きなだけ書き直すことができます。

UTF-8をネイティブに処理し、PostgreSQLおよびMicrosoftSQLServerに接続できるクロスプラットフォームテクノロジが必要です。

私はRubyonRailsで十分にプログラミングしましたが、商用Webサイトには非常に適していますが、その「魔法」とUTF-8で.rbファイルを書き込めないことが好きではないため、自分のWebアプリケーションには適していません。

試したことはありませんが、PHPはRoRに似ているようです。

ASP.NET / .NET MVCは、Windows専用であることを除いて、私の要件を満たしています。

そこで、Javaを選択しました。しかし、インターネットでは、JavaとJSPは異なるテクノロジーであり、Javaデスクトップアプリケーションを使用することはできず、ほとんど変更を加えずにJSPに変換すると言われています。JavaとJSPは本当に違いますか?たとえば、.NETでは、ASP.NETアプリケーションだけでなくデスクトップアプリケーションでも使用できるデータベースおよびビジネスロジックライブラリを作成できます。

4

3 に答える 3

1

あなたが説明する状況では、デスクトップとWebアプリケーションの両方で多くの共有コードを使用するのは非常に簡単です。アプリケーションを2つのレイヤーで構成されていると考えてください。

  • レイヤー1:ビジネスロジックとデータベースアクセスコード。このレイヤーは純粋なJavaであり、コンテナーの外部で実行できないテクノロジーに依存するべきではありません。たとえば、データベースアクセスにJPAを使用し、Springを使用してビジネスロジックを優れたモジュラーユニットに編成できます。このレイヤーの包括的なテストスイートを作成すると、ビジネスロジックが正しく機能し、バグがWebアプリのバグなのかデスクトップのバグなのかを簡単に把握できるようになります。
  • レイヤー2:UIロジック。このレイヤーの2つのインスタンスが必要です。1つはSwingやJavaFXなどのデスクトップUIテクノロジーを使用して記述され、もう1つはJSP /サーブレット、JSF、SpringMVCなどのWebアプリケーションプログラミングテクノロジーで記述されたレイヤーUIレイヤーです。 ...など。このUIレイヤーはレイヤー1に依存します。レイヤー1の包括的なテストスイートにより、レイヤー1で必要な操作が適切であると確信できます。

Web開発テクノロジに関しては、JSPやサーブレットよりも高レベルのフレームワークを検討することをお勧めします。これにより、時間を大幅に節約できます。

JavaScriptを使用して単一のUIレイヤーを記述できる可能性があります。HTML5はWebアプリですが、多くの機能でデスクトップアプリのように動作します。次に、基本的にChromeなしでブラウザウィンドウを起動し、その中でアプリを実行するデスクトップバージョンの製品を作成できます。JavaScriptとHTML5を使用するこの道を進むことを選択した場合は、選択できるフレームワークがたくさんあります。ThroneOfJSカンファレンスhttp://www.infoq.com/のinfoq.comのビデオをご覧になることをお勧めします。 throne_of_js /を使用して、使用可能なフレームワークを把握するために、AngularJSを使用するための偏った推奨事項を示します。

于 2012-10-14T15:28:55.330 に答える
1

Java違いはありJSPsません。実行前にJavaサーブレットJSPコンパイルされます。

JSPは、プレゼンテーションを処理するコードのようなHTML/ASPを作成するためのものです。つまり、プレゼンテーションの詳細をJavaコーディングから分離しますが、最終的に、サーバーはJSPファイルをJavaサーブレットにコンパイルします。

あなたが書きたいものはJSP、を通して書くことができますServlet

JSP over Servletを使用する場合は、データベースからデータを読み取るなど、JSP自体でコード全体を記述していないことを確認してください。すべてのビジネスロジックはJAVAクラスに配置され、JAVAクラスを介してJSPで使用される必要があります。適切に設計されていれば、Javaクラスを再利用できます。

私があなたを正しく理解しているなら、これはあなたが達成しようとしていること、すなわちachieve re-usabilityあなたのapplication logicです。

于 2012-10-14T15:14:02.957 に答える
1

サービスやロジックなどを .NET と同じように再利用できることを除けば、それほど違いはありません。唯一の問題はビューです。Java でそれを行う方法はたくさんあります。JSP を選択した場合は、すべてのプレゼンテーションをコーディングする必要があります (サービス、ロジックなどを呼び出すことができます)。ただし、デスクトップ Java アプリケーションでできるだけ多くのコードを再利用したい場合は、おそらく Web に持っていきます。 Java アプリケーションに変換するのが比較的簡単な Java アプレットを見てください。

于 2012-10-14T15:26:00.460 に答える