<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>A Better Way &#187; Component Frameworks</title>
	<atom:link href="http://www.thejacklawson.com/index.php/tag/component-frameworks/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.thejacklawson.com</link>
	<description>Finding a better way to get things done, a technical journey</description>
	<lastBuildDate>Tue, 24 Aug 2010 21:10:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>ASP.NET Controls, How I Hate Them</title>
		<link>http://www.thejacklawson.com/index.php/2010/02/asp-net-controls-how-i-hate-them/</link>
		<comments>http://www.thejacklawson.com/index.php/2010/02/asp-net-controls-how-i-hate-them/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 16:43:22 +0000</pubDate>
		<dc:creator>Jack Lawson</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[IIS and Windows Technologies]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[.NET Framework]]></category>
		<category><![CDATA[Add new tag]]></category>
		<category><![CDATA[ASP]]></category>
		<category><![CDATA[ASP.NET AJAX]]></category>
		<category><![CDATA[Component Frameworks]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.thejacklawson.com/?p=204</guid>
		<description><![CDATA[Image by ttrentham via Flickr I&#8217;ve always, for some reason, felt innately that PHP allowed me more control over my code than ASP.NET. My brain kept saying &#8220;but .NET is more organized! It compiles! It&#8217;s faster! It&#8217;s easier to write,&#8221; but my mind kept saying &#8220;PHP lets me do what I want how I want [...]]]></description>
			<content:encoded><![CDATA[<div class="zemanta-img" style="margin: 1em; display: block;">
<div>
<dl class="wp-caption alignright" style="width: 250px;">
<dt class="wp-caption-dt"><a href="http://www.flickr.com/photos/57798571@N00/2398917253"><img title="MSDN Error" src="http://farm3.static.flickr.com/2354/2398917253_6bcafbbd76_m.jpg" alt="MSDN Error" width="240" height="106" /></a></dt>
<dd class="wp-caption-dd zemanta-img-attribution" style="font-size: 0.8em;">Image by <a href="http://www.flickr.com/photos/57798571@N00/2398917253">ttrentham</a> via Flickr</dd>
</dl>
</div>
</div>
<p>I&#8217;ve always, for some reason, felt innately that <a class="zem_slink" title="PHP" rel="homepage" href="http://www.php.net/">PHP</a> allowed me more control over my code than <a class="zem_slink" title="ASP.NET" rel="homepage" href="http://www.asp.net">ASP.NET</a>. My <em>brain </em>kept saying &#8220;but .NET is more organized! It compiles! It&#8217;s faster! It&#8217;s easier to write,&#8221; but my <em>mind </em>kept saying &#8220;PHP lets me do what I want how I want it&#8230; screw .NET!&#8221;</p>
<p>What I finally figured out was that I love C#, I even like the <a class="zem_slink" title=".NET Framework" rel="homepage" href="http://msdn.microsoft.com/netframework/">.NET framework</a>, but I hate is, in fact, ASP.NET.</p>
<p>Every time I see an example of simple, elegant code, the most complex control on the page is a label or a panel. While the intentions behind FormView may be good, writing my own forms and hooking them up saves hundreds of lines (literally- I just refactored almost 800 lines of code into 150 by <em>removing </em>a formview) as well as reduces complexity and maintenance (now I no longer have to maintain view and edit and whatever other modes FormView has.) ASP.NET perhaps made sense in a day before OO principles and ORMs came into play; the controls were written for the same kind of people that use the drag-and-drop design mode. Easy to slap down haphazardly, not so easy to maintain.</p>
<p>We replaced every ASP.NET <a class="zem_slink" title="ASP.NET AJAX" rel="wikipedia" href="http://en.wikipedia.org/wiki/ASP.NET_AJAX">Ajax</a> control we used anywhere (after I evangelized it, to my chagrin) with <a class="zem_slink" title="JQuery" rel="homepage" href="http://jquery.com/">jQuery</a> after about 6 months of use; while the controls did what we needed on the surface, underneath there was <em>always</em> some caveat, like the linked DropDowns needed web services, or the datepicker control had missing options&#8230; there was always something somewhere that I needed a bit of flexibility on that just wasn&#8217;t there, or was buggy. It seemed very odd for it to be out of beta in such a state. So, I ended up starting my own control library using jQuery, and now it&#8217;s easily extensible, easy to modify from the client, and I can control the markup.</p>
<p>Oh, and the markup&#8230; don&#8217;t get me started on the markup. Tables for <em>everything</em>. I can&#8217;t rearrange the otherwise useful Wizard control because it&#8217;s so static in its display.</p>
<p>So, I guess the point I&#8217;m trying to make is, that the longer I use .NET, the less and less I use the complex controls and the more I roll my own. Because it&#8217;s <em>easier</em>.<br />
Kind of ironic.</p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/4d9cd1b1-cc21-4241-b625-e55c125fd955/"><img class="zemanta-pixie-img" style="border: medium none; float: right;" src="http://img.zemanta.com/reblog_e.png?x-id=4d9cd1b1-cc21-4241-b625-e55c125fd955" alt="Reblog this post [with Zemanta]" /></a><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
<!-- Social Bookmarking Reloaded BEGIN --><div class="social_bookmark"><em> </em><br /><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.thejacklawson.com/index.php/2010/02/asp-net-controls-how-i-hate-them/&amp;title=ASP.NET+Controls%2C+How+I+Hate+Them" title="Add 'ASP.NET Controls, How I Hate Them' to Del.icio.us"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/delicious.png" title="Add 'ASP.NET Controls, How I Hate Them' to Del.icio.us" alt="Add 'ASP.NET Controls, How I Hate Them' to Del.icio.us" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.thejacklawson.com/index.php/2010/02/asp-net-controls-how-i-hate-them/&amp;title=ASP.NET+Controls%2C+How+I+Hate+Them" title="Add 'ASP.NET Controls, How I Hate Them' to digg"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/digg.png" title="Add 'ASP.NET Controls, How I Hate Them' to digg" alt="Add 'ASP.NET Controls, How I Hate Them' to digg" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.thejacklawson.com/index.php/2010/02/asp-net-controls-how-i-hate-them/&amp;title=ASP.NET+Controls%2C+How+I+Hate+Them" title="Add 'ASP.NET Controls, How I Hate Them' to reddit"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/reddit.png" title="Add 'ASP.NET Controls, How I Hate Them' to reddit" alt="Add 'ASP.NET Controls, How I Hate Them' to reddit" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.thejacklawson.com/index.php/2010/02/asp-net-controls-how-i-hate-them/" title="Add 'ASP.NET Controls, How I Hate Them' to Technorati"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/technorati.png" title="Add 'ASP.NET Controls, How I Hate Them' to Technorati" alt="Add 'ASP.NET Controls, How I Hate Them' to Technorati" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.newsvine.com/_wine/save?u=http://www.thejacklawson.com/index.php/2010/02/asp-net-controls-how-i-hate-them/&amp;h=ASP.NET+Controls%2C+How+I+Hate+Them" title="Add 'ASP.NET Controls, How I Hate Them' to Newsvine"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/newsvine.png" title="Add 'ASP.NET Controls, How I Hate Them' to Newsvine" alt="Add 'ASP.NET Controls, How I Hate Them' to Newsvine" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http://www.thejacklawson.com/index.php/2010/02/asp-net-controls-how-i-hate-them/&amp;title=ASP.NET+Controls%2C+How+I+Hate+Them" title="Add 'ASP.NET Controls, How I Hate Them' to Stumble Upon"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/stumbleupon.png" title="Add 'ASP.NET Controls, How I Hate Them' to Stumble Upon" alt="Add 'ASP.NET Controls, How I Hate Them' to Stumble Upon" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.thejacklawson.com/index.php/2010/02/asp-net-controls-how-i-hate-them/&amp;title=ASP.NET+Controls%2C+How+I+Hate+Them" title="Add 'ASP.NET Controls, How I Hate Them' to Google Bookmarks"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/google.png" title="Add 'ASP.NET Controls, How I Hate Them' to Google Bookmarks" alt="Add 'ASP.NET Controls, How I Hate Them' to Google Bookmarks" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="https://favorites.live.com/quickadd.aspx?url=http://www.thejacklawson.com/index.php/2010/02/asp-net-controls-how-i-hate-them/&amp;title=ASP.NET+Controls%2C+How+I+Hate+Them" title="Add 'ASP.NET Controls, How I Hate Them' to Live-MSN"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/live.png" title="Add 'ASP.NET Controls, How I Hate Them' to Live-MSN" alt="Add 'ASP.NET Controls, How I Hate Them' to Live-MSN" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?title=ASP.NET+Controls%2C+How+I+Hate+Them&amp;url=http://www.thejacklawson.com/index.php/2010/02/asp-net-controls-how-i-hate-them/" title="Add 'ASP.NET Controls, How I Hate Them' to SlashDot"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/slashdot.png" title="Add 'ASP.NET Controls, How I Hate Them' to SlashDot" alt="Add 'ASP.NET Controls, How I Hate Them' to SlashDot" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/share.php?u=http://www.thejacklawson.com/index.php/2010/02/asp-net-controls-how-i-hate-them/&amp;t=ASP.NET+Controls%2C+How+I+Hate+Them" title="Add 'ASP.NET Controls, How I Hate Them' to FaceBook"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/facebook.png" title="Add 'ASP.NET Controls, How I Hate Them' to FaceBook" alt="Add 'ASP.NET Controls, How I Hate Them' to FaceBook" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home?status=http://www.thejacklawson.com/index.php/2010/02/asp-net-controls-how-i-hate-them/" title="Add 'ASP.NET Controls, How I Hate Them' to Twitter"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/twitter.png" title="Add 'ASP.NET Controls, How I Hate Them' to Twitter" alt="Add 'ASP.NET Controls, How I Hate Them' to Twitter" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/reader/link?url=http://www.thejacklawson.com/index.php/2010/02/asp-net-controls-how-i-hate-them/&amp;title=ASP.NET+Controls%2C+How+I+Hate+Them&amp;srcURL=http://www.thejacklawson.com/index.php/2010/02/asp-net-controls-how-i-hate-them/" title="Add 'ASP.NET Controls, How I Hate Them' to Google Buzz"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/googlebuzz.png" title="Add 'ASP.NET Controls, How I Hate Them' to Google Buzz" alt="Add 'ASP.NET Controls, How I Hate Them' to Google Buzz" /></a></div>
<!-- Social Bookmarking Reloaded END -->]]></content:encoded>
			<wfw:commentRss>http://www.thejacklawson.com/index.php/2010/02/asp-net-controls-how-i-hate-them/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
