Working in FoxPro and ASP.NET and building a framework
I’ve been working long hours on building this FoxPro framework that provides a good chunk of what ASP.NET does in VFP. Ok, a small chunk – the stuff that gets used most of the time.
It’s actually been a very challenging and interesting experience – a thing that I haven’t had in quite some time – and it’s rather rewarding to go through this process. This project of building the next version of Web Connection is actually teaching me loads of stuff about ASP.NET. I have a fairly good grip on ASP.NET architecture, but there’s so much to it that even though I might have understood this or that part of it at some point, I can’t remember all of the details.
Over the last couple of weeks of building this FoxPro framework I’ve actually come to appreciate some of the design decisions that Microsoft has had to make which resulted in some ‘quirky’ behavior with ASP.NET. ASP.NET is necessary a leaky abstraction of a paradigm that tries to bring a more desktop like model to Web development. I think it actually succeeds at this valiantly. But there are a number of things that work a bit unexpectedly regardless – things that deal with properly restoring page state mostly as there’s a lot of interaction between POST data, ViewState and now ControlState along with the way the event routing works.
While building this Web Connection framework I’ve been working side by side with my .NET framework pieces which to a large degree match the Web Connection controls. There’s a lot of back and forth technology trading going on with ideas from FoxPro originally having influenced the .NET framework and now some of my advances in my .NET framework flowing back into the FoxPro code base.
I really hadn’t looked forward to working on this stuff (it’ a big job and there were a lot of open issues I wasn’t sure about), but this is turning out to be a very enlightening experience both in terms of providing a challenge and helping me gain a much deeper understanding of ASP.NET along the way.
I can say I’m stoked!