2012-02-19 36 views
0

我即將開始開發一個私人TODO網站(稍後將擴展到Web應用程序)。我不確定使用什麼框架。我已經閱讀了關於GWI和PHP框架,比如Yii。每個人對另一個人有什麼好處。使用GWT通過php框架(如Yii)有什麼好處?

背景 - 在Java中 經驗 - 得到了支持PHP

疑惑的Apache Web主機:

  • 會在GWT開發意味着重構會比PHP(發展中國家特別是因爲你更容易可以使用Eclipse)
  • 看起來像PHP的框架,如Yii爲您創建數據庫佈局的設計對象......這可以通過GWT完成嗎?

謝謝!

+0

PHP比Java更靈活,但代碼不明確。 – 2012-02-19 01:47:15

+1

的優勢 - 無需使用/學習PHP。 – 2012-02-19 03:56:39

回答

2

我在問題或答案/評論中沒有提到的一個很大的區別是Yii是一個服務器端框架,它完全在您自己的/託管服務器上運行,而GWT編譯爲JavaScript,因此運行僅在客戶端的瀏覽器中。這兩種產品(和想法)服務於不同的目的,並且可以一起使用。

使用GWT構建客戶端時,只要將數據公開給基於JS的客戶端,就可以使用任何所需的工具構建服務器。可以採用JSON或XML的形式,或者其他一些數據編碼(例如,內置在RPC中的GWT可以將複雜的對象圖傳入Java servlet容器或從Java servlet容器中傳遞)。

如果您將它們一起使用,Yii可用於從數據庫架構/佈局創建PHP對象,並構建認證/授權的各種規則,以便客戶端可以讀取和寫入數據。 GWT可以用來建立一個客戶端,讀取和更新數據,調用Yii/PHP代碼公開的服務。

+0

+1用於區分客戶端GWT和服務器端PHP。 – davidethell 2012-02-19 02:33:12

+0

啊哈!這太有趣了!它很好地區分服務器端和客戶端。問題:java servlets運行在退回正確的? GWT是否生成Java servlet?如果是這樣,GWT可以爲前端和後端生成代碼? – Karan 2012-02-19 04:27:21

+0

GWT可以使用Java servlet,並附帶一些servlet,但僅爲客戶端生成代碼。由於大多數GWT代碼都是用Java編寫的,所以有些代碼可以與服務器共享,但不是全部 - 共享的主要候選對象是模型對象和一些驗證類型的東西,但服務和數據庫調用等最適合服務器,而小部件和數據綁定最適合客戶。有一些Java庫涵蓋了將對象轉換爲數據庫調用的工作,但GWT不是其中之一 - 它服務於不同的目的。 – 2012-02-19 06:37:19

2

如果你喜歡Eclipse,你肯定可以留在Eclipse中,並仍然使用PHP進行開發。 eclipse.org的PHP工具非常好,Aptana的IDE插件甚至更好。

關於Yii與GWT,它真的取決於您選擇的語言。如果你非常精通Java並且非常喜歡Java語言的強大類型,那麼GWT是一個不錯的選擇(儘管當然還有其他選擇可以讓你在Java世界中繼續使用,例如Tapestry)。 PHP框架在它們擁抱OOP的程度以及諸如基於數據庫創建業務對象等概念方面差異很大。 Yii由於內置了代碼生成功能,因此絕對脫穎而出。如果您開始使用PHP,那肯定會對您有所幫助。