I've recently discovered the
Cappuccino framework. It is impressive, and solves a big problem for me. I lack the graphic design skills needed to create attractive HTML/CSS based websites on my own. More and more I lack the enthusiasm to learn them, as HTML/CSS look more and more like the relic of the past that they are -- a way for people without knowledge of programming to mark up text documents. HTML/CSS were not designed as a user interface for applications, though they have been twisted in brilliant ways to perform as such. I much prefer to spend my time working with the back end, where things are less arbitrary, and I can see big patterns and apply them to multiple problems.
All that aside, I need to learn the Cappuccino framework, and quickly. Every time I come up against a big new framework, like the JDK, Cocoa, or Ruby on Rails, I am daunted by the task of learning it. I am not endowed with an eidetic memory, so I can't just read straight through the documents and memorize all the classes and methods. Even if I could, it wouldn't do me much good, as what is truly important is understanding the way the classes are meant to be put together. Working through provided examples helps a bit, but most examples are so basic as to be of little value in understanding how complex applications should be built within the paradigm of a particular framework.
My approach in the past has been to simply start working on the application I want to build, piecing it together, bit by bit. Learn what I need to get some small feature working, learn what I need get something else working with that, etc. until I have all the features I want. I feel like there must be a better way, though. I feel like if I truly understood the framework, I could build things faster, and not waste time making wrong turns and trying to fit pieces together that don't belong together.
I want building an application to be like hiking up a well-worn mountain trail, not feeling my way through a dark, damp cave.
How to get there from here (quickly)? I don't know. My strategy right now is to work as many Cocoa examples from Hillegass' book as quickly as I can. I would welcome tips from others on how they approach this problem.