In-Depth

The Rich Web Experience -- And Beyond

Scott Guthrie recently sat with VSM to discuss Microsoft's ASP.NET AJAX and the status of other Web-related projects.

Scott Guthrie, general manager of the .NET developer platform and the co-creator of ASP.NET, recently sat with VSM to discuss Microsoft's ASP.NET AJAX and the status of other Web-related projects.

PM: Visual Studio 2005 and the Web Application Project are both out now. Do you regret the move to Web Site projects in VS 2005?

SG: Not at all. We've found that many developers like the new Web Site Project model, and find it more flexible to use in a Web development environment. Some of our customers prefer a more formal project-file based model, though, which is why we added back support for this with the Web Application Project option. Both approaches will be fully supported going forward with future releases, and developers can now choose to use whichever feels most natural to them.

PM: Same question about the de facto removal of the component tray in the forms designer: Was this a mistake?

SG: Actually, we added support back into the final RTM release for the component tray with ASP.NET pages. So, if you have non-visual components like MSMQ adapters, you can continue to use these just as you could with VS 2003. What we did change with VS 2005 is how data-binding works with ASP.NET pages. Instead of using the component tray for this, we introduced a new declarative datasource model that we think works better for stateless Web scenarios. This new approach supports binding the UI against business objects, XML, Web services, and databases with much less code than was required with previous releases.

PM: Similarly, do you think it was a mistake to create a new data binding model relative to Windows Forms?

SG: We think it's important to keep as much similarity as possible between the programming models for all types of managed applications, but it's also important to make sure we provide the best possible experience for each application model. The Web model is stateless, and the client model is stateful, so it's hard to have a "one size fits all" solution that is great for both application types. We chose to optimize the binding scenarios in some cases for the particular audiences.

PM: What are the future plans for ASP.NET AJAX (AKA "Atlas")?

SG: The teams are still working on finalizing our future plans. We will continue to develop the technologies that are included under the ASP.NET AJAX umbrella, and we are focused on delivering great new tool-based features, such as richer IntelliSense, debugging, and WSIWYG editing support with the next release of Visual Studio. We'll continue to incorporate customer feedback and deliver the features that customers tell us they need.

PM: What do you think of Microsoft's competitive position relative to Adobe in the Rich Web App space?

SG: Obviously, Adobe has a large installed base. It also has some loyal developers and an established business. But we think there are some opportunities in this space, and that our overall position is strong. From server to browser, Microsoft offers developers a robust platform for building, hosting, and exposing applications over the Web. In addition to ASP.NET AJAX, Microsoft is investing heavily in other developer and designer technology to drive better experiences not only on the Web, but offline to the client. These technologies include AJAX-style browser solutions with ASP.NET AJAX and Windows Presentation Foundation, the Expression tools to help bridge the gap between developers and designers, Internet Information Services 7 (IIS7) to improve the ASP.NET developer experience, WPF/E, new standards support in IE7, and more. We're excited about the opportunities in this area; we think our customers are as well, based on our conversations with them.

PM: Several ASP.NET 2.0 features work out of the box only with SQL Server and Access. Meanwhile, the provider model makes these features technically compatible with other databases. Have you seen much pickup of features like Web Parts, Membership, and Personalization in Oracle or DB2 shops, or are these used by-and-large in SQL Server shops only?

SG: We worked hard to make sure that the model was designed to enable customers to integrate these features with any backend database or data-source easily. You can download many provider implementations off the Web today, including implementations for MySql, Postgress, Oracle, DB2 and even other schema implementations for SQL Server. Customers have told us they like the approach we've taken with the provider model. It will get even better with IIS7, when administrators will get built-in admin tool support for Membership, Roles, and Profile providers through the IIS7 admin tool.

PM: Do you feel that the release one versions of SharePoint and Commerce Server will enhance ASP.NET 2.0's market position?

SG: Commerce Server 2007 and Microsoft Office SharePoint 2007 are built entirely on ASP.NET 2.0, and I think it shows just how powerful the underlying platform is. Creating these vertically targeted solutions on top of the platform makes it even easier for developers to transfer their skills upwards and downwards.

This additional level of services and functionality, not to mention the high level of integration with the Visual Studio tools and platform, should play a significant role in helping us grow ASP.NET 2.0's market position. We have also recently released the VS 2005 Extensions for SharePoint Server. This tool provides nice VS 2005 tool support for extending and customizing SharePoint solutions using ASP.NET 2.0 and Visual Studio. Obviously, you can also open up and edit Commerce Server projects with VS 2005 today as well.

PM: What's your take, at present, regarding the growth of browser-based apps versus Windows clients? Will Vista and WPF change this dynamic?

SG: Microsoft has invested heavily in both browser-based applications with ASP.NET and our recent AJAX extensions, and in Windows-based applications with Windows Vista, Visual Studio tools for Office, and Windows Forms. We're certainly seeing developers build some exciting applications using ASP.NET and AJAX, such as MySpace, Phanfare, Burton Snowboards, and Shelfari, to name a few. However, developers who need to build applications that are occasionally connected, have rich data visualization, or take advantage of resources on the local machine from the GPU to Microsoft Office are innovating in the Windows client space as well. We're committed to providing developers with a choice, so they can build applications that best suit the needs of their users.

PM: Do you think the .NET vs. Java EE battle rages on? Has Microsoft won? Will IBM, Eclipse, and so on strike back anytime soon?

SG: The battle was fairly short-lived, and, in retrospect, was more of a proxy war than a real one. J2EE was conceived to unify a bunch of Java-based vendors of server-side infrastructure. Not long after the J2EE standard was created, many of those vendors simply disappeared. And the ones that remained created innovations on top of the "J2EE platform" to differentiate their offerings. This phenomenon accelerated significantly after the release of .NET 1.0, when ASP.NET began delivering most of the goodness of server-side Java frameworks (good performance in a managed programming model), without the high cost and complexity.

So at this point I don't see much unity in "Java." JEE remains a standard in name, but I think more meaningful innovation comes from outside JEE with things such as Hibernate and Spring. The vendors who make money on server-side Java have staked out technical roadmaps that are quite divergent and proprietary. IBM's tools don't work with BEA's server, which doesn't work with the JBoss management console. J2EE was supposed to facilitate interoperability, but that didn't happen. In fact, J2EE/JEE loses its meaning as a standard with this divergence.

Competition is alive and well. But because of the divergence and the trend toward "vendor platforms," it is an artifice to speak of a "Java EE versus .NET battle." Customers don't look at it as a "Java EE versus .NET" decision—rather, the decision is whether to go with IBM versus Microsoft, or PHP versus ASP.NET, or BEA WebLogic Portal versus Microsoft Office SharePoint, and so on.

Microsoft is generally fairing well in these competitive decisions. We win by delivering better value for customers, better productivity, and simpler and better integrated experiences. The growth in the Microsoft Server and Tools business serves as good evidence of that.

Guthrie is general manager of the .NET developer platform, as well as the co-creator of ASP.NET. His individual technical contributions include: ASP.NET Web Forms Page Architecture, ASP.NET Web Services Infrastructure, ASP.NET Compilation System, ASP.NET Distributed Session State Infrastructure, ASP.NET Deployment Architecture, ASP.NET Reliability System, and the ASP.NET HTTP Runtime Architecture. Prior to ASP.NET, Scott was a member of the Internet Information Services (IIS) and Windows NT development teams.

About the Author

Written/compiled by the editors of Visual Studio Magazine.

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube