From the Creator of SproutCore and CEO of Sproutit

Charles Jolley

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

Top Stories by Charles Jolley

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 to generate highly optimized, cache friendly apps in multiple languages.  It turns out, you can use the same tools to create highly optimized, cache friendly web pages in multiple languages too.  The new site is really zippy in part because we let these tools work their magic. Second, the ... (more)

Aspect-Oriented Programming and You

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 colle... (more)

Event Handling in SproutCore 1.0 - Part 2 - Dragging a View

In my last post I introduced event delegation in SproutCore and the basics of how to handle events.   In this post I’m going to build on this foundation to show you how you can add event handlers to drag a view around the window.* Introducing the Mouse Events As I noted in the first post, SproutCore recognizes several different types of mouse events.  Most of these events are essentially the same events sent by most browsers, though some differ significantly in order to give you tighter control. Remember that to listen for events, you just need to add a method to your view with t... (more)

What Server Does SproutCore Run On?

Ha ha! Trick question! SproutCore is a client-side application framework (unlike, say, Google Web Toolkit). No part of SproutCore “runs” on the server, and SproutCore contains no “server-side” libraries. A web server (Apache, for example) is only used to deliver plain old HTML, CSS, and JavaScript to the browser. Once those initial files have been served, a SproutCore-based application runs entirely in the browser (and can easily be run “offline”, with no network access at all). Any server that can receive HTTP requests (which is all of them) can interact with a running SproutC... (more)

SproutCore Release Candidate 1 Hits the Streets

Last night I merged the final set of changes for the first release candidate of SproutCore 1.0.  I also published a new gem (build 1.0.1008) so you can get the official release quite easily.  Just open your terminal [on Mac or Linux] and type: sudo gem install sproutcore Then enjoy! If you just want a taste of what the release candidate can do, check out the demos at: Especially try the SampleControls app, where you can see an example of over 300 views rendered on a single page (in the Controls tab). What’s In the Box? In case you haven’t heard, Sprout... (more)