2011-03-28 20 views
3

我一直在使用Dojo和Dijit一年多來開發基於瀏覽器的IDE。 Dojo是一個很好的框架。但是使用Dojo創建一個類似IDE的界面非常麻煩,並且浪費了很多時間,除非你是一個CSS超人。我對HTML5,JavaScript和CSS有很好的理解。構建用戶界面我需要通過試驗和錯誤發現的幾個CSS黑客入侵。沒有從UI設計到實現的系統方法,我害怕改變UI佈局,因爲任何簡單的更改都可能會破壞UI,主要是通過向不需要它們的Dijit窗格添加不相關的滾動條。 (複雜的UI有4-5級嵌套窗格,主要包括邊框容器和內容窗格)哪個JavaScript框架開發客戶端複雜的UI? Dojo,SproutCore,卡布奇諾

最近我遇到了SproutCore和Cappuccino,它們有很棒的demo,它們的外觀和感覺更基於桌面。有幾個討論比較這兩個彼此。但是他們都沒有談論從UI設計到實現的系統性和快速性?理想情況下,我應該能夠實現我想要的UI不超過幾天(假設我知道該框架),並且在將來更改它們應該很容易。

Dojo的另一個困難是我必須直接使用DOM來追加和刪除dijit小部件。雖然我喜歡保持這種靈活性,但我希望能夠使用更高級別的抽象來定義應用程序UI。我已經閱讀了SproutCore和Cappuccino中的MVC,但是我想知道在實踐中提供的抽象層如何加速UI開發?或者提供的層是一種只增加代碼可讀性的奇特體系結構?如果我使用這些抽象構建UI,會不會直接訪問DOM?

乾杯, 納維德

回答

4

卡布奇諾更高級別。你用Objective-J編寫,而不是HTML/CSS/JavaScript。我個人不推薦這樣做,因爲Objective-J是一種小衆語言,你會被一些不被大家廣泛理解的東西卡住。你會發現尋找問題的答案更加困難,而其他人在維護代碼時會遇到更多困難。

但是,由於它是高級別的,它可以屏蔽你在「標準」(即HTML/CSS/JavaScript)中編程的苦差事。因此,您應該能夠更快更輕鬆地開發用戶界面,但您必須學習Objective-J的入門知識。總而言之,我想這裏沒有太多的收穫。

另一方面,SproutCore基於HTML/CSS/JavaScript,因此您不必重新學習基礎知識。它遵循分離UI和數據關注的MVC模型,因此編程UI應該更容易。我個人的建議是堅持使用Dojo - 1.6已經出來了,它有變化跟蹤,狀態跟蹤和支持。 1.7即將到來。MVC模塊正在快速改進。下一個版本2.0將非常棒。它正在積極發展,所以你不會被拋在後面。

Dojo還可以與Closure Compiler的高級模式一起使用,以製作用於部署的高度緊湊,高度優化的全混淆構建。其他基於JavaScript的框架不具有適應性。

3

卡布奇諾絕對超越只是提高可讀性。如果你不想在卡布奇諾有一個滾動條,請不要給它一個。這幾乎是故事的結尾,也是使用這種框架的最大優勢之一。根據我的經驗,HTML和CSS只是一個無盡的疑難解答會話。隨着卡布奇諾的事情去你說他們應該和呆在那裏。這在瀏覽器中也是如此(大部分時間)。

此外,如果您選擇使用Interface Builder和Cappuccino的nib2cib實用程序,您可以構建您的用戶界面。這使得最初的佈局以及稍後隨機播放按鈕和控件變得微不足道。