2013-01-11 75 views
2

我最近發現了Typescript。來自OOP C#背景,我發現Javascript非常難以使用,並且對Typescript自然很興奮。Typescript vs Marionette.js

我目前在我的應用程序中使用Backbone.Marionette.js來管理未來的複雜性(未來,因爲它還處於早期階段,還沒有那麼複雜)。

現在我明白Backbone.js在我的應用程序中仍然可以發揮重要作用,即使我使用的是Typescript,但是我學習Typescript越多(開始喜歡它),我越想開始思考其管理企業應用程序複雜性的目標與Marionette嘗試完成的內容重疊得太多。我明白他們以兩種完全不同的方式做,但來自C#我當然更喜歡面向對象的方法,而不是另一個JS插件。

我的考慮是否將我的應用程序中的Marionette淘汰出局,或者我認爲沒有重疊?請記住,我對所有3種Backbone,TypeScript和Marionette都是新手,這是我使用過的第一個應用程序,這使我很難評估這個問題。

回答

3

我的回答將基於以下考慮。

首先,您使用哪些木偶部分?如果它只是模塊加載,那麼你不需要它。如果您正在使用大量模板和事件,它可能仍然有用。如果您不確定您可能使用哪些部件,請在使用該部件之前不要使用它,除非您有充足的理由使用它。

其次,在你需要做出決定之前你能寫多少?例如,如果您今天開始編碼,您可以推遲多長時間做出決定。您等待的時間越長,您需要獲得的信息越多,以幫助您做出正確的選擇。如果你寫簡單的TypeScript,你可以等到你真的需要引入一個框架或工具包,然後選擇一個解決你真正的問題。

所以真的,我的答案是沒有它的開始,並等到你有一個問題需要解決之前選擇如何解決它。

5

「TypeScript vs Marionette」是錯誤的觀點。這就像「C#vs WinForms」,並問「我應該停止使用WinForms,當我從C#切換到VB.NET?」這個問題沒有任何意義,因爲它試圖將語言與框架進行比較。

有一些東西,TypeScript will prevent you from doing with Marionette或任何其他利用JavaScript的動態JavaScript框架。但這並不意味着TypeScript取代了Marionette或任何其他框架。由於TypeScript對你的限制,它只會限制框架的用處。

+1

TypeScript不會限制您使用動態屬性。使用括號表示法或將您的對象定義爲輸入'any'。如果你仍然希望編譯時檢查通過接口擴展定義等。 – ryan