2012-12-04 54 views
4

我一直在與Breeze/knockout組合工作一段時間,並且總體上相當滿意。 Twitter Bootstrap在嘗試時是一個合適的UI佔位符,但時間已經集中在UI(移動網絡應用程序)上,而且我遇到了一個讓我在別處尋找的問題(除了淘汰賽,就是這樣)。我在淘汰賽中遇到的問題與無法集成現有UI組件/小部件的難度/難度有關。MVVM和用於Breeze的移動UI框架的組合

問題是,大多數這些小部件/框架/庫(如jQuery Mobile)操縱DOM以完成他們正在做的事情。這與Knockout衝突。

所以我轉向了Angular(我更喜歡它的綁定語法),然後我又開始了我的追求。那麼...同樣的問題。儘管有人編寫了Angular/Jquery Mobile適配器,但我不願意依賴它與jquery mobile的新版本保持同步。而且,我使用jquery mobile越多,我越喜歡它。它似乎更適合移動網站而不是網絡應用程序,我發現自己想要替換它的導航路由器等等。有趣的是,在同一時間(僅在幾天前),我注意到最新版Breeze中的Angular ToDo演示。

Angular Breeze演示讓我想到我應該用Kendo UI嘗試Breeze,他的MVVM實現我並不特別關心,但是其UI非常精美。由於沒有官方的支持,我沒有花太多時間在這方面,並且毫不奇怪,我遇到了問題。

所以,我的問題(S):

會微風曾經與劍道UI MVVM工作?如果是,我們是在說幾天,幾周還是幾個月?如果沒有,就如何解決這可以概括這樣的真正問題的任何想法:

toolsToRapidlyDevelopProfessionalWebApp = [Breeze, MVVM, UI] 

Breeze:我知道沒辦法,解決上述問題的。

MVVM:哪些實現將與Breeze和一個可靠的UI庫(在我的情況下是移動的)一起工作?

UI:哪個專業質量的UI庫可以與也適用於Breeze的MVVM實現一起使用?

順便說一句,在我尋求答案,我跑進了以下內容:

http://feedback.kendoui.com/forums/127393-kendo-ui-feedback/suggestions/3247342-integrate-with-breeze-js

回答

2

是的,KendoUI支持是Breeze的路線圖。正如您在鏈接中看到的Kendo's feedback page所示,我們的兩家公司已聯繫並且有共同利益。

編輯: Telerik的這裏回顧微風,並顯示與KendoUI初步整合代碼: https://gist.github.com/derickbailey/258716b0107f9067616a

編輯2: 爲KendoUI BreezeDataSource的完整版本現在工作: http://www.kendoui.com/blogs/teamblog/posts/13-02-21/breeze_js_and_the_kendo_ui_datasource.aspx

+0

謝謝。實際上,在提交問題之前我發現了這個鏈接 - 這就是爲什麼它會像這樣結束。獲得確認是很好的,但出於規劃的目的,確實有助於獲得時間感。我很感激你不能作出承諾,所以如果你可以詳細說明涉及的內容。例如,這是否需要對kendo ui代碼庫進行任何工作,或者是否需要適配器/微風方面的所有更改?我也很好奇,如果有任何關於劍道的事情,可能會讓它比KO&Angular更具挑戰性。 – user1843640

+0

還不確定。我們必須清除甲板上的一些事情,然後才能開始真正的工作。如果我在時間上隨機猜測,我會在明年初(1月,2月?)說。 – Ting

2

我知道這是不是回答你的問題有關的微風/劍道/ UI,但我想了關於什麼點Angular,也可能是Knockout,這可能會幫助你找到答案。

您可以使用Angular操縱DOM ...我的意思是,這是所有的角度。但你只需要在正確的地方做:指令。您看到的那些連接器庫只是實現從角度連接到DOM的指令。你不需要依賴第三方,而且他們很容易維護。

不要過時這一點,它非常簡單。一個指令只是一個「鏈接」功能,基本上你的DOM的東西。它非常易於使用。

angular.diretive("something", function(){ 
    return { 
     restrict: 'EACM', //just tells angular where this can be used 
     link: function(scope, element, attrs){ 
      //do DOM stuff here, element works with jQuery if included 
      element.someJqueryPlugin(); 
     } 
    } 
} 

現在在你的代碼的任何地方,你可以說<something><div something>和你的指令調用,並正確鏈接。你甚至可以使用模板,控制器並使用依賴注入。

+0

這聽起來很鼓舞人心的。如果你......或任何人......需要更高層次,請告訴我們。 – Ward