I've used Backbone.js and LOVE it.
Recently I came across qooxdoo and honestly? It seem to be even better (for OOP code design)!
Full OOP support (love the inheritance [this.base
], namespacing etc').
I haven't gone too deep into it yet, so I was searching for comparison with Backbone.js without any success.
So, if you've used both - what can you say about qooxdoo in relation to Backbone.js?
I'm not talking about features such as the "model persisting" (save/delete ajax calls) in Backbone nor features like UI in qooxdoo (qx.ui.form.Button
), but rather the coding structure and maintainability.
My experience with Backbone.js is some what limited, but it is well suited for creating data heavy web applications. Being able to sit any UI on top of it makes it extremely flexible. As for code maintenance, code organization of Backbone really depends on the developer. Using other libraries (require.js) definitely aid in the organization, but still a lot of effort and up front planning is required.
Qooxdoo on the other hand is a completely different beast. With its own type system at its core, Qooxdoo really elevates itself to a classical language sitting on top of javascript, which demands good code organization. That's not saying you can't write disorganized code with it, but it just makes it easier to organize large projects.
Because qooxdoo is more of a language than a framework [sans, of course, its rich UI and data components, which are very good] you can literally do anything with it, re-creating all the benefits of Backbone while easily adding in nice features - strongly defined classes (of all types, models, controllers, views, et al) - AND generate [excellent] documentation from those classes to boot!
The ability to define interfaces, classes, mixins, inheritence, properties, access modifiers(!) etc(...) in a classical sense (ala Java/C#/...) while staying inside a very well defined namespaced file/class structure, really lifts qooxdoo above everything else out there. Its type system is so nice in fact, that they have even separated it from its UI components to be used standalone in browser apps, or on the server with node.js/rhino apps. It is stellar.
Anyway, I am highly biased toward qooxdoo, so take my opinion with a grain of salt. :)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With