The absolute biggest win for Qooxdoo is its type system*, which makes 
large projects absolutely designable and maintainable.  If you've ever 
made desktop applications with GTK or Qt, Qooxdoo just simply rocks.  
This alone makes up for their lacking fancy/modern controls. (That said, 
those missing controls can be added [relatively] easy, if one has the 
time and desire.)

ExtJS's type system has improved with later versions, but is still 
lacking; making for not-so-fun development cycles.  And, as you 
mentioned, their licensing model is just an absolute shame.  You either 
need very deep pockets, or risk exposing your entire application code 
stack through **GPLv3.  It doesn't matter how pretty or amazing their 
widget set gets, I'm not touching Sencha with a 10-foot pole.


If you've never heard of SmartClient 
(http://smartclient.com/product/smartclient.jsp) it might be worth a 
look.  Its widget set is pretty complete - at least on par with ExtJS, 
if not more so.  My biggest issue with SmartClient is its type system.  
It's pretty apparent their widget library is geared for code generation 
to be used with their GWT libraries.  It's possible to do entire 
applications using just the javascript portion of their library, but it 
is far from what I would call 'enjoyable'.  Two major flaws, widget 
composition and events --  Seriously, who does this:

isc.IButton.create({
     title: "Click Me",
     icon: "my_icon.gif",
     click: function () { [...] } // Why is this a good idea, instead of 
firing off an event?!
});

Their open source license is at least LGPL, so you don't have to worry 
about having to release your entire application **stack, but their 
documentation is just absolute crap; Yes, maybe better than NO 
documentation, but you'll still quickly find yourself pulling out hair, 
trying to find what you're looking for.


So, quick run-down on pros/cons for each:

ExtJS
Pros:
   1) Complete set of modern, nice looking, useful widgets
   2) I'll include their improving type system* as a pro, as they at 
least seem mindful of project organization/maintainability.

Cons:
   1) Cost of commercial license and absolute non-starter on their open 
source license

SmartClient
Pros:
   1) Complete set of modern, nice looking, useful widgets
   2) The LGPL is acceptable
Cons:
   1) Horrid type system
   2) Documentation is a complete and utter waste.  Might be more useful 
if utilizing GWT, but I have absolutely zero interest in doing GWT.


Qooxdoo
Pros:
   1) By far (we're talking miles and miles [or kilometers and 
kilometers... :)] the best type system of *any* javascript framework
   2) Project organization and maintenance
   3) Quite possibly the best documentation of any javascript framework
   4) Once you *get it*, it is an absolute joy to develop in.  It really 
is like working with GTK or Qt.
   5) Perfectly acceptable license to be used with internal corporate 
applications.
Cons:
   1) Its widget set is lacking (but thus far has been suitable for 
everything I have needed, with the ability to bolt on anything else 
easily.)
   2) Much smaller community, with the illusion of the community 
shrinking (This has been debated at various times.)



I too originally stumbled across Qooxdoo, looking for something other 
than ExtJS (but that's been a number of years ago already,) and 
absolutely fell in love with it, so I may be slightly biased.  The 
community may be small, but those in it are always happy and eager to 
help.  The core developers are easily approachable and open to 
suggestions.  It's been a long time since I've interacted with the ExtJS 
community, so I cannot comment there, but I have had a pretty poor 
experience with the SmartClient community.  Posting in their forums 
yielded very poor and unacceptable results. (At the time, a 
non-technical salesmen was moderating the forums, attempting to answer 
technical questions, always pointing folk to their poor documentation 
and making posters feel generally stupid for not R[eading]-TFM.  It may 
have improved since, but not likely. (I am not a fan.)

I do not [nor cannot] fault ExtJS and SmartClient for wanting to earn 
some money from their hard work.  Both have created very nice looking 
and useful tools.  Their chosen revenue model IS their framework.  
Qooxdoo on the other hand (through 1&1) has chosen a different revenue 
model, through web hosting and other online services, thus, their 
framework lacks some polish, and slower progress.


*What I mean by 'type system' is the class hierarchies, class definition 
and inheritance models, namespaces, and all other OO features.  All 
these make reusable component and widget compositions just so 
fantastically wonderful.

**Yes, it has been argued the GPLv3 libraries can be used for internal 
applications without releasing your code base, but its definition is so 
vague that a company like Sencha COULD possibly take you to court if you 
didn't release your underlying PHP/Java/[...] code along with your 
client code.  This is absolutely not worth the risk or the headache.



TL;DR: Qooxdoo ftw. :)













On 2014-11-07 07:09, Reggaeny wrote:
> I certainly will. May be we could pool our efforts to get some "tricks" 
> into
> qooxdoo which we learned to love when using ExtJs.
> 
> 
> 
> --
> View this message in context:
> http://qooxdoo.678.n2.nabble.com/Coming-from-Sencha-ExtJs-tp7586356p7586361.html
> Sent from the qooxdoo mailing list archive at Nabble.com.
> 
> ------------------------------------------------------------------------------
> _______________________________________________
> qooxdoo-devel mailing list
> qooxdoo-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

------------------------------------------------------------------------------
_______________________________________________
qooxdoo-devel mailing list
qooxdoo-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to