Aging VB6 applications are a time bomb. Not only are the hardware, operating systems and runtime environments that they run on all candidates for replacement, but Microsoft will almost certainly drop support for VB6 after Windows 7. When the underlying infrastructure gets replaced, it could mean your application suddenly stops working — i.e. blows up — and you won’t be able to call on Microsoft for help.
We like to dismiss the proverbial “legacy application” — like that old VB6 app — as something from the dinosaur age. It’s easy to write off pre-Y2K (year 2000) programs, MS DOS, COBOL and mainframe systems with a cynical smirk while ignoring the millions of lines of code making up today’s client/server systems, but these often critical applications really are time bombs. Paradoxically, even the applications written in more recent technologies such as Silverlight and Web Forms are also in danger of blowing up.
|Editor’s Note: The author, Navot Peled, is co-founder and president of Gizmox, makers of the migration tool for legacy client/server applications. We have selected this article for publication because we believe it to have objective technical merit.
Microsoft’s technology roadmap has taken some sharp turns in direction. ASP.NET/Web Forms was scrapped in favor of Silverlight and now, after converting developers and enterprises, it’s shifted its focus yet again. That isn’t a bad thing in itself; the problem for developers is the lack of support for backward compatibility or the lack of a migration offering. For example, Microsoft still hasn’t come up with a true migration tool for VB6, either to .NET or a Web architecture.
Like Flash/Flex, Silverlight is locked out of Apple’s iOS, whose use has spread dramatically in the iPad/iPhone age. Silverlight isn’t supported by Android either. The ace in HTML5’s deck is cross-platform compatibility (browser and OS), and that raises a serious question about Silverlight’s chances of survival. The relative lack of information from Microsoft doesn’t alleviate these concerns either.
The Impending VB6 Bombshell
Companies relying on VB6-based information systems — by some estimations, around 15 billion lines of VB6 code are running in enterprises — are those most in need of modernization to rich Internet applications. A number of hacks and workarounds will no doubt keep the VB6 runtime working under Win8 even without Microsoft’s support, but the inability to further develop the VB6-based systems on the new operating system –at least not using current technologies or tools to support new or even some core Win8 capabilities — makes this approach futile for line of business (LOB) applications.
Choosing a New Lease on Life Over Retirement
Given that Microsoft’s declared Web client strategy is HTML5/JS and not a proprietary format, we can presume their future Web solution will be without WPF or Silverlight. Ideally this would be:
- A server-centric architecture based on .NET
- An HTML5/JS/Ajax framework as the presentation layer
- Form-like development in Visual Studio
- Very high virtualization of presentation layer and data binding
- Available now on 32/64-bit Windows
- 100% supported in Win8
- Supplied with a powerful migration capability of current (legacy) systems to Web-based systems