問題タブ [gwt-activities]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
gwt - Activity.mayStop() の意味は?
メソッドの重要なユースケースがあるかどうか疑問に思っていますcom.google.gwt.activity.shared.Activity#mayStop
。
- はブロックするものであるため、コールバックを
com.google.gwt.place.shared.PlaceController.Delegate#confirm
使用している別の を使用することはできません。Delegate
なぜこれがブロック方式で実装されているのか、私にはよくわかりません。なぜなら、GWT 関係者は、ユーザーとの対話は非同期で処理する必要があるといつも言っているからです。 mayStop
メソッドは常に呼び出されます。ActivityManager
が同じものを返しActivity
、UI が変更されない場合でも。したがって、アクティビティは、たとえば、ユーザーが変更を保存していないかどうか、および場所の変更によって保存されていないデータが実際に破棄されるかどうかを確認する必要があります。を呼び出す前に、このチェックをより簡単に行うことができると思いますplaceController.goTo(new Place())
。
どう思いますか?
gwt - GWT MVP - アプリケーションの設計方法
次のUIを取得しようとしています。gwt mvp(アクティビティと場所)の使用を検討しています。ドキュメントで提供されている簡単な例に従っています。これまでのところ、GWT MVP (アクティビティと場所) を使用して基本的なタブ パネルを実現しました。URL は、現在のタブ パネルによって異なります。ヘッダー (ログイン情報) とフッターを取得するにはどうすればよいですか? また、ユーザーがログインしている場合にのみ 2 番目のタブを使用できるようにしたいと考えています。そのようなユーザー インターフェイスには GWTP の方が適していますか?
gwt - GWT アクティビティでの GIN の使用
私の各アクティビティには、対応するシングルトン ビューの実装が必要です。それらを活動に注入するための最良の戦略は何ですか?
コンストラクター注入Activity コンストラクターは、ActivityMapper の getActivity() から呼び出されます。ctor にはすでにパラメーター (Place オブジェクト) があります。考えられるすべてのビューを挿入して ActivityMapper を作成する必要があります。良くない...
メソッド注入- 「そのように注釈が付けられた関数は、コンストラクターが実行された後に自動的に実行されます。」(GWT in Action、第 2 版) さて、アクティビティの
start()
メソッドが呼び出されてNPE。アクティビティの ctor で GWT.create を使用してインジェクターを構築します。それらはシングルトンではなくなるため、役に立ちません。
gwt - 非常に大規模なプロジェクトで GWT Places and Activities を使用するかどうか
アプリケーションの非常に大きな gwt プロジェクトを想像してみてください。これは、Web 上の何らかの形の科学環境にすぎません。したがって、ユーザーごとにアプリの状態が保存され、ブラウザーの履歴やブックマークに関連するものは何もありません。履歴は、アプリケーション自体に適用することさえできないものです (CAD システムなど、直感的な「戻るボタン」がないものなど)。MVP と共に最新のアクティビティと場所を使用するかどうかを検討しています。履歴管理に意味がない場合、アクティビティと場所の長所と短所は何ですか? このフレームワークは、Places と Activity のない従来の MVP+DI と比較して、コードの保守とコードのモジュール性においていくつかの利点を提供できますか? アプリが何らかの形式のプラグインに API を提供することを考慮に入れる
gwt - さまざまな GWT アクティビティで必要とされる状態をどこに置くか?
私は現在、GWT アプリケーションに取り組んでおり、すべてがどのように適合するかについてまだ少し曖昧です (最初にフレームワーク全体を理解することなく変更を加えなければならないことの喜びですが、それはとにかく難しいかもしれません)。
UI の一部 (メイン コンテンツ、ツールバー、リストなど) に対応するアクティビティがいくつかあります。それがアクティビティの意図であるかどうかはよくわかりませんが、今は簡単に変更できないと思います。私の問題は、物事のリストがメインコンテンツにも必要な状態 (現在の選択) を保持し、ある意味でツールバーにも保持されていることです (少なくともツールバーには現在それがあります – 私は尋ねることはできません)。
しかし、実際にそれを保管するのに適切な場所はどこでしょうか? 実際のビューの実装を組み合わせて、選択内容をリストにのみ保存することは、それほど明るい考えではないと思います。
gwt - GWT - 場所/アクティビティを含むダイアログ ボックス
ページの上部に、ボタンとアンカーを含むヘッダー バーがあります。ヘッダー バーのアンカーの 1 つを使用すると、次の操作を行うダイアログが開きます。
ビューは、この場所に関連付けられているアクティビティの start メソッドで、新しい場所への goTo を実行するアクティビティを呼び出します。これは、カスタム ダイアログ ボックスをインスタンス化するための呼び出しです。
現在、ここで発生している 2 つの問題があります。
1) 場所はヘッダー バーからナビゲートされているため、ヘッダー バー アクティビティはアクティビティ マネージャーによってシャットダウンされているため、アンカーをクリックした後にボタンが機能しません。ヘッダー バーのアクティビティをシャットダウンしたくありません。
2) このアンカーをクリックすると、画面中央のメイン パネルが空白になります。なぜこれが起こっているのかわかりませんが、明らかに望んでいません。
これら2つの問題を解決するにはどうすればよいですか?
gwt - GWT MVP が場所の変更時にアクティビティの状態を更新する
場所の変更時にアクティビティの状態を更新するベスト プラクティスは何ですか? カテゴリのリストとカテゴリ内のアイテムのリストを表示するビューを持つアクティビティがあるとします。別のカテゴリが選択されている場合、アプリはカテゴリ ID を持つ新しい場所に移動します。次に、アイテムを更新するだけで、カテゴリ リストを再読み込みする新しいアクティビティを作成したくありません。
私の現在のアプローチは次のようなものです:
java - GWTP と GWT MVP および活動/場所の関係
GWT について私が理解しているのは、GWT が最初にリリースされたのは、Activity と Places の概念を備えたもので、UI をステート マシンとしてサポートするというものでした。各状態は、UI の予約可能な構成です。
私の理解では、GWT は後で MVP アーキテクチャ パターンを使用して GWT アプリを構築し、懸念事項をより適切に分離し、単体テストを容易にするための提案をリリースしました。
しかし、サンプル アプリをダウンロードして実際にソース コードを確認すると、どちらのアイデアもパッケージ構造を持つことを促進しclient
ますが、それらの内部構造は異なる概念と異なるコア タイプに基づいています。基本的にはどちらかを選ばなければいけないようです(本当ですか?)。server
shared
GWTP (GWT プラットフォーム) が表示されます。これは、Activities/Places パラダイムと MVP 設計がしっかりと融合しているように見えます。そこで質問します。GWTP を使用することを選択した場合、Activities/Places または MVP の領域で見逃してしまうものはありますか? 言い換えれば、GWTP を使用することで、自分自身を制限し、これらの最初の 2 つの項目のベスト プラクティスやコンポーネントを利用できなくなるのでしょうか? 前もって感謝します!
gwt - ユーザーが場所を離れたときの繰り返しアクション
アクティビティで繰り返しアクションをスケジュールしたい (アクティビティと場所のデザイン パターンを使用しています)。ユーザーがこのアクティビティに関連付けられた場所を離れた場合、このアクションが停止するまでの時間はどれくらいですか? 繰り返しアクションを含めると、アクティビティの破棄方法に何らかの影響がありますか?
即時の保証は必要ありません。アクティビティが正常に破棄される場合、私のユース ケースでは許容されます。
gwt - 典型的な GWT mvp プロジェクトでコード分割を行う方法は?
私のアプリは典型的な GWT アプリケーションで、ナビゲーション バーがあり、1 つのバー項目をクリックすると場所が変更され、アプリはその場所に対応するアクティビティを見つけ (MasterActivityMapper で実行)、次に activity.start() を呼び出します。アクティビティの開始時に、対応するビューも作成されました。私のアプリが最初に起動すると、デフォルトで最初のナビゲーション バー項目が選択されます。
最初のダウンロード サイズが大きすぎることを除けば、私のアプリは正常に動作します。読み込みに 10 秒かかります。この問題を解決するには、コード分割を使用する必要があります。
私はドキュメント https://developers.google.com/web-toolkit/doc/latest/DevGuideCodeSplittingを読みました が、コードを分割する場所/方法をまだ理解できません。このヘルプの経験がある人はいますか?