← Back to SproutCore Training Overview

SproutCore App Developer Training

There are no online training classes scheduled at this time.

Get the video for this training class for only $99.
The video is DRM-free, in the mp4 format, and is watermarked throughout with the purchaser's name. You will receive an email when your video is ready to download.


Note: It takes a few hours to encode and upload your video to the server.

Class Description

This online course will permanently change how you think about application construction and coding with a unique, visual explanation of the MVC architecture in SproutCore.

You'll learn a practical, scalable methodology for taking existing spaghetti code and arbitrary coding decisions and turning them into beautiful, logical, understandable and 100% testable code that withstands change and gracefully recovers from errors.

This is a hands-on, practical class designed to change the way developers think about, code, and test their apps. After this course, you'll be able to begin applying what you've learned to your existing code base the following day.

I start with MVC theory and provide a tight, universal application construction that applies to every event-driven application and introduce the two fundamental app coding "problems" – both of which are solved by the correct application of statecharts to the controller layer.

You'll be creating and coding statecharts after the break. I also have code and statechart examples in the handouts.

Note: this is not a class on interaction design; it's for specifying and later coding and testing your app's own custom interaction design – getting your app written, tested, and updated as quickly and reliably as possible.

The class starts at 10 am Pacific Standard Time, has a 15 minute break around noon, and goes until 2pm. Space is limited to 24 people. Please arrive 5 minutes before the class is schedule to start.

The class will start on time, if you are late or need to leave during the class, the class will be put up online for you to review later.

Please allow 2-4 weeks for the video to be encoded. Each video is unique to the attendee, and may not be a recording of the specific class taken, though it does contain the same material as the outline.

Cost

The class is $99 USD/person. Quantity discounts are not available.

Course Outline

  • MVC: Model-View-Controller
    • what a modern MVC stack looks like in SproutCore
    • "strict" MVC layering and why it's mandatory when using KVC/KVO/Bindings
    • the "V" property and why you must not violate it in your action code
    • the two fundamental tasks to correctly code an app
      • dynamically configure the view layer properties correctly based on user events and data availability
      • responds to user events with appropriate actions, based on the state of the application at the time of the request
    • how the cloud affects things
  • Statecharts: a simple, elegant method to design, code, test, and update apps
    • the notation
    • comparing your current app to an app with statecharts
    • how to design statecharts
    • how to code statecharts so that they efficiently solve the two fundamental tasks:
      • handling view-layer property updates
        • ensuring path-independence
      • responding to user events based on state
      • how to write actions and pass data to the model layer
        • selections and application-level properties; preferences
        • calling into the model layer
        • user scripting
    • how to easily incorporate context-sensitive animation with statecharts
    • how to test statecharts with 100% coverage easily and efficiently
  • App Deliverables and Teamwork
    • how to develop apps with modern MVC and statecharts
    • milestones, deliverables
    • iteration

Teacher Bio

Erich Ocean has been working with Cocoa for 13 years and with SproutCore since 2007. He has taught this course material at Apple (Cupertino, CA), Infosys (India), Bosch (Germany) and to individuals all over the world.

Erich consulted with Apple Computer on SproutCore 1.0 and MobileMe, and with other companies on SproutCore and Cocoa. Most recently, Erich ported the Google v8 JavaScript engine and node.js to Solaris 10.

In 2009, Erich was the primary architect behind SproutCore 1.0's highly-regarded datastore framework.

Quotes

Mike Subelsky, OtherInbox:

Erich Ocean is a software visionary and a gifted teacher. He marries extensive development expertise with an engaging teaching style, which helped me quickly get up to speed in a language and framework that were brand-new to me while building OtherInbox on a tight deadline. I would recommend his training to anyone who wants to get better, faster, and smarter at building applications.

Andreas Linde, Cultured Code:

Working with Erich Ocean has been an awesome experience. The workshop was perfectly organized and all our questions and issues were addressed. We were even able to bring in some new questions and work on strategies and proof of concepts on how our goals could be achieved. The know how that we were able to gather via the workshop made it possible to speed up our development time tremendously while increasing code quality and overall understanding of the used frameworks. We can't wait to do another workshop when our next project starts.

Gregory Moeck, Review:

The training materials on Sproutcore are definitely lacking, and so to have the opportunity to watch, and talk with Erich for 4 hours was a steal of a deal at double what I was charged. I would certainly recommend the course to others...




Last updated February 20, 2011.
Copyright 2010-2011 Erich Atlas Ocean. All Rights Reserved.