Remember the challenge I did some time ago with .NET provider for Firebird and MonoTouch? Well because I’ve got access to previews of MonoDroid, why not to try the same here?
Again it’s a pretty challenge for the whole MonoDroid stack, as the provider uses a lot of various pieces from .NET Framework. And taking into account, the MonoDroid is still in previews phase I wasn’t sure I’ll be able to succeed. However I did. With some tweaking, and I kind of remembered the important places from last attempt, so it was faster, I was able to make it work easily.

Application connected to Firebird server and showing server version and data from MON$DABATASE
Cool, isn’t it? Taking into account, that the Windows Phone 7 (because everything there is based on Silverlight) doesn’t contain pieces from ADO.NET, it’s nice that Mono isn’t crippling the objects available.
Still using i.e. OData is probably better idea, but who knows what somebody might wanna create.
During the Friday I realized, that I did a long time nothing with my iPhone & MonoTouch development environment and I should try something more challenging. As I’m still fighting with some good idea for real world test application and my UIs are looking weird, I decided to turn my attention not to iPhone app directly, but to MonoTouch capabilities.
As a true geek I decided to try to connect to Firebird from iPhone. Although, thinking about it, I’m trying to connect to Firebird (or make it work with) with various technologies (Astoria offline, Silverlight, etc.). Because .NET provider for Firebird is pure C# and we have Mono compatible build, I deduced that it should work with iPhone too.
Sure, it’s a nice challenge to whole MonoTouch stack, because the .NET provider is more about the code than about the application itself. And we’re using there a lot of different things that can go wrong or may not be available or compilable to native code. And I have to say, the guys behind MonoTouch did a great work (I still can’t believe it).
With couple of minor tweaks I was able to create application that connects from iPhone (simulator) through internet to Firebird server. Pure C#, no hacking or major problems.

Application connecting to Firebird server and showing the server version.
First I’m impressed how mature the MonoTouch is. Second I’m still trying think thru all the possibilities you have with this. With some work on UI you can deliver the same database oriented application to Windows Mobile and iPhone using the same business layer (sure some webservice approach would be better, but …).
Looks like I joined the prominent group of iPhone developers. Friend of mine, Meap, also experienced iPhone developer should be scared. This is what I did in almost no time.

OK, this application sucks, it’s doing nothing and looks … well looks how it looks.
But the interesting think is, that the application is “written” completely in C# using Mono and MonoTouch. On iPhone you can’t have JIT (because there’s no way to switch page from data to executable) at least now from my little knowledge. Thus you for IL you have to do AOT and that’s nice challenge. In fact that was the reason why I was trying the iPhone development with the MonoTouch.
The environment is completely different (I mean the “iPhone style of creating apps”) from i.e. Windows Mobile. I’m really looking forward to try new stuff not only with the iPhone environment but also with MonoTouch as it’s an interesting piece of code. God, tomorrow, there will be a punishment from friends in office as I’ve sworn to be absolutely not interested in iPhone (and still I am from users perspective), but the development turned this into a temptation (because of developer perspective).