Qooxdoo, TypeScript, RequireJS and Visual Studio

classic Classic list List threaded Threaded
16 messages Options
Reply | Threaded
Open this post in threaded view
|

Qooxdoo, TypeScript, RequireJS and Visual Studio

Tom Saddul
This is a dream come true to me.  I hate HTML and javascript but like QooxDoo very much.  The following work by jbaron has brought me back to QooxDoo.

qx-typed:  a Qooxdoo for TypeScript created by jbaron:  https://github.com/jbaron/qx-typed

I created a sample web app as proof of concept. Please feel free to move this as part of wiki or anywhere it may be of use.

To view the sample application, please open link in new tab: http://www.digisoftph/test/qxtype/
To download the complete source code, please open link in new tab: http://www.digisoftph/test/qxtype/qxtype-source-requirejs.zip

Personally, I enjoyed doing it even if this is my first application using TypeScript and qx-type (QooxDoo for TypeScript) and RequireJS.

I have posted this here so it may gather interest for anyone to help improve qx-typed which will bring QooxDoo to the TypeScript language.

Indeed, I've been missing the official entry of QooxDoo here:  https://github.com/borisyankov/DefinitelyTyped

I would be nice if the experts can help maintain an official entry in that collection of popular javascript libraries.
Reply | Threaded
Open this post in threaded view
|

Re: Qooxdoo, TypeScript, RequireJS and Visual Studio

oetiker
Today Tom Saddul wrote:

> This is a dream come true to me.  I hate HTML and javascript but like QooxDoo
> very much.  The following work by jbaron has brought me back to QooxDoo.
>
> *qx-typed*:  a Qooxdoo for TypeScript created by jbaron:
> https://github.com/jbaron/qx-typed

****WOW**** JBaron has written a complete TypeScript editor in Qooxdoo!

https://github.com/jbaron/cats

simply amazing

--
Tobi Oetiker, OETIKER+PARTNER AG, Aarweg 15 CH-4600 Olten, Switzerland
www.oetiker.ch [hidden email] +41 62 775 9902


------------------------------------------------------------------------------
_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
Reply | Threaded
Open this post in threaded view
|

Re: Qooxdoo, TypeScript, RequireJS and Visual Studio

Petr Kobalíček
it's not entirely in qooxdoo, the main component is the ace editor :) 

On Wed, Oct 29, 2014 at 10:54 AM, Tobias Oetiker <[hidden email]> wrote:
Today Tom Saddul wrote:

> This is a dream come true to me.  I hate HTML and javascript but like QooxDoo
> very much.  The following work by jbaron has brought me back to QooxDoo.
>
> *qx-typed*:  a Qooxdoo for TypeScript created by jbaron:
> https://github.com/jbaron/qx-typed

****WOW**** JBaron has written a complete TypeScript editor in Qooxdoo!

https://github.com/jbaron/cats

simply amazing

--
Tobi Oetiker, OETIKER+PARTNER AG, Aarweg 15 CH-4600 Olten, Switzerland
www.oetiker.ch [hidden email] <a href="tel:%2B41%2062%20775%209902" value="+41627759902">+41 62 775 9902


------------------------------------------------------------------------------
_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel


------------------------------------------------------------------------------

_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
Reply | Threaded
Open this post in threaded view
|

Re: Qooxdoo, TypeScript, RequireJS and Visual Studio

John Spackman-3
Still, it’s quite an achievement; I really wish I had time to experiment with it.  Has anybody tried typescript with Qooxdoo?  It would be interesting to know whether there are any issues.

John

On 29 Oct 2014, at 09:59, Petr Kobalíček <[hidden email]> wrote:

it's not entirely in qooxdoo, the main component is the ace editor :) 

On Wed, Oct 29, 2014 at 10:54 AM, Tobias Oetiker <[hidden email]> wrote:
Today Tom Saddul wrote:

> This is a dream come true to me.  I hate HTML and javascript but like QooxDoo
> very much.  The following work by jbaron has brought me back to QooxDoo.
>
> *qx-typed*:  a Qooxdoo for TypeScript created by jbaron:
> https://github.com/jbaron/qx-typed

****WOW**** JBaron has written a complete TypeScript editor in Qooxdoo!

https://github.com/jbaron/cats

simply amazing

--
Tobi Oetiker, OETIKER+PARTNER AG, Aarweg 15 CH-4600 Olten, Switzerland
www.oetiker.ch [hidden email] <a href="tel:%2B41%2062%20775%209902" value="+41627759902" class="">+41 62 775 9902


------------------------------------------------------------------------------
_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

------------------------------------------------------------------------------
_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel


------------------------------------------------------------------------------

_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
Reply | Threaded
Open this post in threaded view
|

Re: Qooxdoo, TypeScript, RequireJS and Visual Studio

Florian Wilhelm
Hey,

I've evaluated to use ts for my qx project. I have to say I had some
problems with the definition file, to get it working with the qx-version
I use (4.0.1, IIRC). I ended up mixing several files into one. Not ideal..

I really liked it because I don't like javascript as a programming
language. But for practical reasons I decided to not use it for the
project and stick with the "official" path. But I would appreciate if ts
could get "official" for qx one day..

Florian

On 29.10.2014 11:13, John Spackman wrote:

> Still, it’s quite an achievement; I really wish I had time to experiment
> with it.  Has anybody tried typescript with Qooxdoo?  It would be
> interesting to know whether there are any issues.
>
> John
>
>> On 29 Oct 2014, at 09:59, Petr Kobalíček <[hidden email]
>> <mailto:[hidden email]>> wrote:
>>
>> it's not entirely in qooxdoo, the main component is the ace editor :)
>>
>> On Wed, Oct 29, 2014 at 10:54 AM, Tobias Oetiker <[hidden email]
>> <mailto:[hidden email]>> wrote:
>>
>>     Today Tom Saddul wrote:
>>
>>     > This is a dream come true to me.  I hate HTML and javascript but like QooxDoo
>>     > very much.  The following work by jbaron has brought me back to QooxDoo.
>>     >
>>     > *qx-typed*:  a Qooxdoo for TypeScript created by jbaron:
>>     >https://github.com/jbaron/qx-typed
>>
>>     ****WOW**** JBaron has written a complete TypeScript editor in
>>     Qooxdoo!
>>
>>     https://github.com/jbaron/cats
>>
>>     simply amazing
>>
>>     --
>>     Tobi Oetiker, OETIKER+PARTNER AG, Aarweg 15 CH-4600 Olten, Switzerland
>>     www.oetiker.ch <http://www.oetiker.ch/> [hidden email]
>>     <mailto:[hidden email]> +41 62 775 9902 <tel:%2B41%2062%20775%209902>
>>
>>
>>     ------------------------------------------------------------------------------
>>     _______________________________________________
>>     qooxdoo-devel mailing list
>>     [hidden email]
>>     <mailto:[hidden email]>
>>     https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>>
>>
>> ------------------------------------------------------------------------------
>> _______________________________________________
>> qooxdoo-devel mailing list
>> [hidden email]
>> <mailto:[hidden email]>
>> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>
>
>
> ------------------------------------------------------------------------------
>
>
>
> _______________________________________________
> qooxdoo-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>

------------------------------------------------------------------------------
_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
Reply | Threaded
Open this post in threaded view
|

Re: Qooxdoo, TypeScript, RequireJS and Visual Studio

Peter Dekkers
Actually the qooxdoo description file I use at the CATS project (the reason I created it in the first place) is in a much better shape and I use it on a daily basis. BTW CATS is also written in Qooxdoo 4.0.1. Guess I should update the qx-typed version with this improved one. But in the mean time I would say get the one from CATS (also on github).

With the latest version of TypeScript, two features are added (protected & union-types) that will make it possible to create an even better declaration file. If they also add mixins I think it would be a perfect match (right now mixins are handled as interfaces in my declaration file).

— Peter (creator of the declaration file)  

On 29 Oct 2014, at 19:29, Florian Wilhelm <[hidden email]> wrote:

 to use ts for my qx project. I have to say I had some 
problems with the definition file, to get it working with the qx-version 
I use (4.0.1, IIRC).


------------------------------------------------------------------------------

_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
Reply | Threaded
Open this post in threaded view
|

Re: Qooxdoo, TypeScript, RequireJS and Visual Studio

Peter Dekkers
In reply to this post by Petr Kobalíček
To be even more correct, much of the real heavy lifting is done by the TypeScript language services in the background (analysing the source code etc).  

That being said, Qooxdoo really has been a pleasure to work with in combination with TypeScript. Really feels like developing a traditional desktop app in Java or C#.  Qooxdoo can be a complex/large API, but with TypeScript and the availability of things like code-completion it became much easier to be productive. So really impressed by Qooxdoo and how easy it is to create a great UI’s

Already long time on my agenda to share my experience, so will write up some stuff when I have some spare time.

— Peter 


On 29 Oct 2014, at 10:59, Petr Kobalíček <[hidden email]> wrote:

it's not entirely in qooxdoo, the main component is the ace editor :) 

On Wed, Oct 29, 2014 at 10:54 AM, Tobias Oetiker <[hidden email]> wrote:
Today Tom Saddul wrote:

> This is a dream come true to me.  I hate HTML and javascript but like QooxDoo
> very much.  The following work by jbaron has brought me back to QooxDoo.
>
> *qx-typed*:  a Qooxdoo for TypeScript created by jbaron:
> https://github.com/jbaron/qx-typed

****WOW**** JBaron has written a complete TypeScript editor in Qooxdoo!

https://github.com/jbaron/cats

simply amazing

--
Tobi Oetiker, OETIKER+PARTNER AG, Aarweg 15 CH-4600 Olten, Switzerland
www.oetiker.ch [hidden email] <a href="tel:%2B41%2062%20775%209902" value="+41627759902" class="">+41 62 775 9902


------------------------------------------------------------------------------
_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

------------------------------------------------------------------------------
_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel


------------------------------------------------------------------------------

_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
Reply | Threaded
Open this post in threaded view
|

Re: Qooxdoo, TypeScript, RequireJS and Visual Studio

John Spackman-3
Hi Peter

How does that work with the generator?  Do you compile all Qooxdoo JS into one file for the Typescript compiler to read and optimise (and for the IDE to do the code completion?)

John

> On 29 Oct 2014, at 20:23, JBaron <[hidden email]> wrote:
>
> To be even more correct, much of the real heavy lifting is done by the TypeScript language services in the background (analysing the source code etc).  
>
> That being said, Qooxdoo really has been a pleasure to work with in combination with TypeScript. Really feels like developing a traditional desktop app in Java or C#.  Qooxdoo can be a complex/large API, but with TypeScript and the availability of things like code-completion it became much easier to be productive. So really impressed by Qooxdoo and how easy it is to create a great UI’s
>
> Already long time on my agenda to share my experience, so will write up some stuff when I have some spare time.
>
> — Peter
>



------------------------------------------------------------------------------
_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
Reply | Threaded
Open this post in threaded view
|

Re: Qooxdoo, TypeScript, RequireJS and Visual Studio

Peter Dekkers
For the qx-typed I did two things:

1) Created a dummy project with all the desktop widgets and let the normal Qooxdoo tooling generate the resulting JS file. The nice things is that the normal tooling will now also include the dependencies, so not have to worry about that.

2) Based on the framework documentation JSON files (framework/api/script), generate the declaration file. So this where the parser comes into place and map the qooxdoo world to TypeScript.


After that I think I had to made a few manual changes and that is it. So quite easy to update if a new version of Qooxdoo comes out. Things prevent it from being 100% perfect:

1) At that time TypeScript didn’t support protected, so mapped that to public members
2) Also no support at that time for Union Types in TypeScript, so used <any> instead
3) No  support for mixing, used interfaces instead
4) Mistakes in the Qooxdoo documentation or  some OO violations.

— Peter

> On 30 Oct 2014, at 08:43, John Spackman <[hidden email]> wrote:
>
> Hi Peter
>
> How does that work with the generator?  Do you compile all Qooxdoo JS into one file for the Typescript compiler to read and optimise (and for the IDE to do the code completion?)
>
> John
>
>> On 29 Oct 2014, at 20:23, JBaron <[hidden email]> wrote:
>>
>> To be even more correct, much of the real heavy lifting is done by the TypeScript language services in the background (analysing the source code etc).  
>>
>> That being said, Qooxdoo really has been a pleasure to work with in combination with TypeScript. Really feels like developing a traditional desktop app in Java or C#.  Qooxdoo can be a complex/large API, but with TypeScript and the availability of things like code-completion it became much easier to be productive. So really impressed by Qooxdoo and how easy it is to create a great UI’s
>>
>> Already long time on my agenda to share my experience, so will write up some stuff when I have some spare time.
>>
>> — Peter
>>
>
>
>
> ------------------------------------------------------------------------------
> _______________________________________________
> qooxdoo-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel


------------------------------------------------------------------------------
_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
Reply | Threaded
Open this post in threaded view
|

Re: Qooxdoo, TypeScript, RequireJS and Visual Studio

Phyo Arkar
Wow  , Thanks!

I was always thinking to support qooxdoo with PythonJS. But i don't know where to start. 
So to implement another scripting into Qooxdoo which file should i be looking ?

I want to give it a try@!


On Thu, Oct 30, 2014 at 2:35 PM, JBaron <[hidden email]> wrote:
For the qx-typed I did two things:

1) Created a dummy project with all the desktop widgets and let the normal Qooxdoo tooling generate the resulting JS file. The nice things is that the normal tooling will now also include the dependencies, so not have to worry about that.

2) Based on the framework documentation JSON files (framework/api/script), generate the declaration file. So this where the parser comes into place and map the qooxdoo world to TypeScript.


After that I think I had to made a few manual changes and that is it. So quite easy to update if a new version of Qooxdoo comes out. Things prevent it from being 100% perfect:

1) At that time TypeScript didn’t support protected, so mapped that to public members
2) Also no support at that time for Union Types in TypeScript, so used <any> instead
3) No  support for mixing, used interfaces instead
4) Mistakes in the Qooxdoo documentation or  some OO violations.

— Peter

> On 30 Oct 2014, at 08:43, John Spackman <[hidden email]> wrote:
>
> Hi Peter
>
> How does that work with the generator?  Do you compile all Qooxdoo JS into one file for the Typescript compiler to read and optimise (and for the IDE to do the code completion?)
>
> John
>
>> On 29 Oct 2014, at 20:23, JBaron <[hidden email]> wrote:
>>
>> To be even more correct, much of the real heavy lifting is done by the TypeScript language services in the background (analysing the source code etc).
>>
>> That being said, Qooxdoo really has been a pleasure to work with in combination with TypeScript. Really feels like developing a traditional desktop app in Java or C#.  Qooxdoo can be a complex/large API, but with TypeScript and the availability of things like code-completion it became much easier to be productive. So really impressed by Qooxdoo and how easy it is to create a great UI’s
>>
>> Already long time on my agenda to share my experience, so will write up some stuff when I have some spare time.
>>
>> — Peter
>>
>
>
>
> ------------------------------------------------------------------------------
> _______________________________________________
> qooxdoo-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel


------------------------------------------------------------------------------
_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel


------------------------------------------------------------------------------

_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
Reply | Threaded
Open this post in threaded view
|

Re: Qooxdoo, TypeScript, RequireJS and Visual Studio

Tom Saddul
In reply to this post by Peter Dekkers

The qx-typed alone has me started in just one day I was able to create the sample application and it is also my first time to write a program in TypeScript although I've been using C# ASP.NET for many of my web projects.

One thing that is missing in the qx-typed is the qx.io which is needed to communicate with the web server where I have to use jQuery instead.  Would be nice if qx.io is also there.

Thank you for this great effort.  I really like QooxDoo because it coding is similar to C# but it's port to TypeScript is what I have been waiting for long.
Reply | Threaded
Open this post in threaded view
|

Re: Qooxdoo, TypeScript, RequireJS and Visual Studio

Tom Saddul
In reply to this post by John Spackman-3

So far there are no issues with me.  I have now progressed to integrate it with ASP.NET MVC 5 (Web Api 2).  At this stage, I can say that I am already using it for my current project.
Reply | Threaded
Open this post in threaded view
|

Re: Qooxdoo, TypeScript, RequireJS and Visual Studio

Tom Saddul
This post was updated on .
In reply to this post by Peter Dekkers
Just updated my qooxdoo.d.ts and qooxdoo.js from CATS (https://github.com/jbaron/cats) and found out that qx.io is already included.  Now there should be no need for jQuery anymore.

Thanks a lot!
Reply | Threaded
Open this post in threaded view
|

Re: Qooxdoo, TypeScript, RequireJS and Visual Studio

Robert Jaros
Dnia 2014-10-31, pią o godzinie 09:30 -0700, Tom Saddul pisze:
> Just updated my qooxdoo.d.ts and qooxdoo.js from the CATS and found out that
> *qx.io* is already included.  Now there should be no need for jQuery
> anymore.

I don't see "qx.io" in qooxdoo.js from CATS. There are only definitions
in qooxdoo.d.ts. Could you please confirm that?

Thank you.
--
Robert Jaros <[hidden email]>


------------------------------------------------------------------------------
_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
Reply | Threaded
Open this post in threaded view
|

Re: Qooxdoo, TypeScript, RequireJS and Visual Studio

Peter Dekkers
If you get the qooxdoo.js from qx-typed it should now have the qx.io classes included (didn’t test if they actually work, for now just included them). The one in CATS doesn’t yet since I don't use these classes yet.


> On 02 Nov 2014, at 18:34, Robert Jaros <[hidden email]> wrote:
>
> Dnia 2014-10-31, pią o godzinie 09:30 -0700, Tom Saddul pisze:
>> Just updated my qooxdoo.d.ts and qooxdoo.js from the CATS and found out that
>> *qx.io* is already included.  Now there should be no need for jQuery
>> anymore.
>
> I don't see "qx.io" in qooxdoo.js from CATS. There are only definitions
> in qooxdoo.d.ts. Could you please confirm that?
>
> Thank you.
> --
> Robert Jaros <[hidden email]>
>
>
> ------------------------------------------------------------------------------
> _______________________________________________
> qooxdoo-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel


------------------------------------------------------------------------------
_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
Reply | Threaded
Open this post in threaded view
|

Re: Qooxdoo, TypeScript, RequireJS and Visual Studio

Tom Saddul
In reply to this post by Robert Jaros
The qooxdoo.js I extracted from CATS (even before Peter updated qx-typed) contains qx.io. I can confirm that it is functioning.