qooXdoo without any external tools or build helper

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

qooXdoo without any external tools or build helper

Jean-Baptiste BRIAUD - Novlog
Hi qooXdoo guru,

New to qooXdoo, I'd like to start my first test in a particular context : without using Phyton.
I started with HelloWorld example and I noticed I'll have to :

* create-application.py
and then to
* generate.py source

Unfortunatly, I'd like not to use that kind of script nor IDE's plugin but by doing javascript file by hand.
Basically I was thinking of including qooXdoo javascript files plus mine and run it in my own special environement.

Is it possible ?
If yes, is it possible without too much "bad hacks I will pay later" ?

I understand that scripts are here to help developpers, and I do think it helps.
The problem here is not qooXdoo but me : I'm in a special context where I only want the runtime power of qooXdoo, but not the build-time tools.

In fact, I supposed the Phyton dependancy is a build-time dependancy. Am I right or is there also a runtime dependancy to Phyton ?

I also read (http://qooxdoo.org/documentation/0.7/configuring_custom_resources) about building it's own optimized packaging of qooXdoo.
This is using make, ant or other external tools (I didn't fully understand all the details on that page).

Can I assume it is just a way to package qooXdoo and then I will not have to do that for every business application (not internet site) in a very standardized context (all applications will have the same set of icons, using the same technical libs, ...) ?


Thanks !

JBB.

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
Reply | Threaded
Open this post in threaded view
|

Re: qooXdoo without any external tools or build helper

Petr Kobalíček
Hi Jean-Baptiste,

First, Phyton -> Python :-)

I'm using qooxdoo in similar way like you. I'm not using special
environment, but my application uses compiled qooxdoo 0.8 + included
my files (maybe 10 js files).

This can't be done now by generator itself, but with some hacks it's
possible to configure loader script to do everything by your way! :)

But, you need python and generator to generate your package.

I'm planning to release some informations about this way of using
qooxdoo, but for everyone I recommend qooxdoo build tools.

Cheers
- Petr

2008/9/4 Jean-Baptiste BRIAUD - Novlog <[hidden email]>:

> Hi qooXdoo guru,
> New to qooXdoo, I'd like to start my first test in a particular context :
> without using Phyton.
> I started with HelloWorld example and I noticed I'll have to :
> * create-application.py
> and then to
> * generate.py source
> Unfortunatly, I'd like not to use that kind of script nor IDE's plugin but
> by doing javascript file by hand.
> Basically I was thinking of including qooXdoo javascript files plus mine and
> run it in my own special environement.
> Is it possible ?
> If yes, is it possible without too much "bad hacks I will pay later" ?
> I understand that scripts are here to help developpers, and I do think it
> helps.
> The problem here is not qooXdoo but me : I'm in a special context where I
> only want the runtime power of qooXdoo, but not the build-time tools.
> In fact, I supposed the Phyton dependancy is a build-time dependancy. Am I
> right or is there also a runtime dependancy to Phyton ?
> I also read
> (http://qooxdoo.org/documentation/0.7/configuring_custom_resources) about
> building it's own optimized packaging of qooXdoo.
> This is using make, ant or other external tools (I didn't fully understand
> all the details on that page).
> Can I assume it is just a way to package qooXdoo and then I will not have to
> do that for every business application (not internet site) in a very
> standardized context (all applications will have the same set of icons,
> using the same technical libs, ...) ?
>
> Thanks !
> JBB.
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> Build the coolest Linux based applications with Moblin SDK & win great
> prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> qooxdoo-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>
>

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
Reply | Threaded
Open this post in threaded view
|

Re: qooXdoo without any external tools or build helper

Jean-Baptiste BRIAUD - Novlog
See in the text :

On 4 Sep 2008, at 14:53, Petr Kobalíček wrote:

> Hi Jean-Baptiste,
>
> First, Phyton -> Python :-)
>
That may clarify I don't want it :-)
Thanks for the correction.

> I'm using qooxdoo in similar way like you. I'm not using special
> environment, but my application uses compiled qooxdoo 0.8 + included
> my files (maybe 10 js files).

I said "special" but there nothing so special in fact, I already have  
a complex build system for the entire application and I don't want to  
change that for the presentation layer.
In fact, this is so important for the global company stuff that this  
could be a rejection factor for qooxdoo so I'm really happy to learn  
it is possible to "just" include qooxdoo.
Now, the real question is as what cost ?

Will it be hard to uypgrade to next version later on for example ?

>
>
> This can't be done now by generator itself, but with some hacks it's
> possible to configure loader script to do everything by your way! :)
>
In other words, I still don't understand how far we are from a "normal  
use" of qooxdoo we are when we are not using the build tools.

> But, you need python and generator to generate your package.
I can't figure out what is generated, what is that generator ...
Until now, I've seen qooxdoo as a presentation layer framework that  
also contain a widget library.
Is there some link / doc / explanation I could read about that ?
>
>
> I'm planning to release some informations about this way of using
> qooxdoo, but for everyone I recommend qooxdoo build tools.
>
I do agree that build tool in general case really simplify things.

> Cheers
> - Petr
>
Thanks !

> 2008/9/4 Jean-Baptiste BRIAUD - Novlog <[hidden email]>:
>> Hi qooXdoo guru,
>> New to qooXdoo, I'd like to start my first test in a particular  
>> context :
>> without using Phyton.
>> I started with HelloWorld example and I noticed I'll have to :
>> * create-application.py
>> and then to
>> * generate.py source
>> Unfortunatly, I'd like not to use that kind of script nor IDE's  
>> plugin but
>> by doing javascript file by hand.
>> Basically I was thinking of including qooXdoo javascript files plus  
>> mine and
>> run it in my own special environement.
>> Is it possible ?
>> If yes, is it possible without too much "bad hacks I will pay  
>> later" ?
>> I understand that scripts are here to help developpers, and I do  
>> think it
>> helps.
>> The problem here is not qooXdoo but me : I'm in a special context  
>> where I
>> only want the runtime power of qooXdoo, but not the build-time tools.
>> In fact, I supposed the Phyton dependancy is a build-time  
>> dependancy. Am I
>> right or is there also a runtime dependancy to Phyton ?
>> I also read
>> (http://qooxdoo.org/documentation/0.7/configuring_custom_resources)  
>> about
>> building it's own optimized packaging of qooXdoo.
>> This is using make, ant or other external tools (I didn't fully  
>> understand
>> all the details on that page).
>> Can I assume it is just a way to package qooXdoo and then I will  
>> not have to
>> do that for every business application (not internet site) in a very
>> standardized context (all applications will have the same set of  
>> icons,
>> using the same technical libs, ...) ?
>>
>> Thanks !
>> JBB.
>> -------------------------------------------------------------------------
>> This SF.Net email is sponsored by the Moblin Your Move Developer's  
>> challenge
>> Build the coolest Linux based applications with Moblin SDK & win  
>> great
>> prizes
>> Grand prize is a trip for two to an Open Source event anywhere in  
>> the world
>> http://moblin-contest.org/redirect.php?banner_id=100&url=/
>> _______________________________________________
>> qooxdoo-devel mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>>
>>
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's  
> challenge
> Build the coolest Linux based applications with Moblin SDK & win  
> great prizes
> Grand prize is a trip for two to an Open Source event anywhere in  
> the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> qooxdoo-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
Reply | Threaded
Open this post in threaded view
|

Re: qooXdoo without any external tools or build helper

thron7
In reply to this post by Jean-Baptiste BRIAUD - Novlog
Jean-Baptiste BRIAUD - Novlog wrote:

> Hi qooXdoo guru,
>
> New to qooXdoo, I'd like to start my first test in a particular
> context : without using Phyton.
> I started with HelloWorld example and I noticed I'll have to :
>
> * create-application.py
> and then to
> * generate.py source
>
> Unfortunatly, I'd like not to use that kind of script nor IDE's plugin
> but by doing javascript file by hand.
> Basically I was thinking of including qooXdoo javascript files plus
> mine and run it in my own special environement.
>
> Is it possible ?
> If yes, is it possible without too much "bad hacks I will pay later" ?

Before 0.8, we had a library-style download package called "quickstart"
that provided what you ask for. But this package was discontinued with
0.8 (it is still in the 0.7.x line of qooxdoo). There were several
reasons for doing this, one being that the contained qooxdoo library
which encompassed all framework classes was rather big.

>
> I understand that scripts are here to help developpers, and I do think
> it helps.
> The problem here is not qooXdoo but me : I'm in a special context
> where I only want the runtime power of qooXdoo, but not the build-time
> tools.
>
> In fact, I supposed the Phyton dependancy is a build-time dependancy.
> Am I right or is there also a runtime dependancy to Phyton ?

No, it's purely build-time. All of a final qooxdoo application is in
JavaScript, so no Python dependency here.

>
> I also read
> (http://qooxdoo.org/documentation/0.7/configuring_custom_resources)
> about building it's own optimized packaging of qooXdoo.
> This is using make, ant or other external tools (I didn't fully
> understand all the details on that page).

This was for the older 0.7 line of qooxdoo, but has changed
significantly with 0.8. The 'make' and other tool dependencies are gone,
Python is the only remaining. The general purpose of the system remains,
though. The packaging includes qooxdoo framework classes, but also your
application classes, resources like icons and so on. I suggest looking
at the 0.8 branch of qooxdooo, e.g. by reading
http://qooxdoo.org/documentation/0.8/generator and linked pages.

>
> Can I assume it is just a way to package qooXdoo and then I will not
> have to do that for every business application (not internet site) in
> a very standardized context (all applications will have the same set
> of icons, using the same technical libs, ...) ?

Well, yes, the build system is some sort of packaging and optimization
system for JavaScript. But I'm not sure you can easily get away with
creating one library and then use it across multiple applications.

Let me explain. For one thing, yes, you can use the build system to
create somewhat generic library-style collections of qooxdoo classes,
and there are a few rough examples to show how to achieve that. But this
way you miss out on a lot of application-specific optimizations done by
the build system, and you may have to deal with unnecessary big
Javascript packages. If you accept all that, there is still some
architectural issue involved: qooxdoo works a lot like other application
frameworks in that it sets up a whole application infrastructure during
run time. The actual custom classes you write and that make up your
application act somewhat like components that get automatically plugged
in to the greater framework machinery during application start. I'm not
sure how well you can abstract away from that across multiple
applications, but maybe other can fill in here.

Thomas


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
Reply | Threaded
Open this post in threaded view
|

Re: qooXdoo without any external tools or build helper

Petr Kobalíček
In reply to this post by Jean-Baptiste BRIAUD - Novlog
Hi Jean,

I try to answer your questions, I'm not experienced in qooxdoo as
others, but my experiences improving day by day :-) Also sorry for my
English:)

The generator (I call it) is qooxdoo build system that builds optimal
sized single (in version 0.8 there are two scripts) javascript file
that contain your application. Note that this is not usual step in
other frameworks.

But generator is not only javascript minifier, it also adds some
support for resources and static content of library (and more
libraries you can use).

So, if you need qooxdoo like me (compiled qooxdoo), it's needed some
hacks that's not directly supported by generator (qooxdoo build
process).

I'm using these steps to build my version of qooxdoo
1. create configuration file of your application to include everything you want.
2. add optional build steps
3. build
4. replace some things in builded scripts (I want this to be improved
in generator itself)

the fourth step is the hack I'm talking about.

This is my config file that's used to build qooxdoo:

{
  "name"    : "bfly",

  "include" :
  [
    {
      "path" : "../../qooxdoo-svn/tool/data/config/application.json"
    }
  ],

  "let" :
  {
    "APPLICATION"       : "bfly",
    "QOOXDOO_PATH"      : "../../qooxdoo-svn/framework",
    "HTMLAREA_PATH"     : "../../htmlarea",
    "UPLOADWIDGET_PATH" : "../../uploadwidget",
    "QOOXDOO_URI"       : "/res/bfly/qx-0.8",
    "RESPATH"           : "/res/bfly/qx-0.8",
    "QXTHEME"           : "qx.theme.Modern",
    "QXVERSION"         : "0.8",
    "LOCALES"           : [ "en" ],
    "ROOT"              : ".",
    "BUILD_PATH"        : "/build",
    "CACHE"             : "cache"
  },

  "jobs":
  {
    "common" :
    {
      "library" :
      [
        {
          "manifest" : "${QOOXDOO_PATH}/Manifest.json",
          "uri"      : "${QOOXDOO_URI}"
        },

        {
          "manifest" : "${HTMLAREA_PATH}/Manifest.json",
          "uri"      : "${QOOXDOO_URI}"
        },

        {
          "manifest" : "${UPLOADWIDGET_PATH}/Manifest.json",
          "uri"      : "${QOOXDOO_URI}"
        },

        {
          "manifest" : "./Manifest.json",
          "uri"      : "${QOOXDOO_URI}"
        }
      ],

      "include" :
      [
        "qx.*",
        "htmlarea.*",
        "uploadwidget.*",
        "${QXTHEME}"
      ],

      "exclude" :
      [
        "qx.legacy.*",
        "qx.test.*",
        "htmlarea.Application",
        // List of classes that will be never used by any module!
        "qx.ui.treevirtual.*",
        "qx.ui.progressive.*"
      ],

      "cache" :
      {
        "compile" :  "${CACHE}"
      },

      "settings" :
      {
        "qx.version"     : "${QXVERSION}"
        //"qx.theme"       : "${QXTHEME}",
        //"qx.resourceUri" : "/res/bfly/qx-0.8/resource"
        //"qx.application" : "${APPLICATION}.Application"
      }
    },

    "compile-qx-debug" :
    {
      "extend" : ["common"],

      "compile-dist" :
      {
        "file"       : "build/script/qx-debug.js",
        "root"       : "${ROOT}",
        "uri"        : "${QOOXDOO_URI}"
      }
    },

    "compile-qx-build" :
    {
      "extend" : ["common"],

      "variants" :
      {
        "qx.debug"   : ["off"],
        "qx.aspects" : ["off"]
      },

      "compile-dist" :
      {
        "file"       : "build/script/qx-build.js",
        "root"       : "${ROOT}",
        "uri"        : "${QOOXDOO_URI}",
        "optimize"   : [ "variables", "basecalls", "strings" ]
      }
    },

    "compile-qx-resources" :
    {
      "extend" : ["common"],

      "copy-resources" :
      {
        "target"          : "${BUILD_PATH}",
        "resource-filter" : true
      }
    },

    "compile-qx" :
    {
      "run" :
      [
        "compile-qx-resources",
        "compile-qx-debug",
        "compile-qx-build"
      ]
    }
  }
}

then I simply call "generate.py compile-qx" from command line and the
generator will build some javascript files and creates copy of qooxdoo
resources (minimal storage needed)

it creates this file structure:
build
- resource (qooxdoo resources)
- script
  - qx-build.js
  - qx-build-0.js
  - qx-debug.js
  - qx-debug-0.js

Then I have small python script in this directory to correct
qx-build.js and qx-debug.js (these scripts are loaders, they loads
qx-build-0.js or qx-debug-0.js for you)

The source of my script is (correctit.py) :

fileNames = ["qx-build.js", "qx-debug.js"]

for fileName in fileNames:
  print "Processing: " + fileName

  # Read the file
  fileHandle = open(fileName, "rb")
  fileData = fileHandle.read()
  fileHandle.close()

  # Modify
  fileData = fileData.replace('"./build/resource"',
'"/res/bfly/qx-0.8/resource"')
  fileData = fileData.replace('[["/res/bfly/qx-0.8"]]', '[qxscripts]')

  # Save
  fileHandle = open(fileName, "wb")
  fileHandle.truncate()
  fileHandle.write(fileData)
  fileHandle.close()

This script is used to replace resources path (This step should be
able to do in config.json, but I don't know) and replaces scripts to
load that's important for me.

This is all :-)

In html template, I'm using this way to include scripts I Need (this
is mako template, ## are comments):

c.mode is mode (debug or build)
c.theme is theme
c.scripts are scripts to load by qooxdoo bootstrap script

##
## [DOCTYPE and HTML]
##
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
##
## [Head]
##
<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>bfly - administrace</title>

##
## [Configuration]
##
<script type="text/javascript">
  qxsettings =
  {
    "qx.application" : "bfly.admin.Application",
    "qx.theme" : "${c.theme}"
  };

  qxscripts =
  [
    "/res/bfly/qx-0.8/script/qx-${c.mode}-0.js"
% for script in c.scripts:
    ,"${script}"
% endfor
  ];
</script>

##
## [Bootstrap]
##
<script type="text/javascript"
src="/res/bfly/qx-0.8/script/qx-${c.mode}.js"></script>

</head>
<body></body>
</html>

I don't know if this will help you, but for me it's solution that
allows to write applications by my way. If you want do know more,
contact me, no problem:)

Cheers
- Petr

> 2008/9/4 Jean-Baptiste BRIAUD - Novlog <[hidden email]>:
> See in the text :
>
> On 4 Sep 2008, at 14:53, Petr Kobalíček wrote:
>
>> Hi Jean-Baptiste,
>>
>> First, Phyton -> Python :-)
>>
> That may clarify I don't want it :-)
> Thanks for the correction.
>
>> I'm using qooxdoo in similar way like you. I'm not using special
>> environment, but my application uses compiled qooxdoo 0.8 + included
>> my files (maybe 10 js files).
>
> I said "special" but there nothing so special in fact, I already have
> a complex build system for the entire application and I don't want to
> change that for the presentation layer.
> In fact, this is so important for the global company stuff that this
> could be a rejection factor for qooxdoo so I'm really happy to learn
> it is possible to "just" include qooxdoo.
> Now, the real question is as what cost ?
>
> Will it be hard to uypgrade to next version later on for example ?
>
>>
>>
>> This can't be done now by generator itself, but with some hacks it's
>> possible to configure loader script to do everything by your way! :)
>>
> In other words, I still don't understand how far we are from a "normal
> use" of qooxdoo we are when we are not using the build tools.
>
>> But, you need python and generator to generate your package.
> I can't figure out what is generated, what is that generator ...
> Until now, I've seen qooxdoo as a presentation layer framework that
> also contain a widget library.
> Is there some link / doc / explanation I could read about that ?
>>
>>
>> I'm planning to release some informations about this way of using
>> qooxdoo, but for everyone I recommend qooxdoo build tools.
>>
> I do agree that build tool in general case really simplify things.
>
>> Cheers
>> - Petr
>>
> Thanks !
>
>> 2008/9/4 Jean-Baptiste BRIAUD - Novlog <[hidden email]>:
>>> Hi qooXdoo guru,
>>> New to qooXdoo, I'd like to start my first test in a particular
>>> context :
>>> without using Phyton.
>>> I started with HelloWorld example and I noticed I'll have to :
>>> * create-application.py
>>> and then to
>>> * generate.py source
>>> Unfortunatly, I'd like not to use that kind of script nor IDE's
>>> plugin but
>>> by doing javascript file by hand.
>>> Basically I was thinking of including qooXdoo javascript files plus
>>> mine and
>>> run it in my own special environement.
>>> Is it possible ?
>>> If yes, is it possible without too much "bad hacks I will pay
>>> later" ?
>>> I understand that scripts are here to help developpers, and I do
>>> think it
>>> helps.
>>> The problem here is not qooXdoo but me : I'm in a special context
>>> where I
>>> only want the runtime power of qooXdoo, but not the build-time tools.
>>> In fact, I supposed the Phyton dependancy is a build-time
>>> dependancy. Am I
>>> right or is there also a runtime dependancy to Phyton ?
>>> I also read
>>> (http://qooxdoo.org/documentation/0.7/configuring_custom_resources)
>>> about
>>> building it's own optimized packaging of qooXdoo.
>>> This is using make, ant or other external tools (I didn't fully
>>> understand
>>> all the details on that page).
>>> Can I assume it is just a way to package qooXdoo and then I will
>>> not have to
>>> do that for every business application (not internet site) in a very
>>> standardized context (all applications will have the same set of
>>> icons,
>>> using the same technical libs, ...) ?
>>>
>>> Thanks !
>>> JBB.
>>> -------------------------------------------------------------------------
>>> This SF.Net email is sponsored by the Moblin Your Move Developer's
>>> challenge
>>> Build the coolest Linux based applications with Moblin SDK & win
>>> great
>>> prizes
>>> Grand prize is a trip for two to an Open Source event anywhere in
>>> the world
>>> http://moblin-contest.org/redirect.php?banner_id=100&url=/
>>> _______________________________________________
>>> qooxdoo-devel mailing list
>>> [hidden email]
>>> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>>>
>>>
>>
>> -------------------------------------------------------------------------
>> This SF.Net email is sponsored by the Moblin Your Move Developer's
>> challenge
>> Build the coolest Linux based applications with Moblin SDK & win
>> great prizes
>> Grand prize is a trip for two to an Open Source event anywhere in
>> the world
>> http://moblin-contest.org/redirect.php?banner_id=100&url=/
>> _______________________________________________
>> qooxdoo-devel mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>>
>
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> Build the coolest Linux based applications with Moblin SDK & win great prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> qooxdoo-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
Reply | Threaded
Open this post in threaded view
|

Re: qooXdoo without any external tools or build helper

thron7
In reply to this post by Jean-Baptiste BRIAUD - Novlog

>> I'm using qooxdoo in similar way like you. I'm not using special
>> environment, but my application uses compiled qooxdoo 0.8 + included
>> my files (maybe 10 js files).
>>    
>
> I said "special" but there nothing so special in fact, I already have  
> a complex build system for the entire application and I don't want to  
> change that for the presentation layer.
>  

You don't have to. Just incorporate qooxdoo's build system in your
existing one. Whatever you use, most generic build systems allow to run
external commands. You could use this to call out to qooxdoo's generator.

> In fact, this is so important for the global company stuff that this  
> could be a rejection factor for qooxdoo so I'm really happy to learn  
> it is possible to "just" include qooxdoo.
> Now, the real question is as what cost ?
>  

I think the possible costs you incur are download (bandwidth) and
in-memory size and startup latency, all of which also add to the
time/performance of your final app.

> Will it be hard to uypgrade to next version later on for example ?
>  

No, I think you will have the same migration efforts like all other
applications built in the "traditional" qooxdoo way.

>> This can't be done now by generator itself, but with some hacks it's
>> possible to configure loader script to do everything by your way! :)
>>
>>    
> In other words, I still don't understand how far we are from a "normal  
> use" of qooxdoo we are when we are not using the build tools.
>  

What you call "normal use" is probably not so normal for qooxdoo... ;-).
I think I have to delegate this questions to other members of the
community who have more experience with your type of approach.

>> But, you need python and generator to generate your package.
>>    
> I can't figure out what is generated, what is that generator ...
>  

I hope the links I sent in my other mail will answer these questions. In
short, the result of a "generation" in the qooxdoo sense is a complete
(.js) application including your application code, framework classes,
icons, and other resources. Particularly, the generated .js code will
embody or link to various elements of the application, using generated
URIs referencing copied or generated files. So there is a lot happening
both in the .js code as well as on the file system level. qooxdoo
supports essentially two versions of your application, a 'source'
version which is easy to develop and debug, and a 'build' version which
is optimized for deployment. When doing the 'build' version the
generation process can do a lot of optimization, stripping unused code,
converting identifiers, and so on. Once the main .js file is loaded, a
qooxdoo-specific loader/bootstrap process kicks in to initialize and
actually run the application. The "generator" is the general term that
refers to our main program that controls all this. Currently, it is
actually located at tool/bin/generator.py.

> Until now, I've seen qooxdoo as a presentation layer framework that  
> also contain a widget library.
> Is there some link / doc / explanation I could read about that ?
>  

See my other mail.

Thomas

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
Reply | Threaded
Open this post in threaded view
|

Re: qooXdoo without any external tools or build helper

Jean-Baptiste BRIAUD - Novlog
In reply to this post by thron7
So, is there any hope to find a separate lib file for 0.8 ?
In fact, like most framework, it's always too big, so there are often several version : a big dev version and an optimized version.
A super optimized version would need to browse the application use of the lib so the packaged lib only embeded needed (used) elements and this is probably the purpose of that Python machinery.

Unfortunatly, what is built-time for "classical" usage is runtime for us.
I won't be able to give details but consider our product as a generator.

So, I really have to cut that Python build machinery even if this is the way to get the most optimized packaging of qooXdoo.

Will it be possible to get a qooXdoo lib in dev (not compressed) and prod (compress, optimized, no debug, ...) flavors ?

The "custom" solution explained by Petr will not be a solution for us as we'll have to do it at runtime.


What do you think about that ?

Thanks.

On 4 Sep 2008, at 15:29, thron7 wrote:

Jean-Baptiste BRIAUD - Novlog wrote:
Hi qooXdoo guru,

New to qooXdoo, I'd like to start my first test in a particular
context : without using Phyton.
I started with HelloWorld example and I noticed I'll have to :

* create-application.py
and then to
* generate.py source

Unfortunatly, I'd like not to use that kind of script nor IDE's plugin
but by doing javascript file by hand.
Basically I was thinking of including qooXdoo javascript files plus
mine and run it in my own special environement.

Is it possible ?
If yes, is it possible without too much "bad hacks I will pay later" ?

Before 0.8, we had a library-style download package called "quickstart"
that provided what you ask for. But this package was discontinued with
0.8 (it is still in the 0.7.x line of qooxdoo). There were several
reasons for doing this, one being that the contained qooxdoo library
which encompassed all framework classes was rather big.


I understand that scripts are here to help developpers, and I do think
it helps.
The problem here is not qooXdoo but me : I'm in a special context
where I only want the runtime power of qooXdoo, but not the build-time
tools.

In fact, I supposed the Phyton dependancy is a build-time dependancy.
Am I right or is there also a runtime dependancy to Phyton ?

No, it's purely build-time. All of a final qooxdoo application is in
JavaScript, so no Python dependency here.


I also read
(http://qooxdoo.org/documentation/0.7/configuring_custom_resources)
about building it's own optimized packaging of qooXdoo.
This is using make, ant or other external tools (I didn't fully
understand all the details on that page).

This was for the older 0.7 line of qooxdoo, but has changed
significantly with 0.8. The 'make' and other tool dependencies are gone,
Python is the only remaining. The general purpose of the system remains,
though. The packaging includes qooxdoo framework classes, but also your
application classes, resources like icons and so on. I suggest looking
at the 0.8 branch of qooxdooo, e.g. by reading
http://qooxdoo.org/documentation/0.8/generator and linked pages.


Can I assume it is just a way to package qooXdoo and then I will not
have to do that for every business application (not internet site) in
a very standardized context (all applications will have the same set
of icons, using the same technical libs, ...) ?

Well, yes, the build system is some sort of packaging and optimization
system for JavaScript. But I'm not sure you can easily get away with
creating one library and then use it across multiple applications.

Let me explain. For one thing, yes, you can use the build system to
create somewhat generic library-style collections of qooxdoo classes,
and there are a few rough examples to show how to achieve that. But this
way you miss out on a lot of application-specific optimizations done by
the build system, and you may have to deal with unnecessary big
Javascript packages. If you accept all that, there is still some
architectural issue involved: qooxdoo works a lot like other application
frameworks in that it sets up a whole application infrastructure during
run time. The actual custom classes you write and that make up your
application act somewhat like components that get automatically plugged
in to the greater framework machinery during application start. I'm not
sure how well you can abstract away from that across multiple
applications, but maybe other can fill in here.

Thomas


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel



-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
Reply | Threaded
Open this post in threaded view
|

Re: qooXdoo without any external tools or build helper

Sebastian Werner

Am 04.09.2008 um 17:47 schrieb Jean-Baptiste BRIAUD - Novlog:

So, is there any hope to find a separate lib file for 0.8 ?
In fact, like most framework, it's always too big, so there are often several version : a big dev version and an optimized version.
A super optimized version would need to browse the application use of the lib so the packaged lib only embeded needed (used) elements and this is probably the purpose of that Python machinery.

Unfortunatly, what is built-time for "classical" usage is runtime for us.
I won't be able to give details but consider our product as a generator.

So, I really have to cut that Python build machinery even if this is the way to get the most optimized packaging of qooXdoo.

Will it be possible to get a qooXdoo lib in dev (not compressed) and prod (compress, optimized, no debug, ...) flavors ?

The thing you might overlook is that qooxdoo comes with ~400 classes. Which of the classes you would bundle in such a package? We do not talk about the optimizations we apply, we talk about the classes we want to bundle. Using the generator you can just bundle the classes of qooxdoo your application uses. This may result into a list of only 200 of the available classes. Who know. qooxdoo is not jquery were you have one module which fits all (ok, ignoring the plugins you must handle yourself).

Sebastian



The "custom" solution explained by Petr will not be a solution for us as we'll have to do it at runtime.


What do you think about that ?

Thanks.

On 4 Sep 2008, at 15:29, thron7 wrote:

Jean-Baptiste BRIAUD - Novlog wrote:
Hi qooXdoo guru,

New to qooXdoo, I'd like to start my first test in a particular
context : without using Phyton.
I started with HelloWorld example and I noticed I'll have to :

* create-application.py
and then to
* generate.py source

Unfortunatly, I'd like not to use that kind of script nor IDE's plugin
but by doing javascript file by hand.
Basically I was thinking of including qooXdoo javascript files plus
mine and run it in my own special environement.

Is it possible ?
If yes, is it possible without too much "bad hacks I will pay later" ?

Before 0.8, we had a library-style download package called "quickstart"
that provided what you ask for. But this package was discontinued with
0.8 (it is still in the 0.7.x line of qooxdoo). There were several
reasons for doing this, one being that the contained qooxdoo library
which encompassed all framework classes was rather big.


I understand that scripts are here to help developpers, and I do think
it helps.
The problem here is not qooXdoo but me : I'm in a special context
where I only want the runtime power of qooXdoo, but not the build-time
tools.

In fact, I supposed the Phyton dependancy is a build-time dependancy.
Am I right or is there also a runtime dependancy to Phyton ?

No, it's purely build-time. All of a final qooxdoo application is in
JavaScript, so no Python dependency here.


I also read
(http://qooxdoo.org/documentation/0.7/configuring_custom_resources)
about building it's own optimized packaging of qooXdoo.
This is using make, ant or other external tools (I didn't fully
understand all the details on that page).

This was for the older 0.7 line of qooxdoo, but has changed
significantly with 0.8. The 'make' and other tool dependencies are gone,
Python is the only remaining. The general purpose of the system remains,
though. The packaging includes qooxdoo framework classes, but also your
application classes, resources like icons and so on. I suggest looking
at the 0.8 branch of qooxdooo, e.g. by reading
http://qooxdoo.org/documentation/0.8/generator and linked pages.


Can I assume it is just a way to package qooXdoo and then I will not
have to do that for every business application (not internet site) in
a very standardized context (all applications will have the same set
of icons, using the same technical libs, ...) ?

Well, yes, the build system is some sort of packaging and optimization
system for JavaScript. But I'm not sure you can easily get away with
creating one library and then use it across multiple applications.

Let me explain. For one thing, yes, you can use the build system to
create somewhat generic library-style collections of qooxdoo classes,
and there are a few rough examples to show how to achieve that. But this
way you miss out on a lot of application-specific optimizations done by
the build system, and you may have to deal with unnecessary big
Javascript packages. If you accept all that, there is still some
architectural issue involved: qooxdoo works a lot like other application
frameworks in that it sets up a whole application infrastructure during
run time. The actual custom classes you write and that make up your
application act somewhat like components that get automatically plugged
in to the greater framework machinery during application start. I'm not
sure how well you can abstract away from that across multiple
applications, but maybe other can fill in here.

Thomas


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
Reply | Threaded
Open this post in threaded view
|

Re: qooXdoo without any external tools or build helper

Jean-Baptiste BRIAUD - Novlog
On 4 Sep 2008, at 18:28, Sebastian Werner wrote:

>
> Am 04.09.2008 um 17:47 schrieb Jean-Baptiste BRIAUD - Novlog:
>
>> So, is there any hope to find a separate lib file for 0.8 ?
>> In fact, like most framework, it's always too big, so there are  
>> often several version : a big dev version and an optimized version.
>> A super optimized version would need to browse the application use  
>> of the lib so the packaged lib only embeded needed (used) elements  
>> and this is probably the purpose of that Python machinery.
>>
>> Unfortunatly, what is built-time for "classical" usage is runtime  
>> for us.
>> I won't be able to give details but consider our product as a  
>> generator.
>>
>> So, I really have to cut that Python build machinery even if this  
>> is the way to get the most optimized packaging of qooXdoo.
>>
>> Will it be possible to get a qooXdoo lib in dev (not compressed)  
>> and prod (compress, optimized, no debug, ...) flavors ?
>
> The thing you might overlook is that qooxdoo comes with ~400  
> classes. Which of the classes you would bundle in such a package? We  
> do not talk about the optimizations we apply, we talk about the  
> classes we want to bundle. Using the generator you can just bundle  
> the classes of qooxdoo your application uses. This may result into a  
> list of only 200 of the available classes. Who know. qooxdoo is not  
> jquery were you have one module which fits all (ok, ignoring the  
> plugins you must handle yourself).
>
> Sebastian
>

I understand.
I'm talking about all qooXdoo classes (yes, the 400) since as a  
generator myself I can't predict what my users will do.
And I don't want to launch the Python and qooXdoo generator at each of  
my users demand I already have code for that and I can't change it.

On the other hand, how hudge are we talking about ? 50Ko, 100Ko, 1Mo ?
I don't care if the lib is more than 100Ko as our product if for heavy  
business application.

The question remain open for me :
>> So, is there any hope to find a separate lib file for 0.8 ?


[CUT]

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
Reply | Threaded
Open this post in threaded view
|

Re: qooXdoo without any external tools or build helper

Petr Kobalíček
My version of complete qooxdoo is 1.1MB (with debug) and 0.9MB without debug.

The qooxdoo is build with htmlarea and uploadwidget and without all
legacy classes, progressive and treevirtual.

I think that complete qooxdoo is in most cases about 1MB.

Cheers
- Petr

2008/9/4 Jean-Baptiste BRIAUD - Novlog <[hidden email]>:

> On 4 Sep 2008, at 18:28, Sebastian Werner wrote:
>
>>
>> Am 04.09.2008 um 17:47 schrieb Jean-Baptiste BRIAUD - Novlog:
>>
>>> So, is there any hope to find a separate lib file for 0.8 ?
>>> In fact, like most framework, it's always too big, so there are
>>> often several version : a big dev version and an optimized version.
>>> A super optimized version would need to browse the application use
>>> of the lib so the packaged lib only embeded needed (used) elements
>>> and this is probably the purpose of that Python machinery.
>>>
>>> Unfortunatly, what is built-time for "classical" usage is runtime
>>> for us.
>>> I won't be able to give details but consider our product as a
>>> generator.
>>>
>>> So, I really have to cut that Python build machinery even if this
>>> is the way to get the most optimized packaging of qooXdoo.
>>>
>>> Will it be possible to get a qooXdoo lib in dev (not compressed)
>>> and prod (compress, optimized, no debug, ...) flavors ?
>>
>> The thing you might overlook is that qooxdoo comes with ~400
>> classes. Which of the classes you would bundle in such a package? We
>> do not talk about the optimizations we apply, we talk about the
>> classes we want to bundle. Using the generator you can just bundle
>> the classes of qooxdoo your application uses. This may result into a
>> list of only 200 of the available classes. Who know. qooxdoo is not
>> jquery were you have one module which fits all (ok, ignoring the
>> plugins you must handle yourself).
>>
>> Sebastian
>>
>
> I understand.
> I'm talking about all qooXdoo classes (yes, the 400) since as a
> generator myself I can't predict what my users will do.
> And I don't want to launch the Python and qooXdoo generator at each of
> my users demand I already have code for that and I can't change it.
>
> On the other hand, how hudge are we talking about ? 50Ko, 100Ko, 1Mo ?
> I don't care if the lib is more than 100Ko as our product if for heavy
> business application.
>
> The question remain open for me :
>>> So, is there any hope to find a separate lib file for 0.8 ?
>
>
> [CUT]
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> Build the coolest Linux based applications with Moblin SDK & win great prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> qooxdoo-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
Reply | Threaded
Open this post in threaded view
|

Re: qooXdoo without any external tools or build helper

thron7
In reply to this post by Jean-Baptiste BRIAUD - Novlog
Jean-Baptiste,

> So, is there any hope to find a separate lib file for 0.8 ?
> In fact, like most framework, it's always too big, so there are often
> several version : a big dev version and an optimized version.
> A super optimized version would need to browse the application use of
> the lib so the packaged lib only embeded needed (used) elements and
> this is probably the purpose of that Python machinery.

Exactly.

> Unfortunatly, what is built-time for "classical" usage is runtime for us.
> I won't be able to give details but consider our product as a generator.

Ok, I get it.

> So, I really have to cut that Python build machinery even if this is
> the way to get the most optimized packaging of qooXdoo.
>
> Will it be possible to get a qooXdoo lib in dev (not compressed) and
> prod (compress, optimized, no debug, ...) flavors ?

I think that's doable. Maybe we can create some custom package for you.
The problem is, it's vacation time and we don't have enough hands to
help out right now. How fast would you need the package(s)?


Thomas

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
Reply | Threaded
Open this post in threaded view
|

Re: qooXdoo without any external tools or build helper

Jean-Baptiste BRIAUD - Novlog
Thanks for all your help, I really apreciate.

I do not need it fast, I'm still playing with qooXdoo as I'm in the  
process of choosing a framework.

I really had to evaluate the possibility of using qooXdoo in our  
product and thanks to your help, I got my answer : it is possible  
because the "Python machinery" is only a matter of packaging for  
qooXdoo.

JBB.

On 5 Sep 2008, at 09:55, thron7 wrote:

> Jean-Baptiste,
>
>> So, is there any hope to find a separate lib file for 0.8 ?
>> In fact, like most framework, it's always too big, so there are often
>> several version : a big dev version and an optimized version.
>> A super optimized version would need to browse the application use of
>> the lib so the packaged lib only embeded needed (used) elements and
>> this is probably the purpose of that Python machinery.
>
> Exactly.
>
>> Unfortunatly, what is built-time for "classical" usage is runtime  
>> for us.
>> I won't be able to give details but consider our product as a  
>> generator.
>
> Ok, I get it.
>
>> So, I really have to cut that Python build machinery even if this is
>> the way to get the most optimized packaging of qooXdoo.
>>
>> Will it be possible to get a qooXdoo lib in dev (not compressed) and
>> prod (compress, optimized, no debug, ...) flavors ?
>
> I think that's doable. Maybe we can create some custom package for  
> you.
> The problem is, it's vacation time and we don't have enough hands to
> help out right now. How fast would you need the package(s)?
>
>
> Thomas
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's  
> challenge
> Build the coolest Linux based applications with Moblin SDK & win  
> great prizes
> Grand prize is a trip for two to an Open Source event anywhere in  
> the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> qooxdoo-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
Reply | Threaded
Open this post in threaded view
|

Re: qooXdoo without any external tools or build helper

thron7
Jean-Baptiste,

you can build your libraries yourself :) . Please find attached two files.

One is a custom config file (It is actually pretty similar to what Petr
posted). Drop it into the "framework/" folder of
your qooxdoo SDK and run it like this:

  ./generate.py -c jean-baptiste.json qxlib-debug  (or: qxlib-optimized)

This will create a "build/" subdirectory for the two library variants,
and all resources nearby (for your final applications you'll need the
resources too, for proper functioning). If you look into the config
file, you will find that the two jobs do not differ much. Both resulting
libraries (script/qx-debug*.js and script/qx-optimized*.js) include all
the qooxdoo framework classes apart apparently unnecessary namespaces
like qx.legacy and qx.test (I also had to exclude qx.ui.progressive, due
to an incompatibility with qx.ui.table which I deemed more important to
have). So they contain little over 400 classes.

The other attachment is an index.html. Please drop it into the new
"build/" folder and open it in your browser. It will load the debug
variant by default, and it also shows you how to make use of such a library.

HTH. Let us know how things proceed on your side.

Thomas


Jean-Baptiste BRIAUD - Novlog wrote:

> Thanks for all your help, I really apreciate.
>
> I do not need it fast, I'm still playing with qooXdoo as I'm in the  
> process of choosing a framework.
>
> I really had to evaluate the possibility of using qooXdoo in our  
> product and thanks to your help, I got my answer : it is possible  
> because the "Python machinery" is only a matter of packaging for  
> qooXdoo.
>
> JBB.
>
> On 5 Sep 2008, at 09:55, thron7 wrote:
>
>  
>> Jean-Baptiste,
>>
>>    
>>> So, is there any hope to find a separate lib file for 0.8 ?
>>> In fact, like most framework, it's always too big, so there are often
>>> several version : a big dev version and an optimized version.
>>> A super optimized version would need to browse the application use of
>>> the lib so the packaged lib only embeded needed (used) elements and
>>> this is probably the purpose of that Python machinery.
>>>      
>> Exactly.
>>
>>    
>>> Unfortunatly, what is built-time for "classical" usage is runtime  
>>> for us.
>>> I won't be able to give details but consider our product as a  
>>> generator.
>>>      
>> Ok, I get it.
>>
>>    
>>> So, I really have to cut that Python build machinery even if this is
>>> the way to get the most optimized packaging of qooXdoo.
>>>
>>> Will it be possible to get a qooXdoo lib in dev (not compressed) and
>>> prod (compress, optimized, no debug, ...) flavors ?
>>>      
>> I think that's doable. Maybe we can create some custom package for  
>> you.
>> The problem is, it's vacation time and we don't have enough hands to
>> help out right now. How fast would you need the package(s)?
>>
>>
>> Thomas
>>
>> -------------------------------------------------------------------------
>> This SF.Net email is sponsored by the Moblin Your Move Developer's  
>> challenge
>> Build the coolest Linux based applications with Moblin SDK & win  
>> great prizes
>> Grand prize is a trip for two to an Open Source event anywhere in  
>> the world
>> http://moblin-contest.org/redirect.php?banner_id=100&url=/
>> _______________________________________________
>> qooxdoo-devel mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>>
>>    
>
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> Build the coolest Linux based applications with Moblin SDK & win great prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> qooxdoo-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>
>
>  

// put this into the framework/ directory and run:
// ./generate.py -c jean-baptist.json [qxlib-debug|qxlib-optimized]
{
  "let" :
  {
    "CACHE"        : "../cache",
    "BUILD_PATH"   : "build"
  },

  "export" : ["qxlib-debug", "qxlib-optimized"],

  "jobs":
  {
    "common" :
    {
      "library" :
      [
        {
          "manifest" : "Manifest.json",
          "uri"      : ".."
        }
      ],

      "cache"  : { "compile" : "${CACHE}" },

      "include": ["qx.*"],
      "exclude":
      [
        "=qx.legacy.*",
        "=qx.test.*",
        "=qx.ui.progressive.*"
      ],

      "themes" : { "qx.icontheme" : "Tango" }
    },

    "qxlib-debug" :
    {
      "extend"   : ["common"],

      "variants" :
      {
        "qx.debug"   : ["on"],
        "qx.aspects" : ["off"]
      },

      "compile-dist" :
      {
        "target"   : "${BUILD_PATH}",
        "file"     : "${BUILD_PATH}/script/qx-debug.js",
        "uri"      : "script/qx-debug.js",
        "format"   : "on",
        //"optimize" : ["basecalls", "variables", "privates", "strings"],
        "root"     : "${BUILD_PATH}"
      },

      "copy-resources" :
      {
        "target" : "${BUILD_PATH}"
      }
    },

    "qxlib-optimized" :
    {
      "extend"   : ["common"],

      "variants" :
      {
        "qx.debug"   : ["off"],
        "qx.aspects" : ["off"]
      },

      "compile-dist" :
      {
        "target"   : "${BUILD_PATH}",
        "file"     : "${BUILD_PATH}/script/qx-optimized.js",
        "uri"      : "script/qx-optimized.js",
        "format"   : "on",
        "optimize" : ["basecalls", "variables", "privates", "strings"],
        "root"     : "${BUILD_PATH}"
      },

      "copy-resources" :
      {
        "target" : "${BUILD_PATH}"
      }
    }
  }
}

Firt Button Demo <script type="text/javascript"> qxsettings = { "qx.application" : "Application" }; </script> <script type="text/javascript" src="script/qx-debug.js"></script> <script type="text/javascript"> qx.Class.define("Application", { extend : qx.application.Standalone, members : { main : function() { // Call super class this.base(arguments); // Create button var button1 = new qx.ui.form.Button("First Button"); // Add button to document with coordinates this.getRoot().add(button1, { left : 50, top : 50 }); // Add an event listener button1.addListener("execute", function(e) { alert("Hello World!"); }); } } }); </script>
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
Reply | Threaded
Open this post in threaded view
|

Re: qooXdoo without any external tools or build helper

Derrell Lipman
On Fri, Sep 5, 2008 at 8:08 AM, thron7 <[hidden email]> wrote:

(I also had to exclude qx.ui.progressive, due to an incompatibility with qx.ui.table which I deemed more important to have).

But I'll be fixing the problem in Progressive today, so you'll be able to remove that exclusion too.

Derrell
 


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
Reply | Threaded
Open this post in threaded view
|

Re: qooXdoo without any external tools or build helper

thron7
Derrell Lipman wrote:

> On Fri, Sep 5, 2008 at 8:08 AM, thron7 <[hidden email]> wrote:
>
>  
>> (I also had to exclude qx.ui.progressive, due to an incompatibility with
>> qx.ui.table which I deemed more important to have).
>>    
>
>
> But I'll be fixing the problem in Progressive today, so you'll be able to
> remove that exclusion too.
>  
I guess Jean-Baptiste is on 0.8, not trunk, so he'll has to keep the
exclusion.

T.


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
Reply | Threaded
Open this post in threaded view
|

Promising framework was: qooXdoo without any external tools or build helper

Jean-Baptiste BRIAUD - Novlog
Just for information :
http://sixrevisions.com/javascript/promising_javascript_frameworks/

According to some comments, having qooXdoo without the Python build  
machinery, just as a framework/lib is a real need.
In other words, that Python machinery is a blocking point for some  
people to adopt qooXdoo.

qooXdoo is in 4th position in the list ! Great.

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
Reply | Threaded
Open this post in threaded view
|

Re: Promising framework was: qooXdoo without any external tools or build helper

Sebastian Werner
For real application developers this should not hurd either. There were
exactly two comments regarding python (I excluded Mike, which was mainly
an answer ;)). The problem is that we may say more boldly that it does
not mean that the whole server must run on python. qooxdoo is and was
ever backend independent so everybody could choose the favorite there.

qooxdoo with the toolchain means tailor-made applications
out-of-the-box. I pay this price easily when my result application is
only 10% faster (in fact it should be a lot more than that).

Sebastian


Jean-Baptiste BRIAUD - Novlog schrieb:

> Just for information :
> http://sixrevisions.com/javascript/promising_javascript_frameworks/
>
> According to some comments, having qooXdoo without the Python build  
> machinery, just as a framework/lib is a real need.
> In other words, that Python machinery is a blocking point for some  
> people to adopt qooXdoo.
>
> qooXdoo is in 4th position in the list ! Great.
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> Build the coolest Linux based applications with Moblin SDK & win great prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> qooxdoo-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
Reply | Threaded
Open this post in threaded view
|

Re: Promising framework was: qooXdoo without any external tools or build helper

Oleksiy Golovko
Hi all,

Here is my 5 cents about the framework and its build toolchain. I have
been using  it for about 2 years (since 0.6.2 or so). And I really like
  what had been done about the framework itself and its toolchain,
although build process isn't flexible enough to join other
architectures/approaches well. Currently I have to use regexp search
after the building (which is not convenient) to get parts of the app I'm
interested in:
- qxresources, qxlocales, qxtranslations etc.
- list of classes in 'source' mode.

What would be really spectacular if generator could produce those parts
using special calls (for example: 'output-resources-dict' prints
qxresources JSON, 'output-classes-urls' prints list of classes). I.e.
make it a bit more modular.

I really need this functionality - I could add that myself and submit
the patch if you're agree with the approach.

Thanks,
        Oleksiy Golovko

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
Reply | Threaded
Open this post in threaded view
|

Re: qooXdoo without any external tools or build helper

Jean-Baptiste BRIAUD - Novlog
In reply to this post by thron7
Might be a really stupid idea ... but how about a fake application  
that would use (just by referencing for example) all widgets and sort  
of modules, so the build will produce the "big javascript" I would  
like ?
I think to that rather than other approach to make sure I'll be able  
to have "my build" with future version.

Does it make sense ?


On 5 Sep 2008, at 15:11, thron7 wrote:

> Derrell Lipman wrote:
>> On Fri, Sep 5, 2008 at 8:08 AM, thron7  
>> <[hidden email]> wrote:
>>
>>
>>> (I also had to exclude qx.ui.progressive, due to an  
>>> incompatibility with
>>> qx.ui.table which I deemed more important to have).
>>>
>>
>>
>> But I'll be fixing the problem in Progressive today, so you'll be  
>> able to
>> remove that exclusion too.
>>
> I guess Jean-Baptiste is on 0.8, not trunk, so he'll has to keep the
> exclusion.
>
> T.
>
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's  
> challenge
> Build the coolest Linux based applications with Moblin SDK & win  
> great prizes
> Grand prize is a trip for two to an Open Source event anywhere in  
> the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> qooxdoo-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
Reply | Threaded
Open this post in threaded view
|

Re: Promising framework was: qooXdoo without any external tools or build helper

Petr Kobalíček
In reply to this post by Oleksiy Golovko
Hi Oleksiy,

I like you idea,

I'm doing very similar thinks to increase modularity of generated files.

I would like for example this idea

in html:
qxsettings["qx.resourcesUri"] = "...";

in bootstrap:
qxlibraries["qx"]={"resourceUri":qxsettings["qx.resourcesUri"]};

etc...

I'm voting for this;-)

Cheers
- Petr

2008/9/8 Oleksiy Golovko <[hidden email]>:

> Hi all,
>
> Here is my 5 cents about the framework and its build toolchain. I have
> been using  it for about 2 years (since 0.6.2 or so). And I really like
>  what had been done about the framework itself and its toolchain,
> although build process isn't flexible enough to join other
> architectures/approaches well. Currently I have to use regexp search
> after the building (which is not convenient) to get parts of the app I'm
> interested in:
> - qxresources, qxlocales, qxtranslations etc.
> - list of classes in 'source' mode.
>
> What would be really spectacular if generator could produce those parts
> using special calls (for example: 'output-resources-dict' prints
> qxresources JSON, 'output-classes-urls' prints list of classes). I.e.
> make it a bit more modular.
>
> I really need this functionality - I could add that myself and submit
> the patch if you're agree with the approach.
>
> Thanks,
>        Oleksiy Golovko
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> Build the coolest Linux based applications with Moblin SDK & win great prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> qooxdoo-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
1234