SproutCore vs. ExtJS

Showing 1-7 of 7 messages
SproutCore vs. ExtJS gnaegi 5/25/09 11:13 PM
Hi everybody

I'm following the SproutCore discussions now for some time and did the
tutorial stuff some time ago. I'm impressed and would like to use the
framework in future projects, also because the team annonced the
splitting of the framework so that is can also be used to build mobile
apps.

Now, in our current project (a very large scale e-learning Java web
application we developed in the last ten years) we use some Prototype
and ExtJS components to do some more dynamic things like the tree,
drag&drop, live search etc.

Now when we want to start with a new app, I want to do this with the
new business-logic-on-the-client pattern and only communicate with
REST services to the backend to load data and persist states. Perfect
to use SproutCore.

But when I look at the demos and compare them to ExtJS I'm not sure if
SproutCore is there yet. ExtJS (I'm not talking about the GWT version)
has so many totally amazing widgets, works really great and has proven
to be robust and mature. For me personally it smells a bit like ms
windows, but I guess most of that could be styled. SproutCore on the
other hand - well - I have only seen the I-apps from Apple. They're
impressive, but I don't see something there that could not be done
easily with ExtJS.

So, my question is: where do you see the big differences between the
frameworks and why should I choose SproutCore over ExtJS? Maybe
someone worked with ExtJS and switched to SproutCore and could share
his experience?

Don't get me wrong, I really like the SproutCore approach, I'm just a
bit overwhelmed by the completeness of ExtJS and I'm wondering if
SproutCore can provide the same.

Is there a more extensive roadmap than http://wiki.sproutcore.com/Roadmap
for future development?

Wouldn't it be great to have a page in the wiki that shows all the
known projects realized with SproutCore? This would help decision
makers to learn what's possible with the framework.


Thanks for every input!

Florian


Re: [sproutcore] SproutCore vs. ExtJS Charles Jolley 5/26/09 10:26 AM
Hi Florian,

If you want to build a full client-side app, you're going to waste of  
lot of time if you just choose a widget library like ExtJs.

A client side app needs to manage a full data model in the browser,  
have a set of controllers to relay changes in that data model to the  
UI, and a UI that can handle generating thousands of elements  
efficiently in the client. None of these things are provided by ExtJS  
or any other widget library so you'll have to do it yourself.

SproutCore is the only JS framework that covers the full stack.  The  
question you should really be asking yourself is: do I want to use  
SproutCore or do I want to use a widget library and write everything  
else from scratch.

-Charles
Re: SproutCore vs. ExtJS nige....@googlemail.com 5/27/09 2:49 AM


On May 26, 6:26 pm, Charles Jolley <char...@sproutit.com> wrote:
> Hi Florian,
>
> If you want to build a full client-side app, you're going to waste of  
> lot of time if you just choose a widget library like ExtJs.
>
> A client side app needs to manage a full data model in the browser,  
> have a set of controllers to relay changes in that data model to the  
> UI, and a UI that can handle generating thousands of elements  
> efficiently in the client. None of these things are provided by ExtJS  
> or any other widget library so you'll have to do it yourself.
>
> SproutCore is the only JS framework that covers the full stack.  The  
> question you should really be asking yourself is: do I want to use  
> SproutCore or do I want to use a widget library and write everything  
> else from scratch.
>
> -Charles

Charles, the above post is just erroneous.

I have no comments as to the original question, I will just say that
your post is completely incorrect.
Re: SproutCore vs. ExtJS etgryphon 5/27/09 3:54 AM
Nige:

Your post is really interesting.  It adds nothing to the dialog and am
curious exactly what you think is so erroneous about Charles' post?

Is it the fact that a full stack is supported in ExtJS?  If so, what
is the structure for retrieving lists of 100k items efficiently?  What
is the best example of Model stack and server communication stack in
ExtJS?

Our company chose to go with Sproutcore because of its MVC data stack
and we looked at ExtJS and found it lacking in this area.  Can you
point me to some good resources that show ExtJS's stack?

Evin

On May 27, 5:49 am, "nige.ani...@googlemail.com"
Re: [sproutcore] Re: SproutCore vs. ExtJS Florian Gnägi 5/27/09 10:28 PM
Hi Charles

> SproutCore is the only JS framework that covers the full stack.  The
> question you should really be asking yourself is: do I want to use
> SproutCore or do I want to use a widget library and write everything
> else from scratch.

Thank you very much for your reply. I was not aware that ExtJs is
laking in this area since the full-desktop examples suggest that ExtJs
would cover the full stack as well. But of course this is only a GUI
demo, I never tried to do a whole app in ExtJs, I only have
experiences with some of the widgets.

Regarding your question: of course I want to have both: I want a great
framework that helps me communicating with the server, manage the
models efficiently etc, however I also need a great widget library. Is
it possible to combine the two frameworks and use each for what it can
do best or are they just incompatible by their architecture? Would it
make sense to use some wrappers to make ExtJs widgets behave like
native SproutCore view elements? Or why not use other widget libraries
as jQuery or YUI for the widget stuff?

Thanks for your thoughts
Florian

Re: [sproutcore] Re: SproutCore vs. ExtJS Charles Jolley 5/27/09 10:39 PM
> Is it possible to combine the two frameworks and use each for what  
> it can
> do best or are they just incompatible by their architecture? Would it
> make sense to use some wrappers to make ExtJs widgets behave like
> native SproutCore view elements? Or why not use other widget libraries
> as jQuery or YUI for the widget stuff?

You can definitely do this.  It's easy to wrap other types of widgets  
in SC.View classes or to not use the view system at all and just use  
ExtJS.  In fact, take a look at this example file:

http://tinyurl.com/oga3q5

It uses SproutCore for data and bindings and jQuery for UI.

This approach will work great for you as long as you don't need to  
have too much data visible on screen at one time.  No other library  
has support for rendering lists of 1,000 items without using  
pagination.  This may not matter for your design however.  You can  
always mix and match; using SC views for some of it and ExtJS for  
other parts.
Re: [sproutcore] Re: SproutCore vs. ExtJS Joshua Dickens 5/28/09 12:03 AM

On May 27, 2009, at 10:28 PM, Florian Gnägi wrote:

>  Is
> it possible to combine the two frameworks and use each for what it can
> do best or are they just incompatible by their architecture? Would it
> make sense to use some wrappers to make ExtJs widgets behave like
> native SproutCore view elements? Or why not use other widget libraries
> as jQuery or YUI for the widget stuff?

You can definitely use a widget library in conjunction with  
Sproutcore; you'll just have to write some custom views that wrap the  
widgets' functions & callbacks so you can take advantage of bindings &  
observers, for instance.  A while back there was some discussion on  
this list about using YUI widgets -- you might search the archives for  
some tips in getting started.  In some ways this is even easier in SC  
1.0 than it was previously, because the HTML rendering method is more  
predictable.

Having used both SC and several other widget libraries, there are  
certainly some places where sproutcore doesn't give you pre-built  
widgets 'for free', but the functionality is powerful enough that it  
enables you to build your custom UI with a lot of flexibility. As is  
often the case, there are always tradeoffs when you roll-your-own  
versus using a prefab solution.

Hope that helps (a little!)

Josh