在同一应用程序上播放 1.2.4 移动和 PC 设计



我是游戏世界的新开发者!对于一个项目,我需要有一个移动和桌面版本。但我不知道该怎么做!!

  • 创建 2 个应用程序,共享模型..;
  • 创建移动控制器以将桌面视图与移动视图分开

我不知道如何正确地做到这一点。我知道响应式设计,但我不能在这个项目中使用它。

谢谢

PS:对不起我的英语

根据用例,我会看看像Twitter Bootstrap这样的框架。使用 Twitter 引导程序,您可以在桌面和移动设备上使用一组视图模板。还有一个名为Kickstrap和其他一些框架的框架。

另一方面,如果你想开发某种"后端"或"管理员"应用程序(你仍然可以使用twitter引导,但你可以看看像Sencha(EXT JS和Touch)或Kendo UI这样的框架。

无论你选择什么,Play都会让你能够开发服务器端,所以前端的选择可以随着时间的推移而改变,但你的应用程序架构会很好:-)

任何一个都可以。由于它们本质上是相同的,因此需要 2 组路由/控制器/视图加上 1 组域模型。

如果您使用的是我的 play 克隆,那么您可以将其简化为 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/..加载版本,否则将加载普通视图。