Posts tagged with 'theproject'
THE PROJECT: Language? Framework?
One of the first things I need to determine about THE PROJECT is what I'll build the application with. I'm positive I'll take advantage of one of the frameworks (like Ruby on Rails or CakePHP) to build the application, but I need to nail down which language I'll use. There are many many choices out there on what language to use, but for me there are only two I'll choose from: PHP or Ruby. But, which one? I've done quite a bit of work with both, although less with PHP. Let’s see the options:
Ruby
For the last three years, most of the work I've done has been with Ruby, either with Rails or, more recently, Merb. I grow more comfortable with Ruby every day and I still have fun learning new tricks. This had been pretty much restricted to Rails up until I gave Merb a try a few months ago. I rewrote this weblog with Merb and I had a good time teaching myself something new. Yes, there are many, many similarities between Rails and Merb, but I think there are some things that Merb does better (and easier). Rails, on the other hand, is a little more robust and has a larger community behind it. It could be easier to do what I want to (in the scope of this project) with Rails, as opposed to Merb.
PHP
In the last year, I've built a few web apps using the CakePHP framework, and I found it quite a nice change of pace to work with. Since I had a strong Rails background, CakePHP was easy to pick up since they certainly had Rails in mind when putting the framework together. However, if I went with PHP, I'm not sure I'd go with CakePHP. I've heard many good things about another framework, CodeIgniter, and I'm eager to try it. There’s nothing that particular bugged me about CakePHP, but CodeIgniter has a reputation as being a little faster, but it may not have a community as big as CakePHP’s backing it up, or as many places to look for code examples.
The Decision
So, what will it be? First of all, I think I can narrow it down to using Ruby instead of PHP. PHP is more widely supported (and easier to deploy, etc., etc.), but I think my day-to-day experience leans me more towards Ruby. I'm just more comfortable with Ruby than I am with PHP. I do want to use the CodeIgniter framework for something in the future (and I think I may already know what that is), but I just don’t think it’s quite right for this project.
That leaves me with the Ruby language, but which of the frameworks? Merb is just about to reach the big 1.0 milestone, but while Merb may be ready, I'm not sure I'm ready to build something big on the framework. It’s still young and with many fairly drastic changes in the API the last few months, there’s not a whole lot out there in the way of documentation and sample apps and code. In the few years I've been working with Ruby on Rails, the community has exploded with plugins for just about everything, tons of sample code, and a growing reference library (thanks to the Rails-related weblogs and numerous tutorials). I know Rails is up to the task, and that it can handle all that I'm wanting to do (and more).
In my mind, that settles it: I'll use Ruby on Rails.
Introducing THE PROJECT
I've had the idea for this web application for over a year now, but haven’t done much with it. Well, I take that back. I started and stopped it about three or four times, but I always stalled on some small detail or became distracted by something else. This time I'm going to do quite a bit more planning up front to avoid the traps I fell into in the past. I also thought I'd post about my progress here on the weblog. Hopefully, this exercise will help me organize my thoughts and ideas.
The last big web application project I built was Lists of Bests (archive of my version, current version), but it’s been two years since I sold the site to The Robot Co-op. I haven’t done anything of note since then. Well, I could mention the intranet app I work on for a small Dallas-based company, but no one outside of the company will ever see it, so that one doesn’t count (even though it is pretty awesome). It’s now well past time for me to start up something new, and the fact that I have the idea, that’s all for the better. I will say that the idea behind THE PROJECT isn’t an entirely new idea, but my plans are to make a good idea even better. We'll see if I can deliver on that!
I plan on covering much of the progress of the application while I'm working through it: technology used; layout decisions; administrivia; and everything else. However, I will keep the actual focus of the web application secret until I get a little further along in the process, although some clues may surface throughout the series of posts. The next couple of posts will cover more general ideas and questions, before I start writing any code at all. Then I'll get into the meat of building the full-on web application. So stay tuned!
As a final note, a bit of inspiration for putting this series together goes to Garrett Dimon and the blogging he’s been doing while building his app Sifter.




