Oh, sorry for de delay :-)
I don't think I expressed it very well :-)
The qxtransformer was only an example. Qooxdoo is a great framework, but
most people like writing interfaces in a declarative way, like in qxt,
flex/mxml, xul, etc. But there are also some frameworks in JS which use
declarative interface design, like ExtJS.
The "idea of my idea" is allow new programing languages over qooxdoo.
Imagine you wrote a xul to qooxdoo "compiler". Imagine your project (projA)
tree (which "source" dir as root) is:
/class/projA/MyClass.xul
/class/projA/Application.js
And when you you run the command:
./generate.py xul
The file projA/MyClass.xul will generate xul-temp/MyClass.js, which map the
class projA.MyClass.
If I instantiate a new projA.MyClass() in Application.js, in the build
process the qooxdoo compiler will look at the dirs in PROJECT_ROOT (from
first to last in list) for the MyClass.js file. It can avoid two conflicts
between files with represents the same class (one you wrote and another
generated, for example). The generated files aren't necessary in the VCS,
because they are temporary.
I've done this sugestion because I think the current json syntax of class
isn't very intuitive to write applications. I like javascript, but "json
object as application object" has some limitations.
For example, imagine this class:
1 qx.Class.define("projA.OtherClass",
2 {
3 extend: "qx.ui.form.Button",
4
5 members: {
6 this.__aaa: null
7 },
8
9 construct: function(name,lala) {
10 this.base(arguments);
11 this.__aaa = new qx.Something(name,lala);
12 this.add(__aaa);
13 }
14 });
If I need to create a new "block", events, for example, I need to put a
comma after the end-block at line 12 and write the "event" block. The "need
for comma" is a json requeriment. If you don't put the comma there, the
parse fails. But the programming language can't limit the programmer. So I
can, for example, write a new language over qooxdoo, which represents the
above class as:
package projA;
define class OtherClass extending qx.ui.form.Button {
private var __aaa := null;
define method constructor with params name:String, lala:Number {
base();
__aaa := new qx.Something(name);
call add(_aaa);
}
}
This language is only imaginary (and I'm not a good new languages creator),
but I hope that had showed my idea. A good example of language implemented
over Javascript is CofreeScript:http://jashkenas.github.com/coffee-script/ .
Other is Objective-J of the Cappuccino RIA framework.
The idea isn't "qooxdoo needs provide new languages!", but "why not new
languages if user wants it?"
ps: one more time, sorry if you don't understand me. It's because my
non-native English :-)
2010/11/17 thron7 <[email protected]>
>
>
> On 11/17/2010 10:27 AM, panyasan wrote:
> >
> > Hi,
> >
> > just weighing in on the qxtransfomer issue:
> >
> > We decided to keep the xml source file with the generated javascript
> source
> > file because it makes no sense to duplicate the namespace structure. Both
> > are "source" in the sense that they carry the information from which a
> final
> > "build" file is created, even if the xml source file is not used
> directly,
> > but translated into the javascript "intermediary" file first. While it is
> > true that the generated javascript file is kind of "throw-away" because
> it
> > will be overwritten many times and not to be dealt with directly (it
> makes
> > no sense, for example, to put it under version control), that must not be
> > this way. One could imagine cases where you use the xml to quickly
> develop a
> > prototype, and then continue working on the generated javascript source
> file
> > and throw away the XML. So in my opinion, it doesn't make sense to keep
> the
> > XML in a separate folder structure.
>
> But Leandro seems to indicate that qxtransformer *generates* a different
> path for the .js files, like {qxtransformer_generated}/admin/... ?! Or
> is this due to a custom configuration?
>
> T.
>
>
> ------------------------------------------------------------------------------
> Beautiful is writing same markup. Internet Explorer 9 supports
> standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3.
> Spend less time writing and rewriting code and more time creating great
> experiences on the web. Be a part of the beta today
> http://p.sf.net/sfu/msIE9-sfdev2dev
> _______________________________________________
> qooxdoo-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>
------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3.
Spend less time writing and rewriting code and more time creating great
experiences on the web. Be a part of the beta today
http://p.sf.net/sfu/msIE9-sfdev2dev
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel