2011-07-27 55 views
0

Palm的Enyo框架使用DSL-ish「Kind」系統根據原型創建對象。不幸的是,這導致了我所認爲的不適當的代碼。能用webOS Enyo框架使用native javascript/coffeescript構造函數嗎?

有沒有人有任何經驗使用/黑客與原生JavaScript原型/構造函數Enyo?

enyo.kind 
    name: 'SimpleTimer' 
    kind: "RowGroup" 
    caption: "Simple Timer" 
    published: 
    timerDuration: 30 

VS ...

class SimpleTimer extends RowGroup 
    caption: "SimpleTimer" 
    published: 
    timerDuration: 30 

希望能知道是否有人完成/嘗試這個。

回答

1

我試圖完成你是同樣的事情,使用編譯的JavaScript(JS HAXE)的不同方法

我能得到這個工作......延伸種像基類,但我有將框架封裝在自己的文件中以使其工作。我不希望其他任何人,但隨時採取偷看在我所工作:

http://www.joshuagranick.com/blog/2011/08/08/enyo-with-code-completion-yes/

有一個偉大的一天!

-1

您也可以使用功能更強大而不是面向對象的風格。也許是這樣的:

simpleTimer = (timerDuration) -> 
    new RowGroup caption: 'Simple Timer', timerDuration: timerDuration 

然後,而不是通過做

new SimpleTimer timerDuration:99 

創建一個計時器,你可以做

simpleTimer 99 
+0

我不知道您已經閱讀了問題埃蒙 -/ – arbales

+0

我意識到我沒有解決您的問題,而是解決了您是否需要面向對象的代碼以及您提到的「不整潔」問題這個更廣泛的問題。我發現使用Coffeescript是一種功能風格的代碼的自然匹配。我認爲,在很多情況下,我的功能代碼示例可以用來代替問題中兩種面向對象的替代方法中的任何一種,而且它更短,恕我直言不那麼「不整潔」。 –