2008-08-18 62 views
2

任何編寫客戶端JavaScript的人都熟悉DOM - 瀏覽器在內存中引用的樹結構,它是從服務器獲取的HTML中生成的。 JavaScript可以添加,刪除和修改DOM樹上的節點以更改頁面。我發現使用(瀏覽器漏洞)非常好,並且與我的服務器端代碼首先生成頁面的方式非常不同。基於樹的(與基於HTML的)Web框架?

我的問題是:什麼服務器端框架/語言通過將其視爲一個DOM樹從一開始就建立一個頁面 - 插入節點,而不是呼應琴絃?如果客戶端和服務器端代碼都以相同的方式看到頁面,我認爲這會非常有幫助。在任何Web服務器語言中,你都可以像這樣一起攻擊這樣的東西,但是專用於以這種方式創建頁面的框架可以做出一些非常好的優化。

開源,被廣泛部署,並且已經有一段時間都將是加號。

回答

2

你描述Rhino on Rails,這是不出來,但會很快。 同樣,Aptana Jaxer,但是RnR將包含一個實際的框架(Rails),而Jaxer只是服務器技術。

-1

我明白你來自哪裏,但這一切都有點不實際。除了向瀏覽器提供內容之外,您無法發送任何內容,並且您必須一次完成所有內容(AJAX)。根據你的建議(從我所能看到的)來看,即使你把它構建成樹狀,你仍然只建立一個批發給客戶的頁面,這沒有價值。

+0

好處是您可以將數據作爲數據進行交互,而不是以數據的字符串表示形式進行交互。 – eyelidlessness 2008-12-07 03:22:55

2

Aptana的Jaxer的AJAX服務器可能是一個給你看看,因爲它使用JS服務器端,以及。

話雖這麼說,我會說,你斷不能生成與打印報表或回聲你的標籤更好,但在你的動態內容,而模板,鉤。

0

Jaxer是服務器端JavaScript + DOM。您可以通過後處理輸出來將jaxer與其他語言集成。

也在java,php,...你可以使用xpath來操縱DOM。