Saturday, January 13, 2007

Software Platform

Its important to nail down the software platform/stack that you will be building your application upon. In our case, we made a few changes, luckily they were at the very beginning, so we didn't lose a lot of time. In this post, i'll try to details the path we took, while making these decisions.

LAMP - Most folks have heard this by now, its Linux + Apache + MySql + PHP, and this stack powers a substantial number of the web sites out there. In our case, Linux was a no brainer,
given how robust and widespread it is today. However, we started off thinking that we would base ourselves on RedHat Linux. We discovered that Fedora was a better choice, as it had more updated packages(software) available as 'yum' packages. Also, we adopted Fedora 5.0, and not Fedora 6.0, reason being, most hosting companies currently do not support Fedora 6.0.

We looked very closely at Java, as our base programming language. The thinking was, its better to adopt one language that can do most everything you need to do when building an application, instead of using multiple languages. Also, Java is today extremely feature rich, with some very good frameworks, and has also gotten increased adoption over the years.

However, after much thinking, we settled for PHP. We thought that the OO ness was a layer that we could easily do without, web programming is really very simple, there's a request, a response, and a few things in between. And PHP lets us keep it simple. It has definitely helped us get off to a fast start ....

I'll talk about Symfony, Lucene and other topics in my next post.

No comments: