<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Vincent Leung .NET Tech Clips</title>
	<atom:link href="http://vincenthomedev.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://vincenthomedev.wordpress.com</link>
	<description>The latest tech clips from the .NET community</description>
	<lastBuildDate>Mon, 20 May 2013 17:16:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='vincenthomedev.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/1dee7652e21effcbd73da6da7e043c0c?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Vincent Leung .NET Tech Clips</title>
		<link>http://vincenthomedev.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://vincenthomedev.wordpress.com/osd.xml" title="Vincent Leung .NET Tech Clips" />
	<atom:link rel='hub' href='http://vincenthomedev.wordpress.com/?pushpress=hub'/>
		<item>
		<title>.less &#8211; The dynamic stylesheet language for .NET</title>
		<link>http://vincenthomedev.wordpress.com/2012/05/16/less-the-dynamic-stylesheet-language-for-net/</link>
		<comments>http://vincenthomedev.wordpress.com/2012/05/16/less-the-dynamic-stylesheet-language-for-net/#comments</comments>
		<pubDate>Thu, 17 May 2012 00:52:45 +0000</pubDate>
		<dc:creator>Vincent Leung</dc:creator>
				<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">https://vincenthomedev.wordpress.com/?p=2074</guid>
		<description><![CDATA[Write regular CSS with your .NET apps, then add a few variables, mixins and nested rules. .less is a .NET port of the funky LESS JavaScript library &#160; 1. Install:&#160; PM&#62; Install-Package dotless 2. From Command Line: dotless.Compiler my_style.less my_style.css&#160; more here 3. Reference 4. Function Reference 5. Post Build: $(SolutionDir)packages\dotless.x.x.x.x\tool\dotless.Compiler.exe $(ProjectDir)content\less\*.less.css $(ProjectDir)content\ &#160; Download: [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vincenthomedev.wordpress.com&#038;blog=1494855&#038;post=2074&#038;subd=vincenthomedev&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<h3><a class="thickbox" href="http://vincenthomedev.files.wordpress.com/2012/05/image.png"><img style="background-image:none;margin:0;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" border="0" alt="image" src="http://vincenthomedev.files.wordpress.com/2012/05/image_thumb.png?w=175&#038;h=101" width="175" height="101" /></a></h3>
<h3>Write regular CSS with your .NET apps, then add a few variables, mixins and nested rules.</h3>
<h3>.less is a .NET port of the funky <a href="http://lesscss.org/">LESS JavaScript library</a></h3>
<p>&#160;</p>
<p>1. Install:&#160; PM&gt; Install-Package dotless</p>
<p>2. From Command Line: dotless.Compiler my_style.less my_style.css&#160; <a href="https://github.com/dotless/dotless/wiki/Using-.less">more here</a></p>
<p>3. <a href="http://lesscss.org/#docs">Reference</a></p>
<p>4. <a href="https://github.com/dotless/dotless/wiki/Function-reference">Function Reference</a></p>
<p>5. Post Build: </p>
<pre>       $(SolutionDir)packages\dotless.x.x.x.x\tool\dotless.Compiler.exe </pre>
<pre>                 $(ProjectDir)content\less\*.less.css $(ProjectDir)content\</pre>
<p>&#160;</p>
<p>Download: <a href="http://www.dotlesscss.org/">http://www.dotlesscss.org/</a></p>
<p>Source: <a href="https://github.com/dotless/dotless/wiki">github</a></p>
<br />Filed under: <a href='http://vincenthomedev.wordpress.com/category/css/'>CSS</a>  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vincenthomedev.wordpress.com&#038;blog=1494855&#038;post=2074&#038;subd=vincenthomedev&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vincenthomedev.wordpress.com/2012/05/16/less-the-dynamic-stylesheet-language-for-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/506f4f36af814f98fe395740c9cc2528?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">Vincent Leung</media:title>
		</media:content>

		<media:content url="http://vincenthomedev.files.wordpress.com/2012/05/image_thumb.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>Find In Database Objects</title>
		<link>http://vincenthomedev.wordpress.com/2012/04/20/find-in-database-objects/</link>
		<comments>http://vincenthomedev.wordpress.com/2012/04/20/find-in-database-objects/#comments</comments>
		<pubDate>Fri, 20 Apr 2012 17:33:12 +0000</pubDate>
		<dc:creator>Vincent Leung</dc:creator>
				<category><![CDATA[Database]]></category>

		<guid isPermaLink="false">https://vincenthomedev.wordpress.com/?p=2071</guid>
		<description><![CDATA[It searches the text of triggers, UDFs, stored procedures and views for a particular substring, returning the name and type of those database objects that match. DECLARE @Search varchar(255)SET @Search='[10.10.100.50]'SELECT DISTINCT&#160;&#160;&#160; o.name AS Object_Name,o.type_desc&#160;&#160;&#160; FROM sys.sql_modules&#160;&#160;&#160;&#160;&#160;&#160;&#160; m &#160;&#160;&#160;&#160;&#160;&#160;&#160; INNER JOIN sys.objects&#160; o ON m.object_id=o.object_id&#160;&#160;&#160; WHERE m.definition Like '%'+@Search+'%'&#160;&#160;&#160; ORDER BY 2,1 Filed under: Database<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vincenthomedev.wordpress.com&#038;blog=1494855&#038;post=2071&#038;subd=vincenthomedev&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<pre><font face="Verdana">It searches the text of triggers, UDFs, stored procedures and views for a particular substring, </font></pre>
<pre><font face="Verdana">returning the name and type of those database objects that match. </font></pre>
<pre><code>DECLARE @Search varchar(255)<br />SET @Search='[10.10.100.50]'<br /><br />SELECT DISTINCT<br />&#160;&#160;&#160; o.name AS Object_Name,o.type_desc<br />&#160;&#160;&#160; FROM sys.sql_modules&#160;&#160;&#160;&#160;&#160;&#160;&#160; m <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; INNER JOIN sys.objects&#160; o ON m.object_id=o.object_id<br />&#160;&#160;&#160; WHERE m.definition Like '%'+@Search+'%'<br />&#160;&#160;&#160; ORDER BY 2,1</code></pre>
<br />Filed under: <a href='http://vincenthomedev.wordpress.com/category/database/'>Database</a>  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vincenthomedev.wordpress.com&#038;blog=1494855&#038;post=2071&#038;subd=vincenthomedev&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vincenthomedev.wordpress.com/2012/04/20/find-in-database-objects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/506f4f36af814f98fe395740c9cc2528?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">Vincent Leung</media:title>
		</media:content>
	</item>
		<item>
		<title>Getting Started with ASP.NET Web API</title>
		<link>http://vincenthomedev.wordpress.com/2012/03/29/getting-started-with-asp-net-web-api/</link>
		<comments>http://vincenthomedev.wordpress.com/2012/03/29/getting-started-with-asp-net-web-api/#comments</comments>
		<pubDate>Fri, 30 Mar 2012 00:50:13 +0000</pubDate>
		<dc:creator>Vincent Leung</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[WebAPI]]></category>

		<guid isPermaLink="false">https://vincenthomedev.wordpress.com/?p=2069</guid>
		<description><![CDATA[ASP.NET Web API is a framework that makes it easy to build HTTP services that reach a broad range of clients, including browsers and mobile devices. ASP.NET Web API is an ideal platform for building RESTful applications on the .NET Framework. http://www.asp.net/web-api Filed under: ASP.NET, WebAPI<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vincenthomedev.wordpress.com&#038;blog=1494855&#038;post=2069&#038;subd=vincenthomedev&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>ASP.NET Web API is a framework that makes it easy to build HTTP services that reach a broad range of clients, including browsers and mobile devices. ASP.NET Web API is an ideal platform for building RESTful applications on the .NET Framework.</p>
<p><a href="http://www.asp.net/web-api" class="thickbox"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://vincenthomedev.files.wordpress.com/2012/03/image2.png?w=644&#038;h=319" width="644" height="319" /></a></p>
<p><a href="http://www.asp.net/web-api">http://www.asp.net/web-api</a></p>
<br />Filed under: <a href='http://vincenthomedev.wordpress.com/category/aspnet/'>ASP.NET</a>, <a href='http://vincenthomedev.wordpress.com/category/aspnet/webapi/'>WebAPI</a>  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vincenthomedev.wordpress.com&#038;blog=1494855&#038;post=2069&#038;subd=vincenthomedev&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vincenthomedev.wordpress.com/2012/03/29/getting-started-with-asp-net-web-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/506f4f36af814f98fe395740c9cc2528?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">Vincent Leung</media:title>
		</media:content>

		<media:content url="http://vincenthomedev.files.wordpress.com/2012/03/image2.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>Auto Bundling and Minifying the .css .js files</title>
		<link>http://vincenthomedev.wordpress.com/2012/03/29/auto-bundling-and-minifying-the-css-js-files/</link>
		<comments>http://vincenthomedev.wordpress.com/2012/03/29/auto-bundling-and-minifying-the-css-js-files/#comments</comments>
		<pubDate>Fri, 30 Mar 2012 00:42:26 +0000</pubDate>
		<dc:creator>Vincent Leung</dc:creator>
				<category><![CDATA[ASP.NET]]></category>

		<guid isPermaLink="false">https://vincenthomedev.wordpress.com/?p=2065</guid>
		<description><![CDATA[The new bundling/minification feature now allows you to instead bundle and minify all of the .css files in the Styles folder – simply by sending a URL request to the folder (in this case “styles”) with an appended “/css” path after it. This will cause ASP.NET to scan the directory, bundle and minify the .css [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vincenthomedev.wordpress.com&#038;blog=1494855&#038;post=2065&#038;subd=vincenthomedev&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a class="thickbox" href="http://vincenthomedev.files.wordpress.com/2012/03/image.png"><img style="background-image:none;margin:0;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" border="0" alt="image" src="http://vincenthomedev.files.wordpress.com/2012/03/image_thumb.png?w=145&#038;h=244" width="145" height="244" /></a></p>
<p><a class="thickbox" href="http://vincenthomedev.files.wordpress.com/2012/03/image1.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" border="0" alt="image" src="http://vincenthomedev.files.wordpress.com/2012/03/image_thumb1.png?w=485&#038;h=205" width="485" height="205" /></a></p>
<p>The new bundling/minification feature now allows you to instead bundle and minify all of the .css files in the Styles folder – simply by sending a URL request to the folder (in this case “styles”) with an appended “/css” path after it.</p>
<p>This will cause ASP.NET to scan the directory, bundle and minify the .css files within it, and send back a single HTTP response with all of the CSS content to the browser. </p>
<p><a href="http://www.asp.net/web-forms/videos/aspnet-vnext/aspnet-vnext-videos-bundling-and-minification">A 90 seconds Video</a>.</p>
<br />Filed under: <a href='http://vincenthomedev.wordpress.com/category/aspnet/'>ASP.NET</a>  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vincenthomedev.wordpress.com&#038;blog=1494855&#038;post=2065&#038;subd=vincenthomedev&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vincenthomedev.wordpress.com/2012/03/29/auto-bundling-and-minifying-the-css-js-files/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/506f4f36af814f98fe395740c9cc2528?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">Vincent Leung</media:title>
		</media:content>

		<media:content url="http://vincenthomedev.files.wordpress.com/2012/03/image_thumb.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://vincenthomedev.files.wordpress.com/2012/03/image_thumb1.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>Knockout 2.0.0 released</title>
		<link>http://vincenthomedev.wordpress.com/2012/01/03/knockout-2-0-0-released/</link>
		<comments>http://vincenthomedev.wordpress.com/2012/01/03/knockout-2-0-0-released/#comments</comments>
		<pubDate>Tue, 03 Jan 2012 16:30:57 +0000</pubDate>
		<dc:creator>Vincent Leung</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Knockout]]></category>

		<guid isPermaLink="false">https://vincenthomedev.wordpress.com/?p=2047</guid>
		<description><![CDATA[Knockout is an MVVM library for JavaScript – it makes rich dynamic web UIs easier and cleaner to build. The best place to start learning is with the interactive tutorials. The finished 2.0.0 build is now on GitHub All of the documentation and live examples are updated to reflect the new version All of the [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vincenthomedev.wordpress.com&#038;blog=1494855&#038;post=2047&#038;subd=vincenthomedev&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a class="thickbox" href="http://vincenthomedev.files.wordpress.com/2012/01/image.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" border="0" alt="image" src="http://vincenthomedev.files.wordpress.com/2012/01/image_thumb.png?w=644&#038;h=164" width="644" height="164" /></a></p>
<p>Knockout is an MVVM library for JavaScript – it makes rich dynamic web UIs easier and cleaner to build. The best place to start learning is with the <a href="http://learn.knockoutjs.com/">interactive tutorials</a>.</p>
<ul>
<li>The finished 2.0.0 build is <a href="https://github.com/SteveSanderson/knockout/downloads">now on GitHub</a> </li>
<li>All of the <a href="http://knockoutjs.com/">documentation and live examples</a> are updated to reflect the new version </li>
<li>All of the <a href="http://learn.knockoutjs.com/">interactive tutorials</a> are updated too. </li>
<li>A <a href="http://channel9.msdn.com/Events/MIX/MIX11/FRM08">20-minute demo video</a> </li>
</ul>
<br />Filed under: <a href='http://vincenthomedev.wordpress.com/category/language/javascript-language/'>JavaScript</a>, <a href='http://vincenthomedev.wordpress.com/category/javascriptlibrary/knockout/'>Knockout</a>  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vincenthomedev.wordpress.com&#038;blog=1494855&#038;post=2047&#038;subd=vincenthomedev&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vincenthomedev.wordpress.com/2012/01/03/knockout-2-0-0-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/506f4f36af814f98fe395740c9cc2528?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">Vincent Leung</media:title>
		</media:content>

		<media:content url="http://vincenthomedev.files.wordpress.com/2012/01/image_thumb.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>Building Offline Experiences with HTML5 AppCache and IndexedDB</title>
		<link>http://vincenthomedev.wordpress.com/2011/12/01/building-offline-experiences-with-html5-appcache-and-indexeddb/</link>
		<comments>http://vincenthomedev.wordpress.com/2011/12/01/building-offline-experiences-with-html5-appcache-and-indexeddb/#comments</comments>
		<pubDate>Fri, 02 Dec 2011 01:19:39 +0000</pubDate>
		<dc:creator>Vincent Leung</dc:creator>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Metro Style]]></category>

		<guid isPermaLink="false">https://vincenthomedev.wordpress.com/?p=2043</guid>
		<description><![CDATA[Users expect their Web sites and apps to work well even when the network isn&#8217;t available. With data increasingly stored in the cloud, developers want to enable fluid experiences that allow access to data when there is no connectivity; when devices are disconnected from the network or when they encounter dead spots in coverage. In [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vincenthomedev.wordpress.com&#038;blog=1494855&#038;post=2043&#038;subd=vincenthomedev&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a class="thickbox" href="http://vincenthomedev.files.wordpress.com/2011/12/image1.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" border="0" alt="image" src="http://vincenthomedev.files.wordpress.com/2011/12/image_thumb1.png?w=244&#038;h=140" width="244" height="140" /></a>Users expect their Web sites and apps to work well even when the network isn&#8217;t available. With data increasingly stored in the cloud, developers want to enable fluid experiences that allow access to data when there is no connectivity; when devices are disconnected from the network or when they encounter dead spots in coverage.</p>
<p>In this post, we show how to create well-behaved offline sites and apps using the following HTML5 features:</p>
<ul>
<li>AppCache to store file resources locally and access them offline as URLs </li>
<li>IndexedDB to store structured data locally so you can access and query it </li>
<li>DOM Storage to store small amounts of text information locally </li>
<li>Offline events to detect if you’re connected to the network </li>
</ul>
<p>For more goto –&gt; <a title="http://blogs.msdn.com/b/ie/archive/2011/09/27/building-offline-experiences-with-html5-appcache-and-indexeddb.aspx" href="http://blogs.msdn.com/b/ie/archive/2011/09/27/building-offline-experiences-with-html5-appcache-and-indexeddb.aspx">http://blogs.msdn.com/b/ie/archive/2011/09/27/building-offline-experiences-with-html5-appcache-and-indexeddb.aspx</a></p>
<p>Also, BUILD presentation <a href="http://channel9.msdn.com/Events/BUILD/BUILD2011/PLAT-376T">Building offline access in Metro style apps and Web sites using HTML5</a></p>
<br />Filed under: <a href='http://vincenthomedev.wordpress.com/category/html5/'>HTML5</a>, <a href='http://vincenthomedev.wordpress.com/category/metro-style/'>Metro Style</a>  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vincenthomedev.wordpress.com&#038;blog=1494855&#038;post=2043&#038;subd=vincenthomedev&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vincenthomedev.wordpress.com/2011/12/01/building-offline-experiences-with-html5-appcache-and-indexeddb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/506f4f36af814f98fe395740c9cc2528?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">Vincent Leung</media:title>
		</media:content>

		<media:content url="http://vincenthomedev.files.wordpress.com/2011/12/image_thumb1.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>Html JavaScript Development using MVVM</title>
		<link>http://vincenthomedev.wordpress.com/2011/12/01/html-javascript-development-using-mvvm/</link>
		<comments>http://vincenthomedev.wordpress.com/2011/12/01/html-javascript-development-using-mvvm/#comments</comments>
		<pubDate>Fri, 02 Dec 2011 01:00:14 +0000</pubDate>
		<dc:creator>Vincent Leung</dc:creator>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Knockout]]></category>
		<category><![CDATA[MVVM]]></category>

		<guid isPermaLink="false">https://vincenthomedev.wordpress.com/?p=2030</guid>
		<description><![CDATA[Shawn Wildermuth talks about using KnockoutJS framework to develop a MVVM application: KnockoutJS is a framework that allows me to use HTML-based data binding markup to describe my UI, CSS to describe what the design looks like and JavaScript to tie the data to the data binding. The is chiefly accomplished through the concept of [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vincenthomedev.wordpress.com&#038;blog=1494855&#038;post=2030&#038;subd=vincenthomedev&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://wildermuth.com/">Shawn Wildermuth</a> talks about using <a href="http://knockoutjs.com/">KnockoutJS</a> framework to develop a MVVM application:</p>
<p>KnockoutJS is a framework that allows me to use HTML-based data binding markup to describe my UI, CSS to describe what the design looks like and JavaScript to tie the data to the data binding. The is chiefly accomplished through the concept of observable objects. For example, I created a new JavaScript ‘class’ called gameModel in my view.js by creating members using the observable method on the knockout (e.g. ko) object:</p>
<div class="csharpcode"><span class="rem">// view.js</span>     <br />$(document).ready(<span class="kwrd">function</span> () {     </p>
<p>&#160; <span class="kwrd">function</span> gameModel() {     <br />&#160;&#160;&#160; <span class="kwrd">this</span>.name = ko.observable();     <br />&#160;&#160;&#160; <span class="kwrd">this</span>.id = ko.observable();     <br />&#160;&#160;&#160; <span class="kwrd">this</span>.genre = ko.observable(); <span class="kwrd">this</span>.releaseDate = ko.observable();     <br />&#160;&#160;&#160; <span class="kwrd">this</span>.price = ko.observable();     <br />&#160;&#160;&#160; <span class="kwrd">this</span>.imageUrl = ko.observable();     <br />&#160; };     <br />&#160; &#8230;     <br />});</div>
<div class="csharpcode">&#160;</div>
<div class="csharpcode">The <strong>observable</strong> call returns an object that not only can store a property, but let the KnockoutJS binding stack know when the property changes (two way binding). In order to use the <strong>gameModel</strong> ‘class’, I created a view model to store a collection of gameModels like so:</div>
<div class="csharpcode">&#160;</div>
<pre class="csharpcode"><span class="rem">// Define Main ViewModel</span>
<span class="kwrd">var</span> theViewModel = {
  games: ko.observableArray([]),
  ...
};</pre>
<p>The games property of the view models ‘class’ will hold the current list of games that are shown in the UI. The <strong>observableArray </strong>object is like the <strong>observable </strong>object but it notifies the data binding stack when a collection changes. The goal here is to have the view model load the games from the REST service and as the collection changes, the HTML should change to react to that. No more manually creating/destroying parts of the markup. </p>
<p>In order to make this work, we must use the data binding syntax in the HTML code:</p>
<pre class="csharpcode"><span class="kwrd">&lt;</span><span class="html">div</span> <span class="attr">data-bind</span><span class="kwrd">=&quot;foreach: games&quot;</span><span class="kwrd">&gt;</span>
  <span class="kwrd">&lt;</span><span class="html">div</span> <span class="attr">class</span><span class="kwrd">=&quot;game-block&quot;</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">div</span><span class="kwrd">&gt;</span>
      <span class="kwrd">&lt;</span><span class="html">img</span> <span class="attr">data-bind</span><span class="kwrd">=&quot;attr: { src: imageUrl, alt: name }&quot;</span> <span class="kwrd">/&gt;&lt;/</span><span class="html">div</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">div</span> <span class="attr">class</span><span class="kwrd">=&quot;game-name&quot;</span> <span class="attr">data-bind</span><span class="kwrd">=&quot;text: name&quot;</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;/</span><span class="html">div</span><span class="kwrd">&gt;</span>
  <span class="kwrd">&lt;/</span><span class="html">div</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;/</span><span class="html">div</span><span class="kwrd">&gt;</span></pre>
<p>For more: <a title="http://wildermuth.com/2011/11/20/Using_MVVM_on_the_Web_with_KnockoutJS" href="http://wildermuth.com/2011/11/20/Using_MVVM_on_the_Web_with_KnockoutJS">http://wildermuth.com/2011/11/20/Using_MVVM_on_the_Web_with_KnockoutJS</a></p>
<br />Filed under: <a href='http://vincenthomedev.wordpress.com/category/html5/'>HTML5</a>, <a href='http://vincenthomedev.wordpress.com/category/language/javascript-language/'>JavaScript</a>, <a href='http://vincenthomedev.wordpress.com/category/javascriptlibrary/knockout/'>Knockout</a>, <a href='http://vincenthomedev.wordpress.com/category/architecture/mvvm/'>MVVM</a>  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vincenthomedev.wordpress.com&#038;blog=1494855&#038;post=2030&#038;subd=vincenthomedev&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vincenthomedev.wordpress.com/2011/12/01/html-javascript-development-using-mvvm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/506f4f36af814f98fe395740c9cc2528?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">Vincent Leung</media:title>
		</media:content>
	</item>
		<item>
		<title>Silverlight Async Programming &#8211; Best Practices</title>
		<link>http://vincenthomedev.wordpress.com/2011/11/17/silverlight-async-programming-best-practices/</link>
		<comments>http://vincenthomedev.wordpress.com/2011/11/17/silverlight-async-programming-best-practices/#comments</comments>
		<pubDate>Thu, 17 Nov 2011 19:29:47 +0000</pubDate>
		<dc:creator>Vincent Leung</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">https://vincenthomedev.wordpress.com/?p=2025</guid>
		<description><![CDATA[Silverlight client runtime does not allow synchronous operations and requires network-based operations to be asynchronous. While asynchronous and event-based programming models have been a part of the .NET Framework since the earliest versions, orchestrating sequential and parallel asynchronous workflows can be problematic. Asynchronous Events Using Action for an Event Façade Using the Asynchronous Programming Model [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vincenthomedev.wordpress.com&#038;blog=1494855&#038;post=2025&#038;subd=vincenthomedev&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Silverlight client runtime does not allow synchronous operations and requires network-based operations to be asynchronous. While asynchronous and event-based programming models have been a part of the .NET Framework since the earliest versions, orchestrating sequential and parallel asynchronous workflows can be problematic.</p>
<ul>
<li>
<h4><a href="http://www.informit.com/articles/article.aspx?p=1759240">Asynchronous Events</a></h4>
</li>
<li>
<h4><a href="http://www.informit.com/articles/article.aspx?p=1759240&amp;seqNum=3">Using Action for an Event Façade</a> </h4>
</li>
<li>
<h4><a href="http://www.informit.com/articles/article.aspx?p=1759240&amp;seqNum=4">Using the Asynchronous Programming Model (APM)</a></h4>
</li>
<li>
<h4><a href="http://www.informit.com/articles/article.aspx?p=1759240&amp;seqNum=5">Nesting Service Calls</a></h4>
</li>
<li>
<h4><a href="http://www.codeproject.com/KB/silverlight/FixingAllAsync.aspx">Another excellent article on Async</a></h4>
</li>
</ul>
<br />Filed under: <a href='http://vincenthomedev.wordpress.com/category/uncategorized/'>Uncategorized</a>  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vincenthomedev.wordpress.com&#038;blog=1494855&#038;post=2025&#038;subd=vincenthomedev&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vincenthomedev.wordpress.com/2011/11/17/silverlight-async-programming-best-practices/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/506f4f36af814f98fe395740c9cc2528?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">Vincent Leung</media:title>
		</media:content>
	</item>
		<item>
		<title>Kinect for Windows SDK Beta</title>
		<link>http://vincenthomedev.wordpress.com/2011/07/05/kinect-for-windows-sdk-beta/</link>
		<comments>http://vincenthomedev.wordpress.com/2011/07/05/kinect-for-windows-sdk-beta/#comments</comments>
		<pubDate>Tue, 05 Jul 2011 20:20:41 +0000</pubDate>
		<dc:creator>Vincent Leung</dc:creator>
				<category><![CDATA[Kinect]]></category>

		<guid isPermaLink="false">https://vincenthomedev.wordpress.com/2011/07/05/kinect-for-windows-sdk-beta/</guid>
		<description><![CDATA[The Kinect for Windows SDK beta includes drivers, rich APIs for raw sensor streams and human motion tracking, installation documents, and resource materials. It provides Kinect capabilities to developers who build applications with C++, C#, or Visual Basic by using Microsoft Visual Studio 2010. This SDK includes the following features: Raw sensor streams Access to [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vincenthomedev.wordpress.com&#038;blog=1494855&#038;post=2024&#038;subd=vincenthomedev&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://vincenthomedev.files.wordpress.com/2011/07/image.png" class="thickbox"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://vincenthomedev.files.wordpress.com/2011/07/image_thumb.png?w=244&#038;h=101" width="244" height="101" /></a></p>
<p>The Kinect for Windows SDK beta includes drivers, rich APIs for raw sensor streams and human motion tracking, installation documents, and resource materials. It provides Kinect capabilities to developers who build applications with C++, C#, or Visual Basic by using Microsoft Visual Studio 2010.</p>
<p>This SDK includes the following features:</p>
<ul>
<li>
<p><strong>Raw sensor streams</strong>        <br />Access to raw data streams from the depth sensor, color camera sensor, and four-element microphone array enables developers to build upon the low-level streams that are generated by the Kinect sensor. </p>
</li>
<li>
<p><strong>Skeletal tracking</strong>        <br />The capability to track the skeleton image of one or two people moving within the Kinect field of view make it easy to create gesture-driven applications. </p>
</li>
<li>
<p><strong>Advanced audio capabilities</strong>        <br />Audio processing capabilities include sophisticated acoustic noise suppression and echo cancellation, beam formation to identify the current sound source, and integration with the Windows speech recognition API. </p>
</li>
<li>
<p><strong>Sample code and documentation</strong>        <br />The SDK includes more than 100 pages of technical documentation. In addition to built-in help files, the documentation includes detailed walkthroughs for most samples provided with the SDK. </p>
</li>
<li>
<p><strong>Easy installation</strong>        <br />The SDK installs quickly, requires no complex configuration, and the complete installer size is less than 100 MB. Developers can get up and running in just a few minutes with a standard standalone Kinect sensor unit (widely available at retail outlets).</p>
</li>
</ul>
<p>Home page <a href="http://research.microsoft.com/en-us/um/redmond/projects/kinectsdk/default.aspx">here</a>.</p>
<p>The SDK is documented and code walkthroughs are provided <a href="http://research.microsoft.com/en-us/um/redmond/projects/kinectsdk/guides.aspx">here</a>. Enjoy!</p>
<br />Filed under: <a href='http://vincenthomedev.wordpress.com/category/kinect/'>Kinect</a>  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vincenthomedev.wordpress.com&#038;blog=1494855&#038;post=2024&#038;subd=vincenthomedev&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vincenthomedev.wordpress.com/2011/07/05/kinect-for-windows-sdk-beta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/506f4f36af814f98fe395740c9cc2528?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">Vincent Leung</media:title>
		</media:content>

		<media:content url="http://vincenthomedev.files.wordpress.com/2011/07/image_thumb.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>Developer&#8217;s Guide to Microsoft Prism 4.0</title>
		<link>http://vincenthomedev.wordpress.com/2011/03/30/developers-guide-to-microsoft-prism-4-0/</link>
		<comments>http://vincenthomedev.wordpress.com/2011/03/30/developers-guide-to-microsoft-prism-4-0/#comments</comments>
		<pubDate>Wed, 30 Mar 2011 20:56:38 +0000</pubDate>
		<dc:creator>Vincent Leung</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[MVVM]]></category>
		<category><![CDATA[Prism]]></category>
		<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">https://vincenthomedev.wordpress.com/2011/03/30/developers-guide-to-microsoft-prism-4-0/</guid>
		<description><![CDATA[The documentation for Prism 4 has been completely rewritten and includes the architectural overview, design, and technical concepts for composite applications, applied patterns, two chapters covering Model-View-ViewModel (MVVM), application navigation, Stock Trader Reference Implementation (Stock Trader RI) and MVVM Reference Implementation (MVVM RI) overview, QuickStart overviews, and deployment topics. Much of this guidance is applicable [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vincenthomedev.wordpress.com&#038;blog=1494855&#038;post=2020&#038;subd=vincenthomedev&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>The documentation for Prism 4 has been completely rewritten and includes the architectural overview, design, and technical concepts for composite applications, applied patterns, two chapters covering Model-View-ViewModel (MVVM), application navigation, Stock Trader Reference Implementation (Stock Trader RI) and MVVM Reference Implementation (MVVM RI) overview, QuickStart overviews, and deployment topics. Much of this guidance is applicable even if you are not using the Prism Library, but you want to know best practices for creating composite applications</p>
<p><a href="http://msdn.microsoft.com/en-us/library/gg406140.aspx">Prism 4.0 &#8211; November 2010</a></p>
<p>The guide contains the following topics:</p>
<ul>
<li><a href="http://msdn.microsoft.com/en-us/library/gg405471(v=PandP.40).aspx">Readme</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/gg430871(v=PandP.40).aspx">What&#8217;s New in Prism 4.0</a></li>
<li>Chapter 1: <a href="http://msdn.microsoft.com/en-us/library/ff921153(v=PandP.40).aspx">Introduction</a></li>
<li>Chapter 2: <a href="http://msdn.microsoft.com/en-us/library/gg430868(v=PandP.40).aspx">Initializing Prism Applications</a></li>
<li>Chapter 3: <a href="http://msdn.microsoft.com/en-us/library/ff921140(v=PandP.40).aspx">Managing Dependencies Between Components</a></li>
<li>Chapter 4: <a href="http://msdn.microsoft.com/en-us/library/gg405479(v=PandP.40).aspx">Modular Application Development</a></li>
<li>Chapter 5: <a href="http://msdn.microsoft.com/en-us/library/gg405484(v=PandP.40).aspx">Implementing the MVVM Pattern</a></li>
<li>Chapter 6: <a href="http://msdn.microsoft.com/en-us/library/gg405494(v=PandP.40).aspx">Advanced MVVM Scenarios</a></li>
<li>Chapter 7: <a href="http://msdn.microsoft.com/en-us/library/ff921098(v=PandP.40).aspx">Composing the User Interface</a></li>
<li>Chapter 8: <a href="http://msdn.microsoft.com/en-us/library/gg430861(v=PandP.40).aspx">Navigation</a></li>
<li>Chapter 9: <a href="http://msdn.microsoft.com/en-us/library/ff921122(v=PandP.40).aspx">Communicating Between Loosely Coupled Components</a></li>
<li>Chapter 10: <a href="http://msdn.microsoft.com/en-us/library/ff921109(v=PandP.40).aspx">Sharing Code Between Silverlight and WPF</a></li>
<li>Chapter 11: <a href="http://msdn.microsoft.com/en-us/library/gg430856(v=PandP.40).aspx">Deploying Prism Applications</a></li>
</ul>
<p>More:</p>
<ul>
<li><a href="http://msdn.microsoft.com/en-us/library/ff921146(v=PandP.40).aspx">Patterns in the Prism Library</a> – an overview on common patterns used in “Composite Application” &amp; Prisim Library.</li>
<li><a href="http://msdn.microsoft.com/en-us/library/gg405476(v=PandP.40).aspx">Prism Library</a> – the organization of the Prism Library into 4 different assemblies. (WP7 has only 2 assemblies)</li>
<li><a href="http://msdn.microsoft.com/en-us/library/gg430866(v=PandP.40).aspx">Extending Prism</a> e.g. custom logging.</li>
<li>Reference Implementations
<ul>
<li><a href="http://msdn.microsoft.com/en-us/library/gg405492(v=PandP.40).aspx">MVVM Reference Implementation</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/ff921074(v=PandP.40).aspx">Stock Trader Reference Implementation</a></li>
</ul>
</li>
<li>QuickStarts
<ul>
<li><a href="http://msdn.microsoft.com/en-us/library/ff921068(v=PandP.40).aspx">Modularity QuickStarts for WPF</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/ff921163(v=PandP.40).aspx">Modularity QuickStarts for Silverlight</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/gg430857(v=PandP.40).aspx">Basic MVVM QuickStart</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/gg430869(v=PandP.40).aspx">MVVM QuickStart</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/ff921082(v=PandP.40).aspx">Commanding QuickStart</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/ff921174(v=PandP.40).aspx">UI Composition QuickStart</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/gg405495(v=PandP.40).aspx">State-Based Navigation QuickStart</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/gg430881(v=PandP.40).aspx">View-Switching Navigation QuickStart</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/ff921173(v=PandP.40).aspx">Event Aggregation QuickStart</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/ff921176(v=PandP.40).aspx">Multi-Targeting QuickStart</a></li>
</ul>
</li>
<li>Appendix H: Prism Hands-On Labs
<ul>
<li><a href="http://msdn.microsoft.com/en-us/library/ff921141(v=PandP.40).aspx">WPF Hands-On Lab: Get Started with Prism</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/ff921096(v=PandP.40).aspx">Silverlight Hands-On Lab: Get Started with Prism</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/gg405497(v=PandP.40).aspx">WPF Prism Deployment Hands-On Lab: Publishing and Updating with ClickOnce</a></li>
</ul>
</li>
</ul>
<p>Class Library References:</p>
<p><a href="http://msdn.microsoft.com/en-us/library/gg491241%28v=PandP.40%29.aspx">Desktop Class Library</a></p>
<p><a href="http://msdn.microsoft.com/en-us/library/gg491242%28v=PandP.40%29.aspx">Phone Class Library</a></p>
<p><a href="http://msdn.microsoft.com/en-us/library/gg491243%28v=PandP.40%29.aspx">Silverlight Class Library</a></p>
<br />Filed under: <a href='http://vincenthomedev.wordpress.com/category/design/'>Design</a>, <a href='http://vincenthomedev.wordpress.com/category/architecture/mvvm/'>MVVM</a>, <a href='http://vincenthomedev.wordpress.com/category/silverlight/prism/'>Prism</a>, <a href='http://vincenthomedev.wordpress.com/category/silverlight/'>Silverlight</a>  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vincenthomedev.wordpress.com&#038;blog=1494855&#038;post=2020&#038;subd=vincenthomedev&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vincenthomedev.wordpress.com/2011/03/30/developers-guide-to-microsoft-prism-4-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/506f4f36af814f98fe395740c9cc2528?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">Vincent Leung</media:title>
		</media:content>
	</item>
	</channel>
</rss>
