2009-05-30 22 views
1

我想爲我的網站建立一個日曆「組件」。我希望將來可以輕鬆管理和擴展。我不會將它用於任何其他網站,但它希望使它獨立於網站的其他部分。該網站使用ASP.NET MVC構建。構建日曆/事件應用程序(視圖)的好方法是什麼?

我想包括不同的意見(月,周,日[甚至一年])。我打算用不同的方式將信息呈現給用戶:

  • 圖標
  • 彩色化([!]星期,時,週期)
  • 彈出屏幕

信息需求基於其他(.NET)模型中包含的信息進行顯示。我希望這個邏輯能夠正確分離。

我相當擅長JavaScript,所以我將能夠構建一個漂亮的界面,用於拖放日曆上的事件並瀏覽日曆日期。不過,我希望組件在沒有JavaScript的情況下工作。

我應該從頭開始構建這個組件嗎?如果是這樣,你可以命名你將創建構建組件的不同部分?

OR

我可以改變.NET Calendar控件適合我的需要?

感謝您的輸入!

回答

4

嚴重這裏偏見,但看看什麼Google Calendar一樣。在我看來,這是一個非常非常好的用於日曆的Web用戶界面。

我的主要建議是期望它是一個痛苦。特別地,每個這些「軸」的增加了複雜性的大小的一個額外的順序:

  • 與其他日曆客戶端(例如iCal中或ActiveSync)
  • 與其他日曆服務器進行互操作進行互操作(例如谷歌日曆)
  • 處理時區(做假定時區是剛剛從UTC偏移!你需要知道更多的信息,這樣你就可以當夏令踢預測,佔歷史/未來的變化等)
  • 處理復發事件(可最終被任意複雜的,如果你不小心)
  • 處理共享事件(如會議)
  • 處理共享訪問(例如用戶X是用戶Y的祕書,並有權做各種各樣的東西)
  • 處理本地化(每個文化顯示其日期在dif ferent方式)
  • 處理不同類型的日曆(你需要支持科普特日曆等?)

當你把所有的人,你結束了一個巨大的痛苦。弄清楚你真正需要覆蓋的東西,並排除其他一切。嘗試排除永久(並明確 - 保留一個文件,你只是而不是去支持,管理層批准)。

完全披露:我致力於移動設備的Google Sync,主要是在日曆端。你不會相信一些出現的角落案例。基本上,我的發展空間大多由角落組成。

+0

好東西。我的日曆將用於計劃/跟蹤(飲食/身體活動),因此它不是傳統的會議/任務/工作區日曆。儘管最好的輸入,謝謝。 – Ropstah 2009-06-04 12:10:03

1

爲什麼重新發明輪子,如果你可以重用,也許改善已經很好的輪子?

嘗試一下DHTMLxScheduler它採用了Javascript API所以你可以做你需要的一切...

你可以閱讀更多的WebAppers entry

在全球我們今天,我們應該重新使用,而不是反覆發明一遍又一遍......至少我是這個想法的辯護人。

開源 - GPL允許您在GPL項目中免費使用dhtmlxScheduler。

1

我肯定會阻止你建立你自己的。考慮一下這個問題。

,如果你希望建立一個日曆將帶你說X小時,那麼你應該花X/10小時尋找一個日曆:

  1. 談到甚至中途接近你所需要的。在最糟糕的情況下,您將浪費10%的時間,並節省50%的時間。我知道那裏有數百個日曆,所以你可能會發現幾乎完全適合你的需求,即漸進式渲染和所有(拖放是你可能需要做的事情)。

  2. 有適合您需要的許可證。他們中的大多數都擁有自由許可證,因爲它是如此常見的控制。

  3. 如果日曆的採用率很高,那麼它會更好,因爲它會有更少的錯誤,因爲它已經在野外測試過了,但是您的瀏覽器會在幾個月後繼續顯示錯誤。當你可以花費同樣的時間編碼功能時,你真的不想這麼花時間修復錯誤。如果社區很大,它甚至可能會有很酷的功能,甚至可以在沒有想到它們的情況下免費獲得這些功能(例如將一週的開始從Mon移動到Sun)。

您可以將節省時間的建築物專注於拖放功能,並根據需要調整日曆。

+0

完美的提示,但是這不是我的問題......;)+1雖然 – Ropstah 2009-06-04 12:07:28

相關問題