2011-10-23 106 views
1

在我看來,有兩種類型的網絡應用程序:網站和網絡應用程序(有更多的表格和表格比文字和圖像...)。發揮框架適用於網站和網絡應用程序

我發現使用組件框架(apache wicket)創建動態表單和表格是很容易的。我也發現創建帶有框架的網站更容易。

考慮到我對網站和Web應用程序的粗略區分,我可以說比起商業Web應用程序(想象一下基於Web的會計應用程序),該遊戲更適合網站(類似於PHP,Rails ...)有很多表格,表格......)

+1

這取決於(tm)。 Wicket避開RAD功能(腳手架和其他代碼/運行時UI的生成),有利於使涉及的狀態行爲更容易。如果您的UI很少,那麼組件框架會更好。如果你有很多主要CRUD操作的實體,那麼帶腳手架的框架更好。我見過兩種類型的「商業」應用程序。 – millimoose

+1

這對Stack Overflow來說太主觀了。你可以嘗試http://programmers.stackexchange.com,它允許更多的主觀性問題,但我不明白爲什麼[你現有的線上遊戲!郵件列表](http://groups.google.com/group/play-framework/browse_thread/thread/cd76278b0987f4a4)是不夠的。 –

回答

5

我覺得@TJ指出的Play組的線程已經回答了你的問題,但是爲了完整性,一般意見和我的也是這樣Play既適用於網站和網絡應用程序。

雖然Play確實讓使用Java編寫網站變得容易很多,但這確實是它爲什麼被構建的第二個功能。它的構建是爲了使構建Java應用程序更容易,因爲J2EE堆棧太臃腫,無法滿足Play開發人員的需求。

這裏有一些原因,我想打建,並且效果很好,作爲一個Web應用程序平臺

  • JPA集成,無需麻煩
  • Memcache的開箱
  • 優秀的錯誤處理在發展
  • 沒有更多的停止,部署,重啓循環(這是從來沒有的JSP只有一個問題)
  • 容易長輪詢/ WebSocket的整合
  • 模塊爲Spring/CRUD /安全

我已經看到了遊戲內置的WebApp和網站的混合物,而我自己已經建立了兩個Web應用程序和網站。 Play現在是我大多數Web項目的首選,我還沒有發現Play限制我想實現的任何主要用例。

3

遊戲並不完美,但它在Java世界中與Web應用程序開發有關。我仍然想知道爲什麼沒有人決定儘早做這種事。

2年前,我幾乎決定把Java看作是網頁開發的迷失。我曾嘗試過PHP/Python/Grails,並認爲它比任何Java EE Web框架都更適合Web開發:更高效,更易於學習,開發和維護,所需資源更少,並且在圖形方面具有更好的結果。 Java EE框架是可行的,但需要多少開發人員和時間和工具才能完成基本的工作,比如表單執行CRUD操作?

然後我發現了Play,從那時起,我認爲Java可以再次成爲一個很好的Web平臺。 Play對於Web層來說足夠輕量級,您仍然可以使用來自Java世界的所有這些優秀的開源生產就緒框架。而且,您可以使用Java進行編碼,而無需切換到Groovy。自然仍然存在網頁模板引擎的問題。 Play提供的Groovy模板並不真正佔據上風。還有其他的引擎:Japid,劍橋,前者。斯卡拉模板是非常有前途的,因爲它是一個編譯的模板。 Java中沒有解決方案。 Java根本沒有針對這個話題。

Scar tempaltes深受感染,並感激偉大的發揮!作爲一名高級Java開發人員,他們越來越被全球Java慣性感到失望,我開始發現Scala,它在JVM中提供了非常強大的Java替代品。 Scala非常成熟,並提供即使在10年內也不會出現在Java中的功能。我不確定一個基本的Java開發人員可以輕鬆地切換到Scala,因爲Scala是一種高級語言,允許以多種方式編寫內容,而不是像Java那樣的一種或兩種。您可以在編寫Java時編寫Scala,但它的功能如此強大以至於很快就會感到遺憾。儘管如此,作爲任何高級語言,如果你不想結束編寫難以理解的代碼IMO(它在C++中是一樣的,我也沒有談論函數式語言),那麼它需要在編碼策略中更加嚴格。無論如何,對於一位高級開發人員,讓我告訴你,在Scala中實現一塊代碼比在Java中更智能滿意......這是事實;)

傳入Play2.0也很有希望.. 我相信Java + Web可能不是下面的「漫畫」惡性循環:「寫標籤,寫bean,寫JPA,寫XML /註釋到處,重新部署,等待,等待,測試...... 10頁例外。 ..重寫標籤,重寫代碼,啓動調試器,重新部署,等待,等待,測試...調試......哦不:代碼中沒有代碼但是在標籤中......錯誤......「)。 。至少,在Play中,你刪除了「等待,等待」,「xml/annotations everywhere」,並且不需要JPA(好吧,你也可以在Java EE中選擇其他的東西),並且標記錯誤也可以(你可以有其他錯誤,但無論如何,它給出了另一個觀點,有時很好)

1

我已經使用了一個小應用程序,只需要一個用戶界面和一個數據庫,並且開發和使用似乎相當快。但是,如果您需要在Web /應用程序容器和小型UI組件之外運行的大批量組件,我不認爲這是一個很好的選擇。基本上玩不允許你在容器外重複使用模型,因此在這種情況下,你需要在ui應用程序創建重複和維護問題的批處理中兩次寫入或映射數據庫兩次。

我認爲在這種情況下,使用傳統的分層方法,您可以通過UI和批處理來重用服務層,這很有意義(例如服務層中的DAO被寫入並重用)。請讓我知道,如果你不同意,但是有沒有人有任何指導原則,應該使用播放框架,不應該使用播放框架,非常有興趣聽取人們的意見。

+0

我從來沒有嘗試過自己,但我認爲你可以在容器外使用你的模型,你只會放棄由Model類提供的一些輔助方法,但沒有什麼能阻止你將DAO jar放在lib文件夾中並使用它們... – opensas

+0

我使用錫耶納(也開發它:)),我可以在Play以外使用我的模型,因爲我基本上不依賴於Play上的任何內容。但我同意,如果你使用遊戲模型設施,你堅持使用遊戲!因爲這些模型需要運行時增強! – mandubian

2

Play是我在同一個袋子裏Ruby on Rails和Django的,但 更好:-)我正在開發與Spring和 JSF 2.0(PrimeFaces),我認爲這是很好的選擇相當複雜apllications。我嘗試了Vaadin(在 GWT上),但複雜的用戶界面使客戶端代碼變得如此之重,以至於在某些電腦上殺死了 Firefox,並且在Chrome和Opera中運行得相當緩慢。 這讓我不相信GWT。我也不會在這裏使用Play - JSF對我來說確實是 。另一方面,我絕不會試圖用JSF2編寫公共網站 。這裏玩得很好!

相關問題