Trends in Component Development: Where Is the Industry, and Where Is It Going?
By Dean Guida
Although my background spans many years as a software developer, I haven't coded for more than 10 years. Today the majority of my time is spent involved with Infragistics development teams and in numerous meetings with our customers from Fortune 10 companies, independent developers, and commercial software companies. I'd like to share with you some of the trends I have observed regarding component development in today's marketplace.
The first trend I've noticed stems from a disconnect between corporations (who want thin client applications) and developers and users (who want a rich client/server user interface and experience). Recently I presented before a large financial company on the topics of .NET and our presentation components for Visual Studio and Visual Studio.NET. There, I met the man in charge of a group supporting the development teams for his company. He told me they had a mandate to write all future applications as thin clients. This created a lot of pushback among the development teams as they and their customers have come to expect the rich functionality of client/server applications. But after my demonstration their browser-based broadcast software, viewed by hundreds of their developers around the world, they saw the light: It is now possible to deliver the rich user interface within a thin client or ASP.NET application. I think this speaks to the great architecture of ASP.NET component technology and the advanced levels companies such as Infragistics bring to ASP.NET user interface components. ASP.NET delivers an object-oriented language development platform to build your server-side applications. This allows you to reuse functionality and makes maintaining source code easier. You can program your browser-based screens through familiar API calls to methods, events, and properties. The neat thing is that the UI server-side component, through its painting or rendering technology, streams down the appropriate HTML or DHTML code to display the interface in the browser. The rendering is so sophisticated, you can even have hierarchical grids with Outlook grouped by functionality in your browser! Put an Outlook bar and graph within the page and your users will feel like they are running their favorite client/server application.
The second trend I have seen is the progression or maturity of development managers' desire for developer productivity and the use of development tools. When I was building applications for Fortune 500 companies, my development teams were concerned about productivity, but we were more concerned about the art of building software and showing everyone how smart we were. We created all the plumbing and systems software in addition to the real deliverable, which was the business application. Of course, after we created these massive code bases, we would want to move on to the next new software project and leave the problems of software maintenance to someone else.
Today, I think this way of thinking is over. Economically, it simply does not make sense. With reduced budgets, the high cost of software development, and the wide selection of pre-built, field-tested commercial components, developers are asking: Why reinvent the wheel?
The third trend I see is the evolution of reusable code. Developers are demanding more than a single component, but frameworks of components that are built in such a way that they can learn one component and then be able to leverage that knowledge to use another set of components in the collection. Frameworks also lend themselves to build well thought-out components that are stable, extensible, and flexible because there is a shared code base among the components.
In the past, developers, project managers, CIOs, and CTOs would say that UI components are an afterthought to the development process. They'd say, "If I run across a problem, I will pick up a UI component to solve the problem." What a lot of them are starting to realize now is 35 to 40 percent of a development team's cost and effort is spent on the presentation layer. If you could cut down the time on this area of development and build commercial-class interfaces with a consistent API, everybody wins. After all, first impressions count.
Finally, what seems to be consistent for the 20 years I have been in software development is that developer tools continue to get more advanced every year, but the job of building and integrating computer systems continues to get more complex. We are more in demand now then ever!
Dean Guida is CEO and president of Infragistics and was CEO and a co-founder of ProtoView Development Corp. Guida has more than 15 years' experience in the technical industry, and he oversees all aspects of his company's business operations and corporate direction. Guida also is responsible for cultivating strategic alliances and other external relationships, as well as managing corporate financial affairs.