2012-11-15 27 views
6

我試圖實現一個相當複雜的頁面流程(100多頁)作爲傳統的Web應用程序。我找到了幾個選項,但他們都不是100%的有說服力的如何在Java Web應用程序中實現複雜的頁面流程

  1. 手碼流進控制器,執行重定向等,這顯然是不維護的最好的事情
  2. JSF不僅處理流程,但也需要使用JSF作爲視圖技術。我不喜歡這種鎖定
  3. Spring web流量。當前的2.3.1版本定義了不易維護的XML流。即將發佈的3.0版本承諾用純Java定義具有註釋的流程,但它甚至沒有時間表。此外,過去幾年項目發展速度明顯放慢。
  4. GWT和Vaadin的概念更接近於傳統的桌面應用程序,然後是Web應用程序,這非常方便使用,但它不適合我的項目。

此外,我發現幾十個被遺棄的項目是這樣的:http://javasteps.sourceforge.net/

我很奇怪,爲什麼所有這些項目被放棄,什麼是實現在2012年複雜的頁面流的方法是什麼?

+0

如何使用BPM來定義流量?基於此,您可以使用不同的模型2文本工具來生成彈簧web mvc控制器。 – SpaceTrucker

+0

@SpaceTrucker BPM可以做很多事情,但非常複雜,並不適用於頁面流。在我看來,Spring Web Flow就像一個迷你BPM,但只是用於頁面流,所以我寧願使用它,如果我必須... –

+1

我其實喜歡當前Spring WebFlow的XML文件方法。我可以在一個地方看到整個流程。這就是我一直關注基於註解的方法的原因;你必須去挖掘每個文件來查看整個結構。也就是說,也許我只是無知,時間會說服我:-)我喜歡帶註釋的「服務」,但他們往往不需要位於大型服務器端流程中。 – dbreaux

回答

1

就個人而言,我建議你單頁架構:

Architecture of a single-page JavaScript web application?

我不知道這是可行的或不符合您的應用程序。我已經使用了上面提到的所有流程,目前正在處理單頁應用程序,我喜歡它。我們在客戶端使用Dojo,在服務器上調用REST API。這很不錯。

Vaadin也非常堅固,而且比純粹的GWT更容易設置。如果你的項目中有很多UI用戶喜歡用CSS和Javascript編碼,他們會討厭這種方法。

實際上,Spring Webflow非常穩定。我有一段時間沒有看過它,但是當我使用它時,它完成了我當時所做的工作。

+0

順便說一句,我知道你提到它是一個Java應用程序,但我想我只是假設你可以編寫服務器端Java作爲REST API,然後使用Javascript編寫前端。再一次,可能對你不可行。 – sma

+0

你引用的答案建議使用PureMVC,我只是很快看了一下,但看起來它與Vaadin和GWT很相似,所以不確定會有什麼優勢。我非常喜歡Vaading和GWT,但是我覺得它並不完全適合我的項目,因爲我需要對生成的HTML進行更精細的控制。你提到你目前正在使用單頁面應用程序,你使用Pure MVC還是其他的? –

+0

我們正在爲我們的應用程序使用Dojo小部件和模板。我們還使用了一些使用Dojo的lang.replace功能的模板,它基本上像HTML Mustache.js一樣處理HTML。 如果您需要對HTML進行更精細的控制,那麼JS框架可能非常適合您。 JSF生成垃圾和Vaadin,GWT也生成HTML。通過像Dojo,Backbone或PureMVC這樣的框架,您可以自己編寫HTML。 – sma

0

沒有爲Vaadin組件模型的新的MVC框架和Web流實現所謂Lexaden Web Flow

你可以嘗試一下你的應用程序作爲可能的選擇。

相關問題