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 collection or properties and methods that are added to your class
when you define it. The view layer will actually look for specific hooks on
your mixin so that you can automatically hook into the drawing engine, listen
for events, etc. It’s very powerful.
Take the example above: with the button... (more)
The coding portion of SproutCore 1.0 is nearly complete, so it’s time to
start work on some of the non-code parts of the SproutCore project.
Today I just push a brand new version of the SproutCore website. The design
is very simple, but unifies the wiki, blog, and main site so that they
finally feel like they belong together.
We still have a lot more to do with the site before 1.0. (More on that
later) But, the really interesting thing about the site is how it was
First, the new website uses SproutCore’s build tools. Over the last few
years these tools have been honed... (more)
Google adds SVG compatibility to IE:
With this library, we finally have a generalized way to write vector graphics
across all browsers. Now we just need to make this code easier to generate.
Next step: extend SC.RenderContext in SproutCore with methods to emit
standard SVG code. This way you can easily write vector graphics in any
view without having to learn SVG.
Thanks to all of you who came out to our first meetup in the South Bay, at at
Nokia HQ in Sunnyvale! For those of you who couldn’t make it, don’t
worry; as always, we made sure to record everything for you.
It was quite the night— we heard presentations from Majd Taby and Greg
Moeck, followed by community Q&A. Majd started us off with a talk on how
bindings help SproutCore make your application smaller, concluding with an
impressive demo of his work on SproutCore Touch and TransformJS. Greg spoke
about connecting SproutCore apps to your backend, and best-practice
approaches base... (more)
The SproutCore team is pleased to announce the pre-release of SproutCore
1.10.0. Version 1.10 is, without a doubt, the fastest and most feature-rich
version of SproutCore to-date and includes several new features, internal
improvements and bug fixes and is a recommended upgrade for all SproutCore
To install SproutCore for the first time, please
visit http://sproutcore.com/install/ for instructions. If you are upgrading
from a previous version of SproutCore, simply run the following:
gem update sproutcore --prerelease Highlights of Version 1.10.0
In this release we dug... (more)