2010-10-13 25 views
1

我一直在拖延SO幾個小時今晚尋找一些答案,但我還沒有找到任何真正的答案,我以後。我的道歉事實上已經得到回答。PHP網頁設計:使用Smarty與jQuery相關的其他訂閱源

我正在設計一個新的網站,我正在嘗試決定用於提供內容的體系結構。在過去,我的網站使用PHP提供數據到Smarty模板中。然而,最近在我的工作中,我一直在研究一個Java Web應用程序,其中使用jQuery從RESTful API(返回JSON)中檢索數據,其中HTML模板頁面用作基礎和JavaScript被使用(利用jQuery)來填充內容。

我的問題:

網站我設計將在PHP,但它會更好地構建(或使用現有)的RESTful API或繼續餵養數據之前,我已經做了進入Smarty模板?

對於其中一個或其他方面是否有真正的好處,還是僅僅歸結爲開發人員偏好/經驗?

如果有幫助,該網站將用於教會,其內容類型將類似CMS;新聞/公告,類似wiki的頁面,以及有限類型的社交網絡(部長與教區居民交流)。

回答

1

簡短的回答:這聽起來像用JavaScript填充內容在你的情況下不會有用。使用JavaScript加載數據會增加一層複雜性,而且效果甚微(在您的情況下)。看看與您正在做的功能類似的CMS和網站。 WordPress,Drupal等。

有關使用JavaScript加載數據可能有用的示例,請查看本網站上的標籤部分。當您搜索標籤時,它會在不重新加載頁面的情況下查詢服務器。但是,初始標籤列表在初始頁面加載期間不加載任何JS。

這裏有一些情況下,你可能會受益於JS加載信息:

  • 有一些數據,這將需要更長的時間來加載。例如,您從Web服務獲取數據。使用傳統的方法,您可能需要顯示頁面之前所需的所有數據。如果您使用JavaScript加載數據,則可能會加載該頁面,並在返回時顯示較慢的數據。實際上,你可能只是緩存數據,但這只是一個例子。
  • 隨着用戶停留在頁面上,您將獲得更多數據。您可能需要更新頁面而不刷新。
  • 您希望用戶能夠在不刷新頁面的情況下查詢更多數據。
  • 您的用戶的帶寬有限(移動)。
  • 此網站有更多的指引:http://www.oracle.com/technetwork/articles/javase/index-137171.html
+0

謝謝您的回答。這聽起來像是RESTful功能將更適合作爲補充功能,幫助用戶界面和導航協助,而不是主要內容交付? – Cyntech 2010-10-13 23:41:11

+0

是的,這是我對大多數網站的主題的看法。儘管每個應用程序都不同。 Gmail是一個通過Ajax加載所有內容的Web應用程序示例。 – Uriah 2010-10-14 00:44:16