Qooxdoo 2.0

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

Qooxdoo 2.0

John Spackman-3
Hi guys

I've just read the blog and some of the manual pages about Qx 2.0 – wow, that's brilliant!  I'm really excited about it!

I already use Desktop and Server heavily and fallback to jQuery for non-Desktop pages, so the Website module is really good idea because it means I might be able to share code with those pages too.  Ages ago, I hacked together a very thin jQuery implementation of qx.Class so that I could have classes and have limited source code compatibility, particularly for validation and other bits of common code (but it was a very "thin" hack).

It's particularly cool that the $() shortcut works ala jQuery, an easy and familiar a pattern but I'm drawn to the compatibility tables of jQuery $ vs Qooxdoo $ and there are a number of differences that come up quite quickly.  Even really simple and common things like .val(), collections, .css() have different method names.  The docs say that Qooxdoo is intentionally more verbose than jQuery, citing the disadvantages to have too much implicit magic (I completely agree) and this is why there are differences – but I think that it's a mistake to use the jQuery namespace and replace it with something which looks like jQuery but isn't _quite_ compatible.

For newbies, it'll be easy (and understandable) to assume that $() === jQuery() (or at least, jQuery compatible) and it will be confusing – google searches will have a similar problem distinguishing and it'll be virtually impossible for old hands to search for answers except via this list.

Although $() is a usefully terse syntax, how about something Qooxdoo-specific like $Q or even $$?

Also, there are thousands of jQuery plugins out there which are not compatible with Qooxdoo $() … but which might be compatible if there was a jQuery compatible $() shim in place between the plugin and Qooxdoo.  It sounds that a jQuery compatible $() might be possible (although not necessarily as part of the Qooxdoo core, i.e. a contrib) which would be fantastic because of all the plugins that would bring to the Qooxdoo platform – but that's only a possibility if you use something other than $().

John

------------------------------------------------------------------------------
For Developers, A Lot Can Happen In A Second.
Boundary is the first to Know...and Tell You.
Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
http://p.sf.net/sfu/Boundary-d2dvs2
_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
Reply | Threaded
Open this post in threaded view
|

Re: Qooxdoo 2.0

Tristan Koch
Hi John,

many thanks for checking out the manual.

> It's particularly cool that the $() shortcut works ala jQuery, an easy and familiar a pattern but I'm drawn to the compatibility tables of jQuery $ vs Qooxdoo $ and there are a number of differences that come up quite quickly.  Even really simple and common things like .val(), collections, .css() have different method names.  The docs say that Qooxdoo is intentionally more verbose than jQuery, citing the disadvantages to have too much implicit magic (I completely agree) and this is why there are differences – but I think that it's a mistake to use the jQuery namespace and replace it with something which looks like jQuery but isn't _quite_ compatible.

The documentation of qx.Website is outdated.

It refers to the old qx.Collection. Actually, we no longer overwrite $, that is unless your build of qooxdoo includes qx.Collection.

The API of qx.Website changed considerably and centers around the q() method. Here an example from the front page:

q.create("<h1></h1>")
  .setHtml("Hello")
  .setStyle("color", "blue")
  .on("click", function() { alert("click") })
  .appendTo("#container");

To learn more, take a look at the API documentation of qx.module [1].

> For newbies, it'll be easy (and understandable) to assume that $() === jQuery() (or at least, jQuery compatible) and it will be confusing – google searches will have a similar problem distinguishing and it'll be virtually impossible for old hands to search for answers except via this list.

Absolutely.

> Although $() is a usefully terse syntax, how about something Qooxdoo-specific like $Q or even $$?

I find "q" even easier to type and read it as "query". And there's Q… [2]

> Also, there are thousands of jQuery plugins out there which are not compatible with Qooxdoo $() … but which might be compatible if there was a jQuery compatible $() shim in place between the plugin and Qooxdoo.  It sounds that a jQuery compatible $() might be possible (although not necessarily as part of the Qooxdoo core, i.e. a contrib) which would be fantastic because of all the plugins that would bring to the Qooxdoo platform – but that's only a possibility if you use something other than $().

Actually, we are already experimenting with a two-way jQuery <-> (q) wrapper, but have not decided yet if we want to follow the path. Being able to integrate jQuery plugins to qx.Website is certainly very attractive goal. The issue I see is that implementing a 100% compatible shim is pretty hard. I know of Zepto [3] that is doing a pretty good job of providing a jQuery like API, but still its far from 100%. We may need to go the other way round.

Regards
Tristan

[1] http://demo.qooxdoo.org/devel/apiviewer/#qx.module
[2] http://de.wikipedia.org/w/index.php?title=Datei:Desmond_Llewelyn_01.jpg


------------------------------------------------------------------------------
For Developers, A Lot Can Happen In A Second.
Boundary is the first to Know...and Tell You.
Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
http://p.sf.net/sfu/Boundary-d2dvs2
_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
Reply | Threaded
Open this post in threaded view
|

Re: Qooxdoo 2.0

John Spackman-3
Hi Tristan

>The documentation of qx.Website is outdated.

Aha! :)

>>Although $() is a usefully terse syntax, how about something
>>Qooxdoo-specific like $Q or even $$?
>
>I find "q" even easier to type and read it as "query". And there's QŠ [2]

:)  Cool

>>Also, there are thousands of jQuery plugins out there which are not
>>compatible with Qooxdoo $() Š but which might be compatible if there was
>>a jQuery compatible $() shim in place between the plugin and Qooxdoo.
>>It sounds that a jQuery compatible $() might be possible (although not
>>necessarily as part of the Qooxdoo core, i.e. a contrib) which would be
>>fantastic because of all the plugins that would bring to the Qooxdoo
>>platform ­ but that's only a possibility if you use something other than
>>$().
>
>Actually, we are already experimenting with a two-way jQuery <-> (q)
>wrapper, but have not decided yet if we want to follow the path. Being
>able to integrate jQuery plugins to qx.Website is certainly very
>attractive goal. The issue I see is that implementing a 100% compatible
>shim is pretty hard. I know of Zepto [3] that is doing a pretty good job
>of providing a jQuery like API, but still its far from 100%. We may need
>to go the other way round.

I totally understand - the effort involved in 100% following a third-party
API as it constantly evolves could be huge, and then there's the danger
that if you support it then people will expect 100% compliance.

If you decide not to formally support jQuery<>q wrapper, please don't
abandon it!  Perhaps it could be released as a contrib so that Qooxdoo is
not "held responsible" for 100% compatibility and also contribution can be
opened up to the community at large.  I don't hate jQuery and I certainly
don't feel any affinity with it's coding, and the code reuse benefits for
being able to integrate 100% Qooxdoo end-to-end would be fantastic.

John




------------------------------------------------------------------------------
For Developers, A Lot Can Happen In A Second.
Boundary is the first to Know...and Tell You.
Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
http://p.sf.net/sfu/Boundary-d2dvs2
_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
Reply | Threaded
Open this post in threaded view
|

Re: Qooxdoo 2.0

Jens Eckervogt
This post has NOT been accepted by the mailing list yet.
Hi John,

You are right. I know dunction like $() for Adobe Air 3.x also. I think sure because Titanium SDK works fine with Qooxdoo 2.x and i want tell and make sure sandbox-problem of iframe or same non-supported elements. If we don't need non-supported elements than we want get with same nice way with Titanium-, Adobe Air or Spark-, Extjs ( Sencha )- or iQuery-SDK Binders.

Wow! I find Qooxdoo's Structure looks like Extjs's or Sencha's Structure. Yeah i am happy now and i can simple code. I wish because Qooxdoo should win again Extjs because we live in Germany / Europe :) Also we use only Qooxdoo 2.0.

I have been worried about bad time with old version of Qooxdoo:
Why does it happen with Sandbox-problem? Like Access with iFrame or non-supported elements..
Same developers get angry or mad for heavy coding with fix again sandbox-problem. Just i know and saw latest time with Adobe Air 2.x.

I wish to hope with next new version for Big-Kill again "Sandbox-Problem" because Qooxdoo's Structure like Mixims or Simple Require-Class work very better than old version of Qooxdoo's Structure.
Look like this:
qx.Class.define("MyApp.Application",
{
  extend : qx.application.Standalone,

  members :
  {
    main : function()
    {
      // Call super class
      this.base(arguments);

      // Enable logging in debug variant
      if (qx.core.Environment.get("qx.debug"))
      {
        // support native logging capabilities, e.g. Firebug for Firefox
        qx.log.appender.Native;
        // support additional cross-browser console. Press F7 to toggle visibility
        qx.log.appender.Console;
      }
      ....
    }
  }
});
Extjs's Structure ( Mixins version ?? Right ?? ) Or jQuery / Sencha Frameworks ??
var qx = require('qooxdoo');

qx.Class.define("MyApp", {
  qx.application.Standalone,
  members : {
    main : function() {
      ...
    }
  }
});

var myapp= new MyApp();
myapp.main();
Is it right? Thanks for nice improvement for Qooxdoo! Yeah i wish because Qooxdoo is best Javascript Framework in Germany / Europe :D.

Best Regards, Jens Eckervogt
Sorry  FaceBook Account was removed...
Welcome to Google+  Profile  :)
https://plus.google.com/u/0/102828729859854171364

I am sorry - I am deaf :-(