{"id":3473,"date":"2004-10-06T23:53:00","date_gmt":"2004-10-06T23:53:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/heaths\/2004\/10\/06\/the-smart-client-revolution\/"},"modified":"2004-10-06T23:53:00","modified_gmt":"2004-10-06T23:53:00","slug":"the-smart-client-revolution","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/setup\/the-smart-client-revolution\/","title":{"rendered":"The Smart Client Revolution"},"content":{"rendered":"<p>MSDN&nbsp;TV has posted a video about <a href=\"http:\/\/msdn.microsoft.com\/msdntv\/episode.aspx?xml=episodes\/en\/20040930SmartClientTH\/manifest.xml\">.NET Smart Client Applications<\/a>&nbsp;and <em>&#8220;the buzz around the .NET Smart Client Application Revolution.&#8221;<\/em><\/p>\n<p>Well, call me a revolutionary then since having architected such a large-scale solution during the .NET 1.0 RC2 I was doing ths several years ago. While I no longer work for the company I can attest that smart clients are a step in the right direction in the age of the Internet where so many people and businesses have fast connections.<\/p>\n<p>Since clients browsers download and execute everything you see in a browser from web pages to ActiveX controls, assemblies are downloaded and executed in a new AppDomain taking some load off the server. This also lets you design better user interfaces with fewer problems than commonly associated with the mostly stateless model of ASP.NET.<\/p>\n<p>This lets you update assemblies that &#8211; if <a href=\"http:\/\/msdn.microsoft.com\/library\/en-us\/cpguide\/html\/cpconassemblyversioning.asp\">versioned correctly<\/a> &#8211; are downloaded and cached in the temporary assembly cache, isolated them from other assemblies and versions. This presents a good opportunity to keep the application up-to-date, cutting down on deployment costs and increasing the response time for bug fixes and feature enhancements.<\/p>\n<p>As the video describes, however, the major drawback is that the .NET Framework is required to run applications that target the .NET Framework (just as Java applications required a JVM). This can be a 20+ MB <a href=\"http:\/\/msdn.microsoft.com\/netframework\/downloads\/updates\/default.aspx\">download<\/a>. In the near future, however, this shouldn&#8217;t be a problem since newer platforms like Windows Server 2003 and &#8220;Longhorn&#8221; are shipping with the Framework.<\/p>\n<p>Another problem with <a href=\"http:\/\/msdn.microsoft.com\/library\/en-us\/cpguide\/html\/cpcondeployingcommonlanguageruntimeapplicationusingie55.asp\">touchless deployment<\/a>&nbsp;is that a connection is required. In those cases, and offline smart client is beneficial. The .NET Framework 2.0 introduces <a href=\"http:\/\/msdn2.microsoft.com\/library\/wh45kb66.aspx\">ClickOnce<\/a>, which combines touchless deployment with a typical installation. There&#8217;s also the <a href=\"http:\/\/msdn.microsoft.com\/library\/default.asp?url=\/library\/en-us\/dnpag\/html\/offline.asp\">Smart Client Offline Application Block<\/a> that you can use with the .NET Framework 1.0 and 1.1.<\/p>\n<p>So, take a look at the video MSDN TV has put together and read some of the articles. If you&#8217;re already distributing connected client applications, you could benefit from smart clients. If you&#8217;re not already building connected applications, this may open up wonderful new business opportunities.<\/p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>MSDN&nbsp;TV has posted a video about .NET Smart Client Applications&nbsp;and &#8220;the buzz around the .NET Smart Client Application Revolution.&#8221; Well, call me a revolutionary then since having architected such a large-scale solution during the .NET 1.0 RC2 I was doing ths several years ago. While I no longer work for the company I can attest [&hellip;]<\/p>\n","protected":false},"author":389,"featured_media":3843,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[14,20],"class_list":["post-3473","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-development","tag-installation"],"acf":[],"blog_post_summary":"<p>MSDN&nbsp;TV has posted a video about .NET Smart Client Applications&nbsp;and &#8220;the buzz around the .NET Smart Client Application Revolution.&#8221; Well, call me a revolutionary then since having architected such a large-scale solution during the .NET 1.0 RC2 I was doing ths several years ago. While I no longer work for the company I can attest [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/posts\/3473","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/users\/389"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/comments?post=3473"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/posts\/3473\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/media\/3843"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/media?parent=3473"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/categories?post=3473"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/tags?post=3473"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}