Seamless on/offline: Design winForms and deploy as ajax webapp on mono
Visual WebGui looks very interesting from a perspective that it allows you to develop a winforms application as you normally would and deploy it as a webapp (also).
As per some previous posts, I like to be able to jump seamlessly between platforms. I don’t want to be tied down to anything if I can help it. This is why I wouldn’t buy an Ipod and like Mark Pilgrim, I don’t get the iphone phenomena. I want to use my application online, offline seamlessly. I want to have the same experience, no matter where I am, what I am doing etc. Software like NoMachine’s NX server give me this ability. I have a ultra-portable laptop I bought for $280 on ebay, I have Three wireless, which means I can be a passenger in a car / train / ferry / bus nearly anywhere in metro-Sydney and still have access to my Ubuntu desktop.. that’s frikkin’ cool.
But what about when I don’t have internet access? Well, I previously used Ifolder to keep all my files in sync (which uses mono btw) but ifolder has to be the worst managed open source project I have ever used. Trying to keep a client / server combination that worked together proved to be a feat for me too many times and finally I went in search of something else. I then switched over to Mindquarry (I could have just used svn with some python scripts that watched folders and syncs when it sees a change, I guess) but Mindquarry actually offers a few more features than svn or Ifolder alone ie: Tasks, timeline, wiki and teams.
So, now we have our files synchronised and I use imap, so we have mail synchronised and I have used sitebar for bookmarks for a very long time but there’s something more. What about my feeds in opera? all my vim settings? my bash_profile alias? This is where I think Conduit will be able to help me out eventually (one of the reasons I looked forward to moving to Gnome)
Now, I am really raising two separate issues here. On one hand, I am talking about syncronising two separate computers and on the other, I am talking about a seamless experience between online and offline applications. I think the first is mostly being taken care of. The second issue has some solutions becoming available also. This is where I see stuff like Google Gears, Adobe Air and db4o especially their db4o replication systemproving to show their usefulness.
Sidenote: In the Enterprise Data Centre, Lefthandnetworks has some very similar concepts happening for data virtualisation for online / offline drs solutions as db4o has for persistance – and more importanly for me, their new VMware product looks very promising for high availability + drs soutions using vmware.
So, now I bring up my original point in my posting. Let’s say we develop a desktop applications using db4o (mono bindings available) and I think we could even do that using the .Net python-like language called Boo – the developer of said language happens to also be a developer of db4o. Now, we take said winForms application and deploy it to the web using Visual WebGui. Now, I know the web purists might find this all very freakish as I haven’t done a W3C Validation on it, but I am half-certain something will be wrong and it’s not the sort of thing you are going to be delivering to blind people. I am talking about applications with a specific user base, something like a Mobile Lender, Mobile Salesperson, Microfinancing in remote areas etc.
In my post A Case for Learning Python I put forth my reasoning for deciding to spend all energy learning a language in Python – I don’t think any other language can offer the same access to so much for so little (time investment) as Python.
I will add something to the original list: Windmill is a web testing framework intended for complete automation of user interface testing, with strong test debugging capabilities and of course, it’s written in Python and uses CherryPy.
Powered by ScribeFire.