I've been really busy for the last week and the half getting Web Connection 5.0 for Visual FoxPro ready for the first beta release. There's been a lot of work done adding new controls and updating the framework to make sure it's highly backwards compatible with Version 4.x so that existing applications should continue to run with either none or only very minor changes.
Web Connection 5.0 introduces an ASP.NET style programming model to Web Connection 5.0 that is control based using object oriented principles and the ability to use Visual Studio 2005 or the free Visual Web Developer for designing Web application that use pure Visual FoxPro code to execute. This new framework mixes the best of ASP.NET and Visual FoxPro to give a highly productive environment for Web development with Visual FoxPro.
I've created a set of videos for a walk through that demonstrates this functionality here much better than me talking about it :
http://www.west-wind.com/webconnection/videos.asp
There's also a lot of documentation on the framework available online:
http://www.west-wind.com/webconnection/docs/index.htm?page=_1LN1DG5DR.htm
For existing Web Connection developers this framework provides a number of big improvements - it provides a more open and much more extensible model for building applications. It helps split up Web applications into individual page classes that logically can manage actions on a Web page with events being mapped from the server back into methods of your class. This model is very similar to ASP.NET - in fact Web Connection works with many of the basic native ASP.NET controls, although you'll want to use the specific Web Connection provided controls to take advantage of all the cool and FoxPro centric features of the framework. For example, Web Connection's ControlSource based databinding is head and shoulders above what ASP.NET natively provides for databinding and if you're a VFP desktop developer you already know how this easy and powerful mechanism works.
The support for visual design in VIsual Studio also means that you get the flexibility to design your applications using a WYSIWYG editor and property based controls, an event model that maps server events to FoxPro code.
As you can tell I'm pretty excited about this because it synchs up a lot of what I've been doing with ASP.NET in recent years. While I use both ASP.NET and Visual FoxPro, there's been a huge disconnect between the two environments for my work - now there's a much closer match between the two and I continue to see a fairly active demand for pure FoxPro based development as there are many Fox developers who simply don't want to move to .NET. Web Connection provides the ability to easily use FoxPro code with an ASP.NET style environment without the hassle of COM interop.
In light of this release I've been getting a lot of questions on whether developers should be using pure ASP.NET or continue sticking with Visual FoxPro. And the answer to this question is that it depends on your environment and your needs.
For those of you reading this blog regularily, you know that I use ASP.NET quite heavily in my work, and although I bitch about a number of problems about it here frequently, overall I really like working with ASP.NET and in my opininion this is clearly the way to go for new applications and long term growth.
However, I also understand that there are many developers out there that have existing Fox applications that would be difficult to port to .NET without having to complete re-write everything. There's no such thing as a 'port' to .NET for FoxPro applications - it's basically throw it out and start over. In addition there are many Fox developers that I have talked to over the last year that have dabbled with .NET and even moved some projects to .NET only to feel incredibly frustrated by the learning curve for .NET and the lack of ease of use of the data features in .NET especially in terms of local data manipulation and databinding.
While I don't necessarily agree with this - I can see the argument that .NET data management is a heck of a lot more complex and less flexible than what you can do with the Fox data engine, even if there are ways to address these issues in most situations. This framework provides much of the benefit of ASP.NET - increased productivity, a higher level of abstraction and visual designer support - without having to make the huge investment in .NET technology. At the same time, it also gives you a chance to get familiar with Visual Studio and the ASP.NET paradigm while continuing to work with Visual FoxPro. Even leaving out these aspects I think that the Web Control Framework/ASP.NET approach to Web development is simply the most productive way I can think of for building applications. The demos and walk throughs I've built here took a fraction of the time it would have taken with traditional Web Connection methods, and are much more functional to boot. You can get a feel for this in the video/walk through demos.
So here I am caught in the middle . Getting fak from the Fox people who are telling me I'm selling out to the .NET crowd, and I'm getting flak from the .NET crowd for “using FoxPro - are you kidding?“ . Ah, it keeps life interesting. Frankly I don't care, because I do what I believe works best. And I think I've done pretty good building tools that are easy to use, productive and maintainable and that's what it's really about... At this point I have Web frameworks running in both Fox and .NET that match fairly closely so moving between them is easy to do even though it crosses severe language boundaries. I don't know about you but I think that's very cool!
The bottom line is that since I've first talked and shown this stuff off there's been fierce interest, a lot of very positive comments and that makes moving forward along this path worthwhile both from a business as well as from a professional pride perspective. This has been an interesting and very fun - if trying - project for me and I hope this shows in some of the enthusiam ...
For more info visit:
http://www.west-wind.com/webconnection/