3

または、この種のアプリケーション、SPAに最適なオプション(フレームワーク)はありますか?

バックエンド開発にScalaまたはJavaフレームワークのみを使用することに興味があります。

そして、私にとってバックエンドWebフレームワークを選択するための主な重要なポイントは次のとおりです。

  • 優れたドキュメント、リソース、および多くの例
  • コミュニティによる成熟度と大規模な採用、そしてかなりの実際のユースケース。
  • 簡単で短い学習曲線。
  • シンプルで広範なアーキテクチャにより、Webアプリで一般的に必要とされる認証、承認などの機能を簡単に使用または追加できます。
4

1 に答える 1

4

はい、Wicket を使用して SPA を構築できます。そのコンポーネント アーキテクチャにより、実際には非常にシンプルになります。

基本的に、通常のアプリケーションでページになるものを Panel に変換し、ページ間を移動する代わりに、単一のページを Ajax でパネルを切り替えるようにします。ページの複数のセクションなどに複数のパネルを使用できます。フレームワークでは、これはすべて非常にシンプルで自然です。5.x 以降に追加されたイベント アーキテクチャにより、セクション間通信の使用がさらに簡単になります。

ただし、ページのブックマーク機能は失われます。

単一のページであるため、ブラウザーのアドレス バーの URL は変更されず、ユーザーがブックマークを作成すると、ブックマークが作成されたときに表示されていたページではなく、常に最初のページにヒットします。

クライアント側 (JavaScript ベース) のフレームワーク (GWT など) は通常、動的アンカー (URL の # の後の文字列) を使用して現在の状態をエンコードすることでこれを実装し、必要に応じてアプリがそれを再構築できるようにします。中心的なフレームワークであるにもかかわらず、Wicket はそれを行うことができません (少なくとも、多くのカスタム コードがなければできません)。可能で実行可能ですが、ある程度の検討と作業が必要です。

多くの場合、これは必要な機能ではありません (または、望ましくない動作でさえあるかもしれません)。その場合、Wicket は本当に役に立ちます。

アクションベースのフレームワーク (Struts、Spring MVC、Play など) の使用については、クライアントを多用するアーキテクチャが必要な場合に適しています。しかし、必然的にアプリケーションのほとんどを Javascript でコーディングするか、何らかの Java-to-javascript-compiler (GWT) を使用し、フレームワークを使用してクエリを作成します。つまり、サービス (XML、JSON、またはその他) を実装します。変異体)。

于 2013-02-17T19:33:51.060 に答える