Welcome!

Charles Jolley

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


Top Stories by Charles Jolley

It’s been noted often that there’s a serious lack of production-level SproutCore apps with readable source code. Developers often learn best by poking at something and seeing how it works, but until now there hasn’t been anywhere to go. With an eye towards improving that situation, I’m excited to announce Juniper, a SproutCore app and annotated codebase. Check it out: http://juniper.dcporter.net/ I wrote a fuller introduction here, and the source code itself is here. If you’re new to SproutCore, or wondering if it’s right for your project, give it a poke! If you have any questions, say hi on the mailing list or on IRC. Any seasoned developers that want to give it a critical look-over should do so too – it’s intended as a showcase of possibilities and best practices, so if you spot something, hit me up in the GitHub Issues or directly. (Juniper is inspired by Vesper... (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)

HTML5 Drag and Drop in Firefox 3.5

HTML5 drag and drop in Firefox 3.5: With Firefox 3.5 all the major browsers (including IE!) support native drag and drop.  The SC.Drag interface in SproutCore was designed from the beginning to follow the same protocols.  That means once someone SC.Drag to use native drag events, all your SproutCore-drag code will automatically work between browser windows and applications without you making any changes to your code. HTML5 Ready. Volunteers? :) ... (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)

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)