2009-01-27 139 views
14

我最近一直在與一個非常強烈的ajax項目的人一起工作。所有的調用都是使用ajax對Web服務進行的,而數據邏輯則在客戶端進行處理。服務器端代碼只是作爲data access layer而沒有其他用處。多少JavaScript太多了?多少javascript太多

回答

11

這確實取決於您的需求和用戶的期望。我唯一的建議是想想你正在做AJAX的地方,而當用戶真的期望導航一個新的頁面。那些是你「做得太多」的情況。

請記住,用戶花費99%的時間使用其他網站,而不是你的。確保您的網站能夠完成他/她對網絡其他部分以及通常使用計算機的要求。

順便說一句,可用性測試可以用來找出「用戶真正期望的」在任何領域。你作爲設計師的判斷可能與典型用戶完全不同。另見Why You Only Need to Test with 5 Users

+0

非常不錯的鏈接!我發現它很有用。 – 2012-01-05 18:28:57

9

如果生成的應用程序對用戶來說是直觀且有用的,那麼您不能說它已經使用了太多的技術或其他技術。

提供良好的用戶體驗是我們軟件開發人員的主要目標應該是。我們用來做這件事的技術只是一個推動者。

我們只使用了太多的/如果有錯誤的技術:

  1. 的應用是直觀或 從用戶的心理 模型不同的,或
  2. 應用過於 困難或太貴到 保持爲那些後來的人 我們
16

Javascript可能是太多,當它顯示太多客戶端,所以我會從安全角度來看待。從性能角度來看,一般使用Javascript更好。

3

問題是,應用程序是否仍然提供必要的功能,如書籤功能和尊重用戶瀏覽歷史記錄?

如果用戶無法爲特定頁面/狀態添加書籤,那應該是可收藏的,這是警告標誌。

也不能合理地使用後退按鈕會導致悲傷。

+0

「書籤功能」/「後退按鈕」和「太多的JavaScript」並不相互排斥。他們可以用更多的javascript來解決:)但是,嚴重的是,有時從javascript中的重大努力中獲得的收益大於書籤的損失。例如Google地圖。 – 2009-01-27 17:11:37

+0

你是對的。有些問題可以通過更多的JS來解決。谷歌地圖通過使用「鏈接」小部件來實現這一點,您可以在其中將當前視圖複製爲直接URL。雖然我發現在這種情況下不可能,但仍然應該在可用性和性能之間做出明智的折衷。 – 2009-01-28 08:38:44

4

我不介意javascript被使用,只要它不暴露敏感信息或打開安全漏洞。

0

太多的事情是:

當在用戶不GET /需求/喜歡的/ etc您無法讀取代碼

的UI

當你殺死任何服務器端/客戶端的資源,你需要

3

我要說的是,任何技術,如果你忽視贊成盡一切「以同樣的方式」的解決問題的更直接的方法,有一展身手你有可能會這樣做。證明這一點的簡單方法是花費一些額外的時間來寫出概念驗證特徵,而不是使用所討論的方法,並且追蹤它需要多長時間等等。如果您可以用您的概念證明來完成相同的事情並且爲用戶提供合適的體驗,那麼發展戰略可能需要改變。

+0

+1採取最直接的方法。我會補充說,在爲開發人員節省的時間和爲用戶節省的時間之間存在一種平衡 - 這是一種折衷,並且在某個方面在任何一個方向上交易太多都是壞事;而且開發者和用戶的最佳回報往往是採取更直接的方法。考慮到AJAX所用的大部分內容是模擬瀏覽活動,但在瀏覽器中。迅速推出這麼多冗餘就變成了自我挫敗。 – zxq9 2014-01-04 03:23:31

0

這真的取決於項目是什麼。

誰是用戶?這只是一個內部事物,還是會對世界開放?他們是否期待定期的Web風格界面?那會阻礙視線的可用性嗎?

它需要有多安全?使用JavaScript可以爲用戶打開很多應用程序,這可能是一個安全問題。

典型的用戶計算機可以處理多少的JavaScript(較老的機器幾乎可以沒用了大量的JavaScript)?

有很多問題需要得到回答,然後才能決定是多少JavaScript的太多問題。

最終它很可能最終會由測試和用戶反饋決定。

0

這取決於許多因素:

  • 是否腳本泄露信息對你的應用程序的內部運作的終端用戶?
  • 您是否需要支持多種瀏覽器?
  • 您是否需要支持移動用戶(或PDA)?
  • 你用Javascript執行業務邏輯嗎? (generaly這應該在服務器上完成)
  • 等等

一旦你得到的回答這些問題,我認爲這是容易確定是否需要在已經越過一條線某處與否。除此之外,從性能角度來看,將處理器負載分配給客戶端總是一件好事。執行客戶端業務邏輯也很好,但請確保您仔細檢查服務器。

希望這會有所幫助。