The next release candidate for 1.11.0 will be out very shortly, but I thought
it best to post a brief update on the past week’s work as this week saw a
concentrated effort on core optimization.
First we took another look at the use of arguments lists throughout the
framework and found several more occurrences of it being accessed in an
inefficient manner. Depending on the browser, accessing arguments in such a
way that causes it to be allocated can be up to 80% slower and so it’s
really good to have these all fixed.
The other piece of optimization work undertaken has been much more difficult.
We’ve been looking into high frequency event handling, such as during touch
dragging or mouse moving, with an eye towards managing memory better. Since
SproutCore already does as much as possible to avoid touching the DOM, the
largest issue that affects the “fluidity” of the us... (more)
One of the coolest parts of the new SproutCore View layer is its ability to
use aspect-based programming to add behaviors to views.
Aspect-based programming is built on the premise that often objects that
don’t follow from the same class hierarchy may in fact need similar
This is especially true in GUI programming when designers come to you and say
something like “I came up with this new widget - it looks kind of like a
progress bar but it acts like a button when you click on it”.
In SproutCore, you capture these common behaviors in a “mixin”. A mixin
is just a colle... (more)
This is pretty cool. Juan Pinzon has been working hard on our IE support
for SproutCore. Basically he does the dirty work in IE so you don’t have
Today he posted a short video where he loads and runs the SproutCore Sample
Controls app in 6 major browsers - including an unsupported one - in under a
Sample Controls involves building a UI client-side with over 200 controls all
at once. It’s a real stress test. The fact that the app loads fast
enough he can navigate in one minute is really amazing.
Great work Juan!
SOA & WOA Magazine
Bruz Marzolf is writing a series of blog posts implementing a simple time
tracking app in various client-side rich web app frameworks. He just finished
his example in SproutCore and including some source code.
Here’s what he had to say:
SproutCore provides a higher level abstraction that manages when objects are
changed and need to be updated, and when they’re busy and shouldn’t be
modified, for instance.
Bruz’ code is a good example of a basic starter app that’s a little more
complex than our todos demo. I’m looking forward to his additional entries
in this s... (more)
As you may have noticed above, there is a new section to the sproutcore.com
website, Showcase. This page is meant to act as your one-stop reference
for all of SproutCore’s Views and Controls.
Previously, you would have had to install SproutCore and run it locally to
view the Test Controls app and would have had to search the source code of
that app to figure out how the Controls were configured. Now you can visit
http://showcase.sproutcore.com at any time and copy code snippets directly
from within the page. Even better, we’ve expanded the examples
significantly to include al... (more)