Over the last years of the twentieth century we witnessed the browser wars with more important incitement the antitrust case of the United States vs. Microsoft which was marked by the introduction of Internet Explorer 4.0.
Back then it was not clear to everyone except the more tech savvy why this case was so important to attract the interest of the federal government. Few years later though, the evolution of the computer industry completely justified the concerns about the possibility of a browser monopoly as absolutely valid.
In a matter of a handful of years we experienced a complete change of directions in the field of User Interface development, as the traditional desktop applications were replaced by thinner browser based clients pushing technologies like MFC, Powerbuilder, Visual Basic 6, ActiveX to the borders of legacy applications while Web related ones rapidly became the standard.
Java script, which in the past had been seen as a simple scripting browser based tool, eventually became one of the most popular programming languages and definitely the one with the more users around the globe.
Server side scripting technologies such as ASP.NET, PHP, Ruby On Rails, JSP to name a few, work complimentary to browser based java script code utilizing AJAX and DHTML and creating rather sophisticated front ends that in most cases resemble a full blown desktop application.
Besides this though, it is true that web based applications have not totally replaced their desktop homologous competitors. Although google docs are widely used, they are still far behind in functionality compared to Open or Microsoft Office. There is no web based equivalent to an Integrated Development Environment like Visual Studio or Eclipse and email clients like Outlook or Thunderbird are still in wide use offering superior functionality to gmail or any other web based similar application.
I believe that the developer needs to have exposure to both ends of the development spectrum and feel equally comfortable with either one. Based on the need of the application we can either develop a full blown desktop client utilizing the .NET and click once frameworks or we can create an ASP.NET as we are very early adapters of it and follow its evolution very closely.