2011-01-09 26 views
15

這三個Smalltalk Web應用程序框架之間有什麼區別?以下是什麼區別:Seaside vs Aida vs Iliad

一些出發點:

  • 什麼是最理想的每個框架?在這種情況下你會使用其中一種還是另一種?
  • 他們的弱點是什麼?
  • 哪一個擁有最乾淨的網址?
  • 他們如何處理Ajax?
  • 他們對持久性的使用有一些偏好嗎?

我只是想確定哪種框架適用於每種應用。

回答

6

我只能回答海濱:

目標:海邊目標,重點是可重用性和開發效率複雜的Web應用程序。有自動會話狀態管理和後退按鈕支持。兩本免費的在線圖書Dynamic Web Development with SeasideSeaside Tutorial提供了文檔。

缺點:對於REST式網址,您必須做一些額外的工作。

Clean URLs:對於RESTful URL,您必須做一些額外的工作,但它可能是值得的(例如Pier)。

AJAX:有很多集成在海邊(jQueryjQueryUIPrototypescript.aculo.us ...)AJAX庫。通過集成,您可以從Smalltalk中完全訪問這些庫。新的庫可以很容易地整合,例如JQueryWidgetBox

一致性: Seaside是一個Web應用程序框架,而不是一個持久性框架。您可以使用最適合您的永久性解決方案,例如GemStone的,貨物,GLORP,...

也看到StackOverflow上這些其他問題/討論:

+0

由於盧卡斯比較的一部分。這些問題提供了很好的答案 – elviejo79 2011-01-11 08:26:01

1

爲海濱某些持久性的解決方案,有一個page。那裏的大多數解決方案都獨立於Seaside。

6

我可以說在伊利亞特側的東西:

甜區(S):它處理AJAX怕疼。對我而言,這是讓我轉向伊利亞特的轉折點。此外,它非常小且不臃腫,您可以在一天內閱讀整個代碼並掌握其工作原理。

缺點:社區也很小。這導致缺少文檔,附加模塊或預製小部件。 OTOH,小社區傾向於更加熱切地相互幫助,因此幾乎所有的疑慮都可以通過在郵件列表中詢問來解決。

URLs:那麼,由於默認情況下Iliad中的所有調用都是AJAX,所以URL始終保持清潔。

阿賈克斯:是的。免費和默認情況下。你只是#標記一個小部件,它會自動更新。依賴關係很容易定義爲將#addDependantWidget:發送到一個小部件,以便當第一個標記爲dirty時,兩者都將被更新。另外,如果客戶端不具有支持JavaScript的瀏覽器,則所有呼叫都將自動回退到常規HTTP請求。

持久性:沒有偏好。由於模型與框架分離(我認爲這適用於三個框架),您仍然可以遵循您對Aida或Seaside的相同準則。

5

而對於Aida/Web

甜蜜點:實時網絡支持開箱即用,對於內容的網站和複雜的Web應用程序,HTML5和移動的支持,包括Web服務器,以便它在安裝後立即生效,您可以從同一圖像提供多個虛擬網站。

弱點:沒有證件,小社區

網址:乾淨REST樣的URL所有的時間,因爲阿依遵循從一開始,摩托:每個領域對象可以有它的URL(也Alan Kay)和域對象甚至可以自己選擇它的URL。

阿賈克斯:無縫集成,你不再看到它,一切都在那裏。要刷新網頁上的某些元素,只需撥打e update即可。不需要知道任何jQuery或其他JavaScript。同樣適用於實時網絡應用程序。 WebSocket協議是支持的瀏覽器上的默認通信通道,用於在瀏覽器和基於Aida的服務器之間交換JSON消息。

持久性:默認情況下打開每小時自動快照的基於圖像的持久性。寶石/玻璃支持爲下一步提供。如果需要,關係/其他數據庫是域級別的職責。

更多:

相關問題