Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How is something like Sproutcore/Qooxdoo helpful?

I am learning Python and building my first web app. I have been going thru the django tutorials and just beginning to think about how to do the client side. I want it to be web 2.0-ish, and will need some AJAX/javascript functionality for displaying lists from the database, and cool things like date choosers, auto-completion, etc.

It seems html/css/javascript (esp. jquery) is the most popular option. Being a newbie I am intrigued by frameworks like qooxdoo and sproutcore, but don't understand exactly how they work. For example:

  1. Can I easily reuse code from one app into another?
  2. Can you have one page static pages easily also?
  3. Are they only one page, kind of like gmail? Does it matter?
  4. Is it really any easier than not using it? I mean is the learning curve for the framework equal to learning html/css/javascript?
  5. Are these type of apps slower to load because they have a lot of overhead?

Or,

What are the pros/cons of using/not using one of these?

Any advice for a beginner is welcome!

like image 343
Steve Avatar asked Jan 21 '23 20:01

Steve


1 Answers

Here is an answer from the qooxdoo perspective:

Can I easily reuse code from one app into another?

Yes, you can. You can organize your code in "libraries" which can be included in multiple apps. But each app will be an individual whole (think of it as a binary with the library code being linked in statically), there is no manual copying around of .js files.

Can you have one page static pages easily also?

I'm not sure what you mean here.

Are they only one page, kind of like gmail?

Yes, you build single-page applications with qooxdoo.

Does it matter? Is it really any easier than not using it? I mean is the learning curve for the framework equal to learning html/css/javascript?

That largely depends on your background. If you have a good grasp on OO, maybe even experience with an OO interface library like Qt or Swing, picking up qooxdoo should be very straight-forward. In such a case I would argue the learning effort is less than compared to html/css/javascript, as you are basically working against an OO class library that shields the underlying technology from you. (Which is a good thing. Getting e.g. cross-browser CSS right is tough).

Are these type of apps slower to load because they have a lot of overhead?

I would say so. You pay a penalty for the infrastructure. But if a real web GUI is what you want, it's worth it.

What are the pros/cons of using/not using one of these?

As said elsewhere, it really depends on what you want to achieve. From your question I gather that you don't just want to "display lists from a database", but you want an interactive user interface, with high-level widgets (date chooser), cross-browser event handling (auto-completion), maybe other controls, layout management, and such. For such a case I say the pros outweigh the cons.

But it's an investment, too much for a one-shot project I'd say. And if you just want a few list views, stick with the Django templates, maybe spiced up with a bit of Javascript thrown in.

like image 119
ThomasH Avatar answered Jan 29 '23 10:01

ThomasH