From the Creator of SproutCore and CEO of Sproutit

Charles Jolley

Subscribe to Charles Jolley: eMailAlertsEmail Alerts
Get Charles Jolley via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn

Top Stories by Charles Jolley

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 behaviors. 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)

Inheritance Patterns in JavaScript

Inheritance Patterns in JavaScript Interesting points on using pseudo-classical inheritance pattern vs the functional pattern.  SproutCore is pseudo-classical based, just like Closure, primarily because of memory concerns.  Nice to see folks at Google went down the same direction. ... (more)

Get Time Tracker Source Code in SproutCore

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)

Hubbub ❤ SproutCore – Introduction

I was recently asked to do a write-up about my SproutCore app, Hubbub (@hubbubapp), as a general anecdotal guide to those interested in writing large scale applications in SproutCore for the first time. I’m afraid this first post won’t be very technical, but I will at least attempt to make it an enjoyable read, and to tell you about some of my early bumps in the road so that you can avoid them. My overview of Hubbub will also span a few posts, so if you have particular questions, I can spend some time on them in future. What’s all the Hubbub? This isn’t the place to talk up the a... (more)

SproutCore Website Built With SproutCore

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 built. First, the new website uses SproutCore’s build tools.  Over the last few years these tools have been honed... (more)