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