私は Play ワールドの新しい開発者です! プロジェクトでは、モバイル版とデスクトップ版が必要です。でもやり方がわからない!!
- 2 つのアプリケーションを作成し、モデルを共有します..;
- デスクトップ ビューとモバイル ビューを分離するモバイル コントローラーを作成する
これを適切に作成する方法がわかりません。レスポンシブ デザインは知っていますが、このプロジェクトでは使用できません。
ありがとう
PS: 私の英語で申し訳ありません
私は Play ワールドの新しい開発者です! プロジェクトでは、モバイル版とデスクトップ版が必要です。でもやり方がわからない!!
これを適切に作成する方法がわかりません。レスポンシブ デザインは知っていますが、このプロジェクトでは使用できません。
ありがとう
PS: 私の英語で申し訳ありません
ユースケースに応じて、 Twitter Bootstrapのようなフレームワークを検討します。Twitter ブートストラップを使用すると、デスクトップとモバイルの両方で 1 つのビュー テンプレート セットを使用できます。また、Kickstrapと呼ばれるフレームワークや、他にもいくつかあります。
しかし一方で、ある種の「バックエンド」または「管理」アプリケーションを開発したい場合 (Twitter ブートストラップを使用することはできますが、Sencha (EXT JS および Touch) や Kendo UI などのフレームワークを検討することもできます。
何を選択しても、Play を使用するとサーバーサイドをあるべき状態 (RESTful) で開発できるため、フロントエンドの選択は時間の経過とともに変化する可能性がありますが、アプリのアーキテクチャは問題ありません :-)
どちらでも構いません。これらは本質的に同じものであるため、2 セットのルート/コントローラー/ビューと 1 セットのドメイン モデルです。
my play cloneを使用している場合は、次のように、1 セットのドメイン モデル + 1 セットのルート/コントローラー + 2 セットのビューに簡略化できます。
public class Application extends Controller {
...
@OnApplicationStart
public static class ViewRouter extends Job {
Controller.registerTemplateNameResolver(new ITemplateNameResolver(){
@Override
public String resolveTemplateName(String templateName) {
return UserAgent.isMobile() ? "mobile/" + templateName : templateName;
}
});
}
}
したがって、モバイル ビューを下に置くだけでapp/views/mobile
、他のすべては に残りますapp/views
。テンプレートは、要求のユーザー エージェントに基づいて動的にロードされます。モバイル デバイスからのものであるapp/views/mobile/..
場合は、バージョンがロードされます。それ以外の場合は、通常のビューがロードされます。