Friday, May 09, 2008

GLACIER - Creating a new ColdFusion Framework

Glacier LogoAfter much frustration with other ColdFusion frameworks, in particular Fusebox, I decided to create a new framework that included a configurable plugin-style interface and an object factory. Just recently, the company I work for released their new website using this new framework.

However, as with all pieces of code, the minute you finish it, the minute you wish you could go back and start again and do it better. For instance, the framework (dubbed Icicle) is a bit too tied into the application that it supports for my liking. There are modules that are in the wrong place, logically, and others that exist when they shouldn't and vice versa.

So, whilst restructuring the application for multi-site, I decided to redevelop the Framework so that it could be used away from the corporate site it was designed for.

This new framework will be known as GLACIER, just to continue, ad nauseum, the ice theme, and will be documented and eventually released here. I hope you like it - please tell me if I'm going in the wrong direction!

4 comments:

Anonymous said...

Hi Michael,

To be honest the things you talked about already in ColdBox. I would suggest to have a serious look to ColdBox examples.

1: object Factory
2: configurable Plugins
3: Interceptors
4: Request Decorator
5: Caching engine
6: Full SES support
7: IOC integrated Lightwire/ coldspring support
8: convention based framwork.
9: FLEX, AIR, Ajax proxy
10: Remote event-driven model
11: much much more

So in short "GLACIER" should be better replacement if you are too keen to reinvent the wheel.

Thanks

Michael Horne said...

This is _almost_ a bitchy comment (the reinventing the wheel bit) but I thought I'd let it through anyway.

I'd already looked at ColdBox and, to be honest, it looked a little over-the-top for what I wanted. I also still think that frameworks tend to split things up too much. After all, if it's an MVC framework, I believe we should stick to Model View Controller, not Model View Controller Plugin Includes Layouts... A layout is, surely, a view?

Having said that, I will have a serious look at ColdBox. (Their website is pwetty!)

I wasn't seeking to re-invent the wheel. I can honestly see a desire for a _simple_ MVC framework where there is no feeling of 'what the heck is _that_'?

Nick Tong said...

Hi Michael, do you mind me asking what feed back you have given to the framework creators regarding their frameworks?

Michael Horne said...

I did feed back at some point that Fusebox was overly complicated for what it did, but received no reply.

For ColdBox, I didn't feel that 'aww, I wish it was simpler' would go down too well!

With frameworks in general, they are very big and possibly cumbersome when you're not using _all_ of it. Like Lightwire/ColdSpring support - this probably came out of someone wanting it. That's great for that minority, but makes me wonder if it doesn't add something to the overhead.

Glacier is being aimed at the audience of 'I need something to structure my code, but it needs to be something I can change and develop as my own'.