6

好的,我一直在考虑使用play framework作为我的后端服务和sencha来开发我的前端应用程序。使用Play框架和sencha的Web应用程序

现在我一直在研究sencha touch和phonegap,它可以帮助我制作一个原生的android应用程序。所以这里的问题是我如何将数据呈现给两个不同的设备。一个是触摸设备,另一个是在适当的桌面浏览器中打开。

我应该检测从哪个设备发出请求,然后加载适当的控制器或什么?我现在很困惑!我对网络和移动应用程序场景很陌生,所以如果有人能向我解释如何继续将是一个很大的帮助!谢谢。

回答

4

我也用Sencha,不是Touch而是Ext Js。我所做的是以下几点:

玩!服务器包含了我的逻辑,并提供了我宁静的网址:

POST /user/create   AccountController.createUser 
GET /user/userid   AccountController.getUser 

随着煎茶我已经定义了一个Store,从特定的URL检索JSON数据,该URL指向我的发挥!网址。

在我的播放方法我检索我的数据库的模式,只是返回煎茶将解析JSON /念想:

Query userQry = JPA.em().createQuery("select * from Account"); 
List<Article> accounts= userQry .getResultList(); 
renderJSON(accounts); 

干杯

+0

你好,那很好。但是,如果我也有一个移动应用程序呢。然后,我是否也从该应用程序进行相同的函数调用? 我已经制作了使用php和codeigniter的网站,并且在那之后,我以前只是在处理后使用$ this-> load-> view('view')加载视图。所以如何为Web应用程序设计这种东西。或者不是推送数据来查看,而是将它从视图中拉出来? – aradhya 2012-02-20 08:47:46

+1

您不应该使用Play中的视图becuase EXT JS是您的客户端框架。 Play可以提供数据,我会为Ext Js和Touch使用相同的网址,但显然Sencha Touch会使用相同的数据集(用于Ext Js)生成不同的视图。在大多数情况下,这应该是JSON。所以你应该创建一个通用的index.html来检测设备,并根据设备加载正确的.js类。但服务器(Play!)将是相同的。 – adis 2012-02-20 09:09:47

+0

好吧。非常感谢你的帮助。 – aradhya 2012-02-22 03:50:56

0

煎茶触摸不适合桌面使用。您应该使用Ext.JS为桌面构建不同的应用程序。但是,如果你仍然想与Sencha Touch一起去这里指导如何针对不同的设备有不同的观点。 http://docs.sencha.com/touch/2-0/#!/guide/profiles

+0

是的,我知道。我的问题是如果我迎合2个应用程序,那么我的服务器端逻辑应该如何?当我的应用程序加载时,我应该将数据简单地返回到Json格式,并让前端的东西做表示 - 在这种情况下,ExtJs for桌面和sencha触摸手机?如果是这样,任何人都可以进行该网址调用并获取正确的数据? 你能指导我如何继续? – aradhya 2012-02-20 04:49:37