Monday, December 3, 2007

V 6.0

And so I start over again... again.

It turns out that the WO stuff for Eclipse wasn't that great after all. The EOModeler replacement had its issues, the SQL code never worked, and I couldn't get Java classes generated from my EO Models. I was facing a re-write of all of my previous work, with a sub-par alternative to sub-sub-par tools, and on a less-than-lean system that I was going to have issues deploying.

With those issues looming, I looked at a change of technology... again.

And so V was reborn. This time it was red and shiny and had thick iron guides. Yes, V has jumped on another fad, this time to Ruby on Rails.

I did plenty of reading before deciding to change. Lack of documentation is one issue that the RoR community is trying to fix. Many of the intro docs go through quick set-ups and overview the creation of mini-projects to show off how quickly you can start working with rails. There are few docs that provide full details of what is going on behind the scenes, or that outline the full set of information. To learn RoR, you have to schlep through these tutorial guides until you learn enough so that you can tackle the API's. That's about all you can do.

I'm still not sure if RoR is the best fit for V. RoR is designed for more casual web applications. Ruby is a tougher language for business logic than Java is and the Rails tools are designed for more strict CRUD (Create, Read, Update, and Delete) access to data. V is a game. Users log in and fight monsters and spend gold on items. It's mostly business logic (yeah, the business of kicking monster ass) and data management isn't as big of a deal. However, there are some really great things that I get with RoR. While Java would be better for the logic programming, Ruby has some awesome OOP stuff including introspection, wacky overriding, and reflection. Unit testing and functionality testing is built-in. While it takes a while to get used to the rails directory and file structure, and you are forced a bit to do things the "rails way" (hence the appropriate title), it uses easy to read pure text files in a standard format. This is such a nice thing to have after WO.

After research, the next step was installation. The steps to install Ruby on Rails on OSX Leopard are as follows:


Did you catch that? It's already installed! Apple chose to include RoR in Leopard. If you have the developer tools installed, you don't have to do a thing.

For the past couple of weeks I have been playing with RoR. I made the usual user sign-up and login/logout as a tutorial/trail. However, now I'm experimenting with using a plug-in that will do it all for me (I'll keep you posted with what I find). I'm getting used to some of the things. There are some things I like (strict MVC, easy agile development, standard naming conventions) and some things I hate (migrations vs. models, too many places to define things, standard naming conventions). The one that beats out the rest is the agile development. It's easy to do piecemeal development, which fits hobbyist programming like this. The best part is how comfortable I feel working with one small bit at a time, knowing I don't need to plan my entire object or DB structure ahead of time.

I'm also starting to re-define the purpose of V. I also have been thinking about how I want it to look. I'm imagining the look of an old map. More details on this to follow

No comments: