0

Palm's Enyo framework uses a DSL-ish "Kind" system to create objects based on prototypes. Unfortunately, this results in, what I believe to be, untidier code.

Does anyone have any experience using/hacking Enyo with native-javascript prototypes / constructors?

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

vs…</p>

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

Hoping to know if anyone else has accomplished/attempted this.

4

3 回答 3

1

不是 Enyo,但有点相关,如果你想要这种编码风格,你可能想研究 Jo。这是我昨天看到的 Coffeescript 包装器:

http://k33g.github.com/2011/08/14/JO-COFFEESCRIPT.html

Jo 使用 PhoneGap 在 webOS 中工作,支持 1.x-3.x 以及其他平台。干杯。

于 2011-08-16T06:45:58.127 回答
1

我试图完成与您相同的事情,使用不同的编译 Javascript 方法(Haxe JS)

我能够让它工作......扩展诸如基类之类的类型,但我必须将框架包装在我自己的文件中以使其工作。我不希望其他任何人这样做,但请随意看看我的工作:

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

祝你有美好的一天!

于 2011-08-16T06:50:49.317 回答
-1

您也可以使用更实用的样式,而不是面向对象的样式。也许是这样的:

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

然后通过做而不是创建一个计时器

new SimpleTimer timerDuration:99

你可以做

simpleTimer 99
于 2012-12-14T18:50:45.770 回答