Web Development Environments

I recently scoured the internet in the search of the “perfect framework for me”. I work in web design and development so spend a lot of my time either designing or building web applications and decided it was time to look into the different ways I could approach doing so.

I started by researching what big web apps where written in, and the results where as I expected. The big three where; Rails (a web environment written in Ruby), Django (a python web environment) and the most obvious PHP. Although I know PHP thoroughly I decided to take a chance and see if I could learn the other two. The results where. Well, unfortunate.

I began with Rails. I’d looked into Ruby before, and quite liked the idea of Rails so dove right in. At first I was quite amused with being able to have Rails scaffold my controllers, In English that means produce a basic Model, View and Controller from a database table etc. Scaffolding was great for the first 5 minutes, and then you begin to realise that, sure Rails is being clever and trying to guess what I want but 90% of the time it’s guessing wrong. Rails had become to frustrating to spend any more time on. On with the show!

Next on the agenda was Django. I had heard good things about Django especially its built in web app admin controller. Then once again you realise its a lot of generating scripts. Another major let down was the lack of hosting support for DJango. I spent all of 10 minutes with Django, and unfortunately it was 10 minutes wasted. I should have spent more time looking into Django however as we already know I was on a mission to find myself a web development environment! Time was of the essence.

After another 5 minute flurry with Rails I went sulking back to PHP. PHP is a great language to be writing web apps in, after all its what it was made for. But PHP on its own lacks the MVC architectures and module based power that came with Rails and Django. What I needed was PHP with a framework!

Working in web development means when sitting in the office at work I get to over hear the names of all sorts of frameworks and libraries being thrown around the office between the developers. The name that came straight to mind was Kohana.

Kohana is the base framework being a lot of the magic done in our office. I went ahead and checked out a copy from their Git repository and stuck it on my server. There it was already configured. The language heavily documented. A framework for someone like me. A framework that didn’t do things for you but allowed you to do anything with its powerful ORM and great auth, database and core modules. It even has an HMVC architecture. Kohana is the high class whore of the web environment world. Letting you do whatever you wish with it without complaint or disconcerting error throwing. Within ten minutes I had built a blog app with admin controls. I felt empowered without the feeling of being babied that Rails gave me.

In short this post is more about my oppinions and lack of effort spent learning new things. However I’m sure there are many more web developers digging around for a great applications environment and if you ask me, I’d suggest Kohana PHP.