Okay, in my last post I said I was going to use one of the discussed design patterns, but because of of the lack of time (short deadline) I didn’t do it, sorry 🙁
Well that said, let me shortly explain. I was asked to develop an application to keep track of some runners. These runners would run a fixed track for a duration of 6 hours. Well I thought this was the perfect occasion to get up to date with gtk(#) and mono. I also did a fresh install of dapper drake (more on that in the near future), and installed almost everything I could find on mono from the ubuntu repositories.
I most say, development went smooth, okay I have to admit, I do know some things about the Gtk Object Model and widgets, so I had a head start. Well its far from finished, but I thought, lets blog about it 😉 And because we all like screenshots, here are some from the development.
Here’s the monodevelop, okay I know its C# and a lot of you guys are gonna throw something at me, but I did 90% of my work in VM enabled programming languages, and I like it. I have to admit the monodevelop IDE is far and I mean far from where VS.NET is, but at least there’s something. I also mailed with one of the developers a year ago and he told me that he was refactoring the whole code base to use the plugin pattern (as almost all tools do these days). The version I installed was already the refactored one, and from the plugin manager I had the option to install some plugins. I wanted to give the Version Control plugin a go, but it just draw a blank panel, hmmm, maybe I’ll check it out later.
As you can see I don’t have much at this time, but the big picture is to have 1 form with 3 tabs. First tab is for doing the CRUD on our runners. The second tab will be tab where the users can enter the number of the runner when he passes and a new record will be inserted with the timestamp to keep track of how many laps the runner has done, and also what time it took him to do all his laps.
The third pannel will be an overview panel where the user can see all the runners with their laptimes, and there will be a print option. Now about the print option, I’m not quite sure yet. I think I’m going to use OpenOffice Calc, build a template and than call that template from my mono app. Then the user can choose whether he wants to print it, send it to an email adres,… Its up to him.
The backend will be implemented using NHibernate, the hibernate buddy but than in mono/dotnet. It should work the same, as hibernate what I’ve used in several java projects already. And no matter what some managers say, it does shorten the development cycle!! And no its not a miracle tool, some things are just better done in plain Sql code.
The db will off course be mysql, what else? (okay, maybe postgre or sqllite)
In the next screenshot you will see my dear old glade-2 tool builder. How else would you build a gnome app, right?!
I hope to have it finished by the end of the weekend, otherwise I’ll be in trouble. After its finished, I’ll put it under the GPL or LGPL license and see if I can get a hold of a sourceforge pass (or maybe even gnome pass), to store it on their CVS.