Milk and Biscuits instead of rails?
Ever since I became aware of the existence of Ruby on Rails I’ve been wanting to pick it up. I’ve spent evenings and nights trying to install Ruby on my powerbook, and did in fact succeed when I was just about to give up on the whole thing… only to upgrade to Tiger a month later and discover that it was broken again.
I’ve been walking through the todo-list tutorial like a good boy; heck, I even managed to install Typo on my dreamhost domain sovmorgon.com… Apart from me not being used to do stuff from within the terminal, rails really feels like it could live up to all the hype.
But something is holding me back from stepping on. And it’s probably the fact that I really shouldn’t be focusing on programming. My “field of expertise” (pretentious, eh) is within design and front end development. My focus should be on Photoshop and Illustrator, and my text editor should be used for CSS, (x)html and JavaScript. Period.
I’m already messing around with PHP (have been for years and years). These days it’s almost mandatory for a web designer to be able to handle some kind of server side scripting. But this Ruby thing? It’s a totally new language, isn’t it? Damn. I know PHP fairly well, and I can read and modify at least some of the code in .NET applications – and now? this… this… syntax:
@@ ... belongs_to ... has_many ...
feels_logical_when_youre_getting_told_what_to_type ...
…And so?
It’s there, like a big jar of candy, sort of standing on a shelf. Ruby on Rails that is. It sounds like fun. I want to be able to develop small nifty web applications with focus on usability. mainly because it’s fun, but also because simple is useful. But there’s this whole language issue. So what are my options? In my reality, these:
- Learn to code PHP the good way (1.1: find out what ‘the good way is’)
- Stop whining and learn Ruby on Rails
- Stick with design and leave programming to programmers
1. PHP the “good” way?
Now, that Model-View-Controller architecture seems like a good idea. Is that the way to go? At least, there are quite a few more-or-less MVC frameworks out there for PHP:
- Biscuit - more information on the Biscuit Google group… and an updated version including an Adress book application to demonstrate how to build applications with it.
- Cake - discussions
- PHP on Trax - trax instead of rails, eh?
- Mojavi
- PRADO
I’ve spent a few train rides back and forth to Copenhagen with Biscuit… It was a rather nice acquintance. Not a lot of documentation, but a comprehensive tutorial, and the framework was small enough for my brain to grasp at least some of its inner workings.
Prado feels big and complex (don’t know why really, just a feeling I got), Mojavi is undergoing a full php5 rewrite at the moment, Cake’s website kindly informs me that “Cake’s website is under construction” and PHP on trax looks interesting as well, but I haven’t had the time to check it out.
UPDATE: cake seems to be up and running now.
2. Stop that whining, go learn something new
arghh… and reading that interview with David Heinemeier Hansson got me wanting to learn RoR again.
I started writing this post over two weeks ago, but never got any further than that sentence above. It is tempting to delve into the RoR world. The user community around rails is literally on fire, the AJAX integration seems really tight, new applications coming out by the dozens, and now even A list apart is on rails. It’s a “new” language, but it feels like it’s here to stay for a while.
Steps to take if I’m going along with this:
- Get hands on Agile Web Development with Rails
- Try locomotive – in case rails is still broken on the machine
- Make friends with terminal
- Hope I understand squat
3. Stay on your side of the fence, you designer, you
ok, then.
…
Good thing I wrote this down. Number 3 is of course the obvious choice, where I otherwise would have picked #2 and #1. Silly me…
6 comments so far. Go ahead, write something
You can follow any responses to this entry through the RSS feed
My recommendation: http://www.solarphp.com (a mature PHP 5 MVC framework)
#1 teth 13 Sep 05
Thanks teth, will look into it!
#2 bjorn 13 Sep 05
I imagine a lot of folks are in the same boat. I’m a coder, but been through much the same process. A few comments:
For myself, I have chosen both #1 and #2, but found the MVC way of thinking has actually made me a much better designer. CSS design becomes a simple and pleasant task when your display code is all nicely quarantined. It’s been a while since I’ve slapped up a page with black times new roman on a white bg. [-;
#3 prim8 13 Sep 05
Thanks for the insights … and of course I’m going with #2 and #1, was merely being ironic at the end there.
I’ve spent so many hours hacking around in other peoples’ applications trying to get them to work the way I would like them to work – with more or less success. Now is just a good time to start writing something from scratch. MVC seems like the way forward, and now that I understand what CRUD means (Create, Read, Update Destroy), I think I’ll add one of them things as well :)
My updated thoughts are to go with Textmate as my text editor (been using it for a while, and I kind of like it), learn the MVC way of thinking by tinkering with RoR, making good friends with the terminal as we go along – and then see where it all ends up.
#4 bjorn 13 Sep 05
MVC is a nice way to organize larger projects but it’s overkill if you just need to add some dynamic behaviour to a few pages, and possibly underkill if you need a full on J2EE style application server with physical tier separation. My inclination is to think about what your requirements are and then to pick a solution which fits.
PHP is perfect for small projects and scales to larger ones if you have some method to organize it. RoR is great for projects encompasing more than a few pages as it organizes things for you. J2EE and .NET focus their attention on enterprise apps where people have some money to burn. I guess Cold Fusion fits in there somewhere too, also for people who have too much cash.
#5 Trent Reimer 06 Oct 05
So happy to have found this blog. In the same boat indeed…
#6 Tina 20 Sep 07
Type here: