<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Is Microsoft digging in the wrong place?</title>
	<atom:link href="http://www.andygibson.net/blog/index.php/2008/06/29/is-microsoft-digging-in-the-wrong-place/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.andygibson.net/blog/index.php/2008/06/29/is-microsoft-digging-in-the-wrong-place/</link>
	<description>Software Development Blog</description>
	<lastBuildDate>Tue, 09 Mar 2010 22:02:57 -0500</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Andy Gibson</title>
		<link>http://www.andygibson.net/blog/index.php/2008/06/29/is-microsoft-digging-in-the-wrong-place/comment-page-1/#comment-24</link>
		<dc:creator>Andy Gibson</dc:creator>
		<pubDate>Tue, 02 Sep 2008 04:35:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.andygibson.net/blog/?p=4#comment-24</guid>
		<description>I should also add that the inability to bind the view to base objects (List or Entity classes) also creates problems when using third party libraries like nHibernate or other entity frameworks, the benefits of which are numerous although debatable. 

I do like .net for a number of reasons, I just think that they have missed the point on some of the OO modeling / MVC aspects.</description>
		<content:encoded><![CDATA[<p>I should also add that the inability to bind the view to base objects (List or Entity classes) also creates problems when using third party libraries like nHibernate or other entity frameworks, the benefits of which are numerous although debatable. </p>
<p>I do like .net for a number of reasons, I just think that they have missed the point on some of the OO modeling / MVC aspects.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andy Gibson</title>
		<link>http://www.andygibson.net/blog/index.php/2008/06/29/is-microsoft-digging-in-the-wrong-place/comment-page-1/#comment-23</link>
		<dc:creator>Andy Gibson</dc:creator>
		<pubDate>Tue, 02 Sep 2008 03:54:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.andygibson.net/blog/?p=4#comment-23</guid>
		<description>Hi Wheelright, You&#039;ll get no argument from me on the benefits of webforms /component/event driven frameworks over action frameworks.

I&#039;m sure there are ways to implement business logic in a way that is decoupled from the view and used by either the code behind class or the action handler. My primary point is that typically it is not the Microsoft way to write applications like this and they instead direct the developer down the &quot;database datasource bound to the GUI&quot; path. This is not the Java way, and hasn&#039;t been for a number of years, and it&#039;s probably not the Ruby way either since the focus there is on Active Record.

For example getting a paginated list of customers should be separate class that takes the first result, the page size and a session and returns a list of Customer objects. I can re-use that object in my WinForms client, or even in my MVC application. 

My secondary point is that ASP makes it a pain to bind the front end to the model. Why can&#039;t I bind to a list of entity objects and use reflection to find out the properties? Instead, I have to resort to wrapping data in data sources or using other DTO-type patterns to make the data presentable to the view which again is the old, and often despised way of doing things.

Take a look at JSF which uses named objects for data binding by creating backing beans (think code behind classes by name) that provide 2 way binding of data.</description>
		<content:encoded><![CDATA[<p>Hi Wheelright, You&#8217;ll get no argument from me on the benefits of webforms /component/event driven frameworks over action frameworks.</p>
<p>I&#8217;m sure there are ways to implement business logic in a way that is decoupled from the view and used by either the code behind class or the action handler. My primary point is that typically it is not the Microsoft way to write applications like this and they instead direct the developer down the &#8220;database datasource bound to the GUI&#8221; path. This is not the Java way, and hasn&#8217;t been for a number of years, and it&#8217;s probably not the Ruby way either since the focus there is on Active Record.</p>
<p>For example getting a paginated list of customers should be separate class that takes the first result, the page size and a session and returns a list of Customer objects. I can re-use that object in my WinForms client, or even in my MVC application. </p>
<p>My secondary point is that ASP makes it a pain to bind the front end to the model. Why can&#8217;t I bind to a list of entity objects and use reflection to find out the properties? Instead, I have to resort to wrapping data in data sources or using other DTO-type patterns to make the data presentable to the view which again is the old, and often despised way of doing things.</p>
<p>Take a look at JSF which uses named objects for data binding by creating backing beans (think code behind classes by name) that provide 2 way binding of data.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Wheelwright</title>
		<link>http://www.andygibson.net/blog/index.php/2008/06/29/is-microsoft-digging-in-the-wrong-place/comment-page-1/#comment-22</link>
		<dc:creator>Wheelwright</dc:creator>
		<pubDate>Tue, 02 Sep 2008 02:46:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.andygibson.net/blog/?p=4#comment-22</guid>
		<description>Microsoft only put out MVC framework to attract &quot;new blood&quot;, their event-driven webforms approach was always superior. Webforms allow complete separation between presentation and business layers which MVC doesn&#039;t. The reasons are as follows: MVC has no tightly-bound codebehind page to reference/modify page controls either directly or inside event handlers. Further to that MVC has no concept of full-featured serverside DOM with integrated stateful persistence mechanism. All this taken together makes MVC somewhat of a toy and based on spaghetti coded views so prevalent in Ruby / Python / Java frameworks that&#039;s exactly what it is. Equivalent aspx pages can be so much cleaner there is really no comparison. So please don&#039;t lecture me that .NET is somehow inherently worse when it comes to preponderance of spaghetti code.</description>
		<content:encoded><![CDATA[<p>Microsoft only put out MVC framework to attract &#8220;new blood&#8221;, their event-driven webforms approach was always superior. Webforms allow complete separation between presentation and business layers which MVC doesn&#8217;t. The reasons are as follows: MVC has no tightly-bound codebehind page to reference/modify page controls either directly or inside event handlers. Further to that MVC has no concept of full-featured serverside DOM with integrated stateful persistence mechanism. All this taken together makes MVC somewhat of a toy and based on spaghetti coded views so prevalent in Ruby / Python / Java frameworks that&#8217;s exactly what it is. Equivalent aspx pages can be so much cleaner there is really no comparison. So please don&#8217;t lecture me that .NET is somehow inherently worse when it comes to preponderance of spaghetti code.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andy Gibson</title>
		<link>http://www.andygibson.net/blog/index.php/2008/06/29/is-microsoft-digging-in-the-wrong-place/comment-page-1/#comment-21</link>
		<dc:creator>Andy Gibson</dc:creator>
		<pubDate>Mon, 01 Sep 2008 16:19:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.andygibson.net/blog/?p=4#comment-21</guid>
		<description>Hi Chase, 

I think this problem transcends tools, it&#039;s more about how people are developing apps. People don&#039;t choose platforms for the tools alone. VB gained great market share, as has Excel and access based apps. People are attracted to ease of development, and this is something Visual Studio has by the ton. Java can be complex, something that is not helped at all by the fact that there is no de facto standard unlike ASP.net. Furthermore, in many cases, this complexity serves no purpose. I like ASP, it&#039;s a very straight shooting framework, but it does lend itself to bad application design.

Regarding the MVC Framework, I have had a very brief look at it. It&#039;s interesting that Java moved from action based frameworks (struts, Webwork, Spring MVC) to component based frameworks (JSF and Wicket which are now the two most popular java frameworks), while it&#039;s the other way around with ASP.net. 

Regardless, the main point of the post would be that with a properly decoupled back end you can re-use it in either WebForms, ASP MVC, and even WinForms and WPF. Binding directly to datasets means you cannot reuse it on different apps, or even on different forms in a single app.</description>
		<content:encoded><![CDATA[<p>Hi Chase, </p>
<p>I think this problem transcends tools, it&#8217;s more about how people are developing apps. People don&#8217;t choose platforms for the tools alone. VB gained great market share, as has Excel and access based apps. People are attracted to ease of development, and this is something Visual Studio has by the ton. Java can be complex, something that is not helped at all by the fact that there is no de facto standard unlike ASP.net. Furthermore, in many cases, this complexity serves no purpose. I like ASP, it&#8217;s a very straight shooting framework, but it does lend itself to bad application design.</p>
<p>Regarding the MVC Framework, I have had a very brief look at it. It&#8217;s interesting that Java moved from action based frameworks (struts, Webwork, Spring MVC) to component based frameworks (JSF and Wicket which are now the two most popular java frameworks), while it&#8217;s the other way around with ASP.net. </p>
<p>Regardless, the main point of the post would be that with a properly decoupled back end you can re-use it in either WebForms, ASP MVC, and even WinForms and WPF. Binding directly to datasets means you cannot reuse it on different apps, or even on different forms in a single app.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chase Saunders</title>
		<link>http://www.andygibson.net/blog/index.php/2008/06/29/is-microsoft-digging-in-the-wrong-place/comment-page-1/#comment-20</link>
		<dc:creator>Chase Saunders</dc:creator>
		<pubDate>Mon, 01 Sep 2008 15:06:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.andygibson.net/blog/?p=4#comment-20</guid>
		<description>a) How do you explain why ASP.NET is taking market share away from Java-based web apps?  People just can&#039;t wait to give up their superior tools?

b) Check out the MVC Framework, a replacement to ASP.NET that you&#039;d probably like better.</description>
		<content:encoded><![CDATA[<p>a) How do you explain why ASP.NET is taking market share away from Java-based web apps?  People just can&#8217;t wait to give up their superior tools?</p>
<p>b) Check out the MVC Framework, a replacement to ASP.NET that you&#8217;d probably like better.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
