Welcome!

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 new features in SproutCore v1.10.0 was a PhantomJS unit test runner. It allowed us to automate SproutCore’s own framework unit tests, giving us awesome continuous integration support right in GitHub via the great Travis-CI service. If you use CoreTest, SproutCore’s built-in (QUnit-like) unit test framework, then you can also use this to run your own tests from the command line – meaning you can automate it, and hook it up to your own CI scaffolding. It’s impossible to overstate the impact that continuous, automatic unit testing has on the quality and stability of your codebase. Prerequistites You will need to have PhantomJS installed before using the test runner. Full instructions for this can be found here. You will also need to track down SproutCore’s installed location in order to run its test runner script. If you’ve got a copy checked out into your ... (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: http://demo.sproutcore.com 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)

"Throughout the years, the winning strategy has been to build something for next year’s highest..."

“Throughout the years, the winning strategy has been to build something for next year’s highest common denominator.  That’s right.  Build software that doesn’t even work very well on what we have today, trusting that by the time you need a big market to be there, you would have created the perfect product for it.  Go ahead.  Use too much memory.  Use too much cpu.  Use graphics that won’t render on the cheap cards.  It doesn’t matter.  The early adopters already have the more powerful machines, and by the time you have crossed the chasm, everyone else will too.” - Fred’s Got it W... (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)

How SproutCore Makes Your App Run Faster

If SproutCore 1.0 had a theme it would be “performance”. We’ve spent a lot of time - almost a year in fact - trying to make SproutCore applications the fastest web apps on the planet. I think we’ve done a pretty good job overall. For example, we took Steve Souders excellent book on High Performance Websites and built his 14 rules right into our platform. We also discovered a few other rules along the way and built those in as well. That means simply by adopting SproutCore for your web apps [and following our deployment recommendations], you will get best performance practices out... (more)