The rapid evolution of Microsoft’s .NET platform has made it more difficult for developers to stay on the bleeding edge of its technologies, but components and productivity tools may help, experts say.
Over the last several years, the .NET platform has evolved at a “whirlwind pace,” said Todd Anglin, chief evangelist of Telerik, a company that makes .NET components and tools. Developers have much more to understand and consume than in the early days of .NET when they only targeted Web forms or Windows Forms, he added.
Microsoft first shipped the .NET Framework in 2002. It is now on the cusp of releasing .NET 4.0, a remarkably different product, which will arrive later this year. The release introduces major changes to ASP.NET.
ASP.NET 4.0 is one of the biggest paradigm shifts in ASP.NET development, and it introduces significant new client-side technology, including full data binding and template programming, said Chris Meredith, ComponentOne’s product manager of development tools.
“It is now shifting to where the designer is being taken away, and is pushing people into that code. It is making it easy to do, but it is a very big shift in development practice.
Silverlight, a subset of the .NET runtime, was released in 2007, and Microsoft is on track to deliver Silverlight 4 later this year. Silverlight 4 will provide developers with access to Component Object Model (COM) applications and local hardware resources.
“That is an incredible cycle for anyone to abide by; it is tough on the .NET control market and on [Microsoft] customers,” remarked Lino Tadros, CEO of Falafel Software, a .NET training and consulting company.
“With Silverlight, Microsoft obviously wants to compete with Adobe,” and incorporating .NET technologies provides it with additional leverage, said Mike Baldwin, CEO of Dart Communications, a company that builds communications components for the .NET framework.
Ever since .NET 3.0 shipped in 2006, developers must know more platforms, and they are expected to integrate across platforms, Anglin said. “There is often no time to learn them, and customers are not willing to pay for you to learn.”
.NET 3.0 debuted sundry new technologies, including Windows Communication Foundation, Windows Presentation Foundation (WPF) and Windows Workflow Foundation. .NET 3.5 added ASP.NET AJAX and Language Integrated Query (LINQ); .NET 4.0 will introduce fundamental changes to ASP.NET as well as a model-view-controller pattern.
With so many different development options, there are sometimes many subtle pros and cons to weigh about Microsoft’s now numerous .NET platforms before projects begin, and there is a longer evaluation cycle, Anglin said. “It is more challenging to start .NET projects now” than it was back in the days of WinForms and Web Forms, he added.
Today’s .NET programming model still contains base class libraries for developers to build upon, but it has grown higher-level and prescriptive.
“I wouldn’t have thought that was the original intent,” said Baldwin. “.NET was a super MFC [Microsoft Foundation Classes]. It was great for a developer to build on without getting overly specific as far as what it would enable them to do.
“For better or worse, the .NET Framework has become a vehicle for Microsoft to introduce new technologies.”
The .NET Framework continues to be foundational, although Microsoft does provide some higher-order functionality to simplify common scenarios, said Brian Goldfarb, director of Web/UX Platform and Tools for Microsoft. “Microsoft will always be committed to innovating our platforms for our customers and delivering the value that they ask for.”
The .NET marketplace
With such a rapid pace of development, components and tools are a good solution for developers who want to be on the “bleeding edge” of new Microsoft technology, such as the latest releases of ASP.NET AJAX and Silverlight, said Patrick Hynds, president of consulting firm CriticalSites and a Microsoft regional director (an individual recognized by Microsoft’s Developer Platform evangelism group for technical expertise).
Hynds prefers to use what is included in Microsoft’s tool sets as much as possible, but acknowledged that it is not always possible to use Microsoft as a default tool vendor. “I’ve many times turned to a third-party grid and tool set from pretty much every vendor over time.”
Third-party controls provide additional functionality over what Microsoft offers, and using them may require developers to make special considerations, Hynds said. “A third-party grid will do many things that I don’t need, so I must disable a lot of things. I also look at the bug list to see what they are doing in that regard, but do use them fairly,” he explained.
Falafel Software uses components to make good use of its customers’ time, said Tadros. “We don’t need to reinvent the wheel at a hefty hourly rate. That is not the right way to spend money for our customers.”
Microsoft shipped an unprecedented number of controls with Silverlight 3 (more than 130), when it usually just ships 15–20 controls with other .NET platforms such as ASP.NET and WPF, Tadros said. Further, the controls are high-quality and make it easier for developers to build Silverlight applications, he added.
“Third parties must put some serious meat behind their [Silverlight] controls,” Tadros said. “Customers will benefit from that.”
Several .NET component makers are already planning new products that go beyond what Microsoft offers out of the box.
ComponentOne will build controls to support Silverlight 4, focusing on presentation and performance, said managing director Gustavo Eydelsteyn.
For example, ComponentOne’s Silverlight 3 grid control provided smooth scrolling for large data sets, a feature that Microsoft’s control lacks, as well as specialized maps and gauges.
The company will also release an upgrade to its XAP optimizer and expand its WPF offerings with Silverlight base code, Eydelsteyn added. A XAP file is a compiled Silverlight application.
“We need to be more creative and have more leeway to figure out how to make things happen,” Eydelsteyn said. “We are not disclosing what [local resources] we will be using, but having local storage will help [increase] the performance of applications.”
Xceed, a .NET component maker, is preparing to introduce a grid control for Silverlight 4 in the first half of this year, but it is primarily focusing on using the control to improve user experiences on mobile devices. Silverlight will allow organizations to build custom applications that will drive customer usage further than a standard website could, said vice president of R&D Odi Kosmatos.
“I tweet using Tweetie, not Safari,” Kosmatos said. “If you are not ready with Silverlight, you are missing the boat.”
ComponentOne is also focused on mobile development, and it will be shipping an updated edition of its Studio for an iPhone ASP.NET development toolkit later this year, Meredith said.
Silverlight development has accounted for nearly 70% of Falafel’s consulting engagement over the past six months, but customers have used ASP.NET AJAX heavily over the past several years, Tadros said.
A new emphasis on productivity
Other upcoming .NET development products include productivity tools for Visual Studio.
Telerik is working on a tool that is designed to make it easier for developers to use LINQ, Anglin said. In November, it announced a Visual Studio productivity tool called Just Code, as well as releasing an updated version of its WebUI Test Studio in December.
With Microsoft’s broadening of the .NET Framework, Telerik is increasingly able to become a productivity tool company, Anglin said. “It’s the natural progression of the maturity of the .NET marketplace.”
Several consultancies are creating commercial tool sets around things that they’ve developed for customers in the past, said Hynds. Those include InterKnowlogy and specialized controls from .NET developer Peter Blum, he said.
“I used CodeRush from Developer Express. CodeRush and other [productivity add-ons] help you do things like setting up an event with a few character strings…You can build a reference bar of macros to do things in a few keystrokes that would take dozens—or hundreds—of strokes. It makes a big difference for a productive developer.”
As Microsoft continues to push the boundary of what .NET does, its partners—some new, some old—will be trying to make the case that their products can help developers ease the transition.