I've been using Joomla for all my development so far. I've never had to write a single line of code before.

But now all that is changing, I'm forcing myself to dabble with pure php and it's a lot of fun.

So my question to you is how do you go about developing your applications?
Do you prefer to use an existing Framework? If yes, which one and why?

I found CodeIgniter to be really good, mainly because Grocery_CRUD is a really good plugin to be used with CI but it also has its limitations.
I didn't find too many meaningful CI tutorials out there, many of them were out-dated as it is.

And if you don't use a Framework, how do you do it then?
How do you deal with redundancy? What about using a unified template for the whole site?
Do you use OOP?