<?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>Wizards of Smart &#187; Web Application</title>
	<atom:link href="http://wizardsofsmart.net/tag/web-application/feed/" rel="self" type="application/rss+xml" />
	<link>http://wizardsofsmart.net</link>
	<description>.NET Design Patterns</description>
	<lastBuildDate>Thu, 29 Jul 2010 16:40:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1-alpha</generator>
		<item>
		<title>A History of Violence against HTML</title>
		<link>http://wizardsofsmart.net/patterns/a-history-of-violence-against-html/</link>
		<comments>http://wizardsofsmart.net/patterns/a-history-of-violence-against-html/#comments</comments>
		<pubDate>Sat, 12 Sep 2009 19:17:21 +0000</pubDate>
		<dc:creator>panesofglass</dc:creator>
				<category><![CDATA[Patterns]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[PresentationModel]]></category>
		<category><![CDATA[ViewModel]]></category>
		<category><![CDATA[Web Application]]></category>

		<guid isPermaLink="false">http://wizardsofsmart.net/?p=223</guid>
		<description><![CDATA[[This is the second in a series on the use of MVC for building web "applications".] HTML was designed as a document format with hypermedia connections to other, related documents. Today, however, we abuse HTML and treat it as an application platform. It somehow performs remarkably well in most cases. I suppose that’s a testament to [...]]]></description>
			<content:encoded><![CDATA[<p>[This is the second in a <a title="The Problem with the MVC Frameworks" href="http://wizardsofsmart.net/patterns/the-problem-with-the-mvc-frameworks-introduction/">series</a> on the use of MVC for building web "applications".]</p>
<p><span>HTML</span> was designed as a document format with hypermedia connections to other, related documents. Today, however, we abuse <span>HTML</span> and treat it as an application platform. It somehow performs remarkably well in most cases. I suppose that’s a testament to the agility of declarative markup. Nevertheless, I think we could all agree that <span>HTML</span> at least <em>started</em> life as a document format. If this is the case, I argue that <span>HTML</span> is not a view format; rather it is a serialization format for a model.</p>
<p>I’m sure many reading this are probably calling me a fool or worse. Well, don’t take my word for it. Let’s look at what some of the leading web developer/designers are saying:</p>
<blockquote><p>In markup, semantics is concerned with the meaning of an element and how that element describes the content it contains.<br />
-Molly E. Holzschlag (<a href="http://www.informit.com/articles/article.asp?p=369225&amp;rl=1" onclick="urchinTracker('/outgoing/www.informit.com/articles/article.asp?p=369225_amp_rl=1&amp;referer=');">http://www.informit.com/articles/article.asp?p=369225&amp;rl=1</a>)</p></blockquote>
<blockquote><p>Although it might be tempting to use the visual layout as the basis for the structure of your markup, this could lead to you overusing elements, particularly <code>&lt;div&gt;</code> elements. This will also result in establishing your content order primarily to accomplish the visual layout rather than it making sense when no style sheets are available. <strong>To avoid presentational markup and ordering problems, begin by first looking at the content and then working out from the meaning</strong>(emphasis mine).<br />
-Andy Clarke (<a href="http://www.transcendingcss.com/" onclick="urchinTracker('/outgoing/www.transcendingcss.com/?referer=');">Transcending <span>CSS</span></a>)</p></blockquote>
<blockquote><p>The notion that HTML is a display language has been proven long ago to be a <a title="Definition of 'Bad Thing' in the Jargon File." href="http://catb.org/jargon/html/B/Bad-Thing.html" onclick="urchinTracker('/outgoing/catb.org/jargon/html/B/Bad-Thing.html?referer=');">Bad Thing</a>. CSS taught us to separate our presentation from our content, and the doors that opened when we did it were invaluable. Today, however, we’re still delivering web applications as HTML documents with a bit of scripting layered on top. This works, but is strangled by all of HTML’s limitations. Fundamentally, <strong>HTML is not an application delivery format, it is a content description language</strong>, despite the <a href="http://www.sitepoint.com/blogs/2008/11/25/w3c-markup-validation-service-adds-experimental-html5-support/" onclick="urchinTracker('/outgoing/www.sitepoint.com/blogs/2008/11/25/w3c-markup-validation-service-adds-experimental-html5-support/?referer=');">valiant efforts of the HTML5 Working Group</a>.<br />
- Meitar Moscovitz (<a href="http://www.sitepoint.com/blogs/2008/12/22/svg-is-the-future-of-application-development/" onclick="urchinTracker('/outgoing/www.sitepoint.com/blogs/2008/12/22/svg-is-the-future-of-application-development/?referer=');">SVG Is The Future Of Application Development</a>)</p></blockquote>
<p>No, I can’t quote them directly, but I believe my argument has the same spirit. We should look at <span>HTML</span> as a PresentationModel, or ViewModel if you prefer, in the client (i.e. the browser). Therefore, <span>HTML</span> be treated as a serialization of your object model into a document format.</p>
<p>What then is the view? What’s the controller? These are excellent questions. Let’s think about how MVC works. The controller is responsible for receiving requests and relaying responses. The view is supposed to display the representation of the model. For the web, the controller easily aligns with the <span>HTTP</span> protocol and the view to the styles, transforms, and behaviors applied to the model (our <span>HTML</span> document). (I’ve used styles and transforms here separately to emphasize the potential use of <span>XSLT</span> stylesheets in addition to <span>CSS</span>.) Sure, using a document serialization, you could just display the model directly, and the confusion of <span>HTML</span> is here emphasized. It’s a model built out like a visual representation.</p>
<p>Are there some exceptions to this? Sure. If you want to treat <span>HTML</span> as a purely view format, then you can eliminate everything from your <span>HTML</span> except for JavaScript bindable areas and use <span>JSON</span> objects as your PresentationModels. Pass some of those around instead of <span>HTML</span>, and you’re really treating <span>HTML</span> like a true view. However, we don’t generally do that. We usually serialize the model into the <span>HTML</span> and apply our view aspects afterward via <span>CSS</span> and JavaScript.</p>
<p>If we really want to get serious about making an excellent MVC framework, we have to recognize and use our building blocks appropriately. <span>HTML</span> is a model serialization format. Treat it as such.</p>
]]></content:encoded>
			<wfw:commentRss>http://wizardsofsmart.net/patterns/a-history-of-violence-against-html/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Another Oxite?</title>
		<link>http://wizardsofsmart.net/news/another-oxite/</link>
		<comments>http://wizardsofsmart.net/news/another-oxite/#comments</comments>
		<pubDate>Fri, 23 Jan 2009 13:00:10 +0000</pubDate>
		<dc:creator>panesofglass</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[App Arch]]></category>
		<category><![CDATA[Colin Jack]]></category>
		<category><![CDATA[Domain Driven Design]]></category>
		<category><![CDATA[Greg Young]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft Corporation]]></category>
		<category><![CDATA[Web Application]]></category>

		<guid isPermaLink="false">http://wizardsofsmart.net/?p=105</guid>
		<description><![CDATA[I followed Microsoft P&#38;P&#8217;s Application Architecture Guide&#8216;s progress closely, right up until the point it was released. I still haven&#8217;t read it all the way through, and at this point, I might not. J.D. Meier posted several of the pattern diagrams today, and I was quite surprised by what I saw. I posted a comment [...]]]></description>
			<content:encoded><![CDATA[<p>I followed Microsoft P&amp;P&#8217;s <a title="App Arch Guid on CodePlex" href="http://www.codeplex.com/AppArch" onclick="urchinTracker('/outgoing/www.codeplex.com/AppArch?referer=');">Application Architecture Guide</a>&#8216;s progress closely, right up until the point it was released. I still haven&#8217;t read it all the way through, and at this point, I might not. <a title="J.D. Meier" href="http://blogs.msdn.com/jmeier/" onclick="urchinTracker('/outgoing/blogs.msdn.com/jmeier/?referer=');">J.D. Meier</a> posted several of the <a title="App Arch Application Patterns" href="http://blogs.msdn.com/jmeier/archive/2009/01/21/application-patterns.aspx" onclick="urchinTracker('/outgoing/blogs.msdn.com/jmeier/archive/2009/01/21/application-patterns.aspx?referer=');">pattern diagrams</a> today, and I was quite surprised by what I saw. I posted a <a title="My Comment" href="http://blogs.msdn.com/jmeier/archive/2009/01/21/web-application-with-domain-entity-application-pattern.aspx#9369954" onclick="urchinTracker('/outgoing/blogs.msdn.com/jmeier/archive/2009/01/21/web-application-with-domain-entity-application-pattern.aspx_9369954?referer=');">comment</a> on the <a title="Web Applicaiton with Domain Entity Application Pattern" href="http://blogs.msdn.com/jmeier/archive/2009/01/21/web-application-with-domain-entity-application-pattern.aspx" onclick="urchinTracker('/outgoing/blogs.msdn.com/jmeier/archive/2009/01/21/web-application-with-domain-entity-application-pattern.aspx?referer=');">Web Application with Domain Entity Application Pattern</a> post, but I think a few others say it much better:</p>
<ul>
<li><a title="The Challenger of the Architecture Astronauts" href="http://ayende.com/Blog/archive/2009/01/23/the-challenger-of-architecture-astronauts-two-tier-service-application-scenario.aspx" onclick="urchinTracker('/outgoing/ayende.com/Blog/archive/2009/01/23/the-challenger-of-architecture-astronauts-two-tier-service-application-scenario.aspx?referer=');">Ayende Rahien</a></li>
<li><a title="P&amp;P - Web Service with REST Application Pattern" href="http://www.lostechies.com/blogs/colinjack/archive/2009/01/22/p-amp-p-web-service-with-rest-application-pattern.aspx" onclick="urchinTracker('/outgoing/www.lostechies.com/blogs/colinjack/archive/2009/01/22/p-amp-p-web-service-with-rest-application-pattern.aspx?referer=');">Colin Jack</a> (and <a title="Colin Jack in the CodePlex forums" href="http://www.codeplex.com/AppArch/Wiki/View.aspx?title=App%20Pattern%20-%20Two-Tier%20Service%20Application%20Scenario%20(REST)&amp;ANCHOR#C12067" onclick="urchinTracker('/outgoing/www.codeplex.com/AppArch/Wiki/View.aspx?title=App_20Pattern_20-_20Two-Tier_20Service_20Application_20Scenario_20_REST_amp_ANCHOR_C12067&amp;referer=');">again</a>)</li>
<li><a title="Welcome to the Anemic Age" href="http://codebetter.com/blogs/gregyoung/archive/2009/01/22/the-data-centric-universe.aspx" onclick="urchinTracker('/outgoing/codebetter.com/blogs/gregyoung/archive/2009/01/22/the-data-centric-universe.aspx?referer=');">Greg Young</a></li>
<li><a title="John Rusk in the CodePlex forums" href="http://www.codeplex.com/AppArch/Thread/View.aspx?ThreadId=39113" onclick="urchinTracker('/outgoing/www.codeplex.com/AppArch/Thread/View.aspx?ThreadId=39113&amp;referer=');">John Rusk</a></li>
</ul>
<p>To their credit, I noticed the App Arch guys added a <a title="How To - Domain Driven Design" href="http://www.codeplex.com/AppArch/Wiki/View.aspx?title=How%20To%20-%20Domain%20Driven%20Design&amp;referringTitle=Home" onclick="urchinTracker('/outgoing/www.codeplex.com/AppArch/Wiki/View.aspx?title=How_20To_20-_20Domain_20Driven_20Design_amp_referringTitle=Home&amp;referer=');">how-to for DDD</a>, and after a brief scan, I don&#8217;t think it looks half bad.</p>
<p>What are some of your thoughts? Have any of you read the guidance? Should it be called guidance? Are those of us who are dissatisfied wrong, and if so, what are we missing?</p>
]]></content:encoded>
			<wfw:commentRss>http://wizardsofsmart.net/news/another-oxite/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
