Since the first announcements of Microsoft's new .NET platform, ActiveX control developers and tool vendors have been scrambling to adjust their products and their marketing strategies.
This article reports on the changing component market and points you to many of the newly announced .NET Developer Tools.
A feature of the early versions of Visual Basic was the ability to expand the development environment with components known as VBXs. These VBX components were later changed to ActiveX controls. ActiveX controls gave non-VB developers the ability to expand the functionality of their development environments.
Many companies were launched around a component or two and numerous companies turned their attention to a market that in 1998 was projected to grow to $1 billion by 2002. Developer magazines were soon filled with advertisements from component vendors and component marketing companies, and ActiveX component catalogs and demo CDs became a familiar sight in incoming mail.
The market for components has been a rich and dynamic environment. This continues today.
An earth-shaking announcement
The announcement of the .NET initiative involved the creation of a new software development environment. This development environment greatly changed the landscape for component and development tool providers. What would this mean to their business models? How could they move their products from here to there, or should they? Would the .NET platform be a winner or just another round of marketing hype and buzzwords?
As vendors began to take a closer look and realize the implications of this massive shift in Microsoft's developer tool plans, there were probably some sleepless, soul-searching nights, followed by plenty of adrenaline-pumping strategy sessions.
According to Sam Patterson, CEO of ComponentSource, a leading retailer for many component vendors, the hardest decision for most vendors was, “what do I write my component in for .NET and managed code? Do I take my C++ component, ATL-based, and move that to C++ managed code, which we all know is a bit difficult, or do I take the plunge now and just do a native C# version? What we are seeing from most of the vendors is that they are going directly to C#, because they know they will get specific benefits from doing that.”
“They have a guaranteed upgrade path, because they know that Microsoft is taking C# seriously, as hopefully through ECMA, other people may also. We have already seen that with Linux, or at least with BSD, there will be .NET available in some form ? at least C# and the CLI ? on other platforms.”
“The second thing we are seeing is .NET component authors now additionally going to the Java market, because they have learned C#. They had a lot of the learning curve for Java taken away when they learned C#, and some of the top vendors may support the Java market.”
Mike Schinkel, President of Xtras.Net, which once was called VBExtras and is another marketer of various vendors' tools and components, sees the transition to .NET as a gradual process, with a viable market for COM and ActiveX components still remaining for some time. “In the past, people have continued to use a development platform for many years after those who market it are no longer interested. I expect that the ActiveX component market will still continue to be strong for two years ? maybe a year and a half, or maybe three years.”
Schinkel continued, “There are a lot of vendors who may not be positioned as well financially, who may struggle in making the transition, because all of their resources are dedicated to supporting their current products. They don't have the R&D investment to put into quickly building .NET components, and that concerns me for them. I think there will also be vendors coming in from other spaces, including developers who have components for Delphi, who will consider switching to .NET.”
How do you compete with over 2,000 “free” classes?
The .NET Framework is not just a matter of a compiler and a few small runtime DLLs. No, this platform is a collection of over 2,000 object-oriented classes, covering a wide range of development disciplines. Programming in a choice of numerous official .NET languages, you can create applications that rely on the built-in .NET classes, eliminating the need for reams of code or extra libraries.
So, why would someone still need to buy pre-built components from the aftermarket?
The answer is: While the .NET framework is a rich environment, it does not cover all areas of development.
Vendors offering familiar components with familiar names, that have been updated to work with .NET, can offer a sense of comfort and confidence to those wandering far from “home.” Dean Guida, CEO of Infragistics, Inc., said in a recent interview, “We took our current object models (which are mature object models) and retooled them a couple of years ago to take advantage of current platforms. We moved that over to our .NET product line, so people can carry the knowledge they have in using our COM components over to .NET.”
Gent Hito, Product Manager for /n Software, pointed out that the .NET version of their IP*Works! suite will look very familiar to previous users of their components. “There is a .NET namespace called “Ipworks” for our products, and there are 33 components in that namespace. So, you can just instantiate one of them and call it in code as you normally do, although it's much easier to just drag and drop and double-click on it.”
Object-oriented opportunities
Many component and tool vendors have realized that the object-oriented capabilities of the .NET Framework have opened up some interesting possibilities for developers. These changes create different marketing approaches. For example, cross-language inheritance leads to a situation where well-designed third-party products can be added to the Visual Studio IDE and reused or even subclassed to add custom functionality.
Bob Wolf, Vice President of Infragistics, Inc., pointed out that their advanced .NET components are built on their custom “presentation layer framework,” which can actually be directly used by developers for other purposes, as well. Wolf gave this example: “Let's say that part of your application is a vertical market mortgage calculator and you want to write the user interface for that. Well, you don't have to. You can inherit directly from our presentation layer framework and all the UI elements that would apply to your application are already there. .NET has really extended this ability, which will be very beneficial for developers.”
Wolf continued, “It used to be that if you didn't like the way we drew the selected row indicator in our grid control, you had to suggest something to us and then hope for some special code to do that. Now, we have architected our framework to be extensible, giving you the ability to change various things as you see fit.”
What about other developer tools?
So far, this article has focused mostly on the market for pre-built components. However, there are other products, such as visual system architecture designers, flowcharting and modeling tools, drag and drop program creators, and test suites that have been introduced for the .NET platform.
Because of Microsoft's extensible design of the Visual Studio .NET IDE, vendors can integrate their products directly into the IDE. Many of the vendors making recent announcements are taking advantage of this tight integration to explain why you should buy their latest offerings.
For example, Rational Software's promotional materials for their new Rational XDE “lifecycle development solution” talk about how they bring you “an extended development environment, seamlessly integrated with Microsoft Visual Studio .NET.” This kind of marketing talk is very common these days, but the fact is that many of the new tools really do “seamlessly” integrate with VS .NET.
Several new products, such as Alphora's Dataphor, promise to move developers along more quickly by abstracting much of the coding work for database applications into a set of reusable tools and components. Another interesting approach is from SoftWIRE, which uses a graphical modeling environment to allow applications to be built by connecting together various images on the screen and writing much less code.
Summary
The component and tools markets are constantly shifting and .NET represents a very large paradigm shift. Many of the vendors interviewed for this article are up to the challenge of creating useful components for software developers.
The following pages provide a sampling of tools and components we surveyed in February 2002, at the .NET Launch in San Francisco. This list is certainly not complete, but it will give you a glimpse of where the market for tools and components is headed.