﻿<?xml version="1.0" encoding="utf-8"?>
<feed xmlns:blogChannel="http://backend.userland.com/blogChannelModule" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns="http://www.w3.org/2005/Atom">
  <id>http://nexwebsites.com/web-designers/</id>
  <title>Nexus Web Development Company Blog</title>
  <updated>2015-11-02T19:44:32+00:00</updated>
  <link href="http://nexwebsites.com/web-designers/" />
  <link rel="self" href="http://nexwebsites.com/web-designers/syndication.axd?format=atom" />
  <subtitle>Empowering your business</subtitle>
  <author>
    <name>Nexus Web Development</name>
  </author>
  <generator uri="http://dotnetblogengine.net/" version="1.0.0.0">BlogEngine.Net Syndication Generator</generator>
  <blogChannel:blogRoll>http://nexwebsites.com/web-designers/opml.axd</blogChannel:blogRoll>
  <dc:creator>Nexus Web Development</dc:creator>
  <dc:description>Empowering your business</dc:description>
  <dc:language>en-US</dc:language>
  <dc:title>Nexus Web Development Company Blog</dc:title>
  <geo:lat>0.000000</geo:lat>
  <geo:long>0.000000</geo:long>
  <entry>
    <id>http://nexwebsites.com/web-designers/post/social-meta-tags.aspx</id>
    <title>Social Meta Tags : Powerful, Special Tags You Should Know</title>
    <updated>2015-11-02T16:29:00+00:00</updated>
    <link rel="self" href="http://nexwebsites.com/web-designers/post.aspx?id=80bcd8b8-7591-4caf-84b7-72b8591f5c9a" />
    <link href="http://nexwebsites.com/web-designers/post/social-meta-tags.aspx" />
    <author>
      <name>web-development</name>
    </author>
    <summary type="html">&lt;p&gt;&lt;img style="display: block; margin-left: auto; margin-right: auto;" src="http://nexwebsites.com/web-designers/image.axd?picture=%2f2015%2f11%2fmeta-tags2.png" alt="" /&gt;&lt;/p&gt;
&lt;p style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px;"&gt;&lt;strong&gt;You've created a compelling website and brand, why lose impact when you try to share your content?&lt;/strong&gt;&lt;/p&gt;
&lt;p style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px;"&gt;Having your website indexed and shared on social sharing platforms can be a powerful way to increase engagement through social media channels. One thing to be aware of are the social meta tags that should exist on your content pages.&lt;/p&gt;
&lt;p style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px;"&gt;For your website to be found and indexed properly on the social media sharing platforms, including&amp;nbsp;&lt;strong&gt;Facebook, Google+, LinkedIn, Twitter and Pinterest&lt;/strong&gt;, it is important to have these simple meta tags in your page's header. It will help to ensure that your website is discoverable and represented properly.&lt;/p&gt;
&lt;p style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px;"&gt;&lt;strong&gt;&amp;nbsp;Below is a &amp;nbsp;Social Media Tag Template for a Blog Article page:&lt;/strong&gt;&lt;/p&gt;
&lt;pre style="color: #333333;"&gt;&amp;lt;!-- Update your html tag to include the itemscope and itemtype attributes. --&amp;gt;&lt;/pre&gt;
&lt;pre style="color: #333333;"&gt;&amp;lt;html itemscope itemtype="http://schema.org/Article"&amp;gt;&lt;/pre&gt;
&lt;pre style="color: #333333;"&gt;&amp;lt;!-- Place this data between the &amp;lt;head&amp;gt; tags of your website --&amp;gt;&lt;/pre&gt;
&lt;pre style="color: #333333;"&gt;&amp;lt;title&amp;gt;Page Title. Maximum length 60-70 characters&amp;lt;/title&amp;gt;&lt;/pre&gt;
&lt;pre style="color: #333333;"&gt;&amp;lt;meta name="description" content="Page description. No longer than 155 characters." /&amp;gt;&lt;/pre&gt;
&lt;p style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px;"&gt;&amp;nbsp;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px;"&gt;&amp;lt;!-- Schema.org markup for Google+ --&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre style="color: #333333;"&gt;&amp;lt;meta itemprop="name" content="The Name or Title Here"&amp;gt;&lt;/pre&gt;
&lt;pre style="color: #333333;"&gt;&amp;lt;meta itemprop="description" content="This is the page description"&amp;gt;&lt;/pre&gt;
&lt;pre style="color: #333333;"&gt;&amp;lt;meta itemprop="image" content="http://www.example.com/image.jpg"&amp;gt;&lt;/pre&gt;
&lt;p style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px;"&gt;&amp;nbsp;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px;"&gt;&amp;lt;!-- Twitter Card data --&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre style="color: #333333;"&gt;&amp;lt;meta name="twitter:card" content="summary_large_image"&amp;gt;&lt;/pre&gt;
&lt;pre style="color: #333333;"&gt;&amp;lt;meta name="twitter:site" content="@publisher_handle"&amp;gt;&lt;/pre&gt;
&lt;pre style="color: #333333;"&gt;&amp;lt;meta name="twitter:title" content="Page Title"&amp;gt;&lt;/pre&gt;
&lt;pre style="color: #333333;"&gt;&amp;lt;meta name="twitter:description" content="Page description less than 200 characters"&amp;gt;&lt;/pre&gt;
&lt;pre style="color: #333333;"&gt;&amp;lt;meta name="twitter:creator" content="@author_handle"&amp;gt;&lt;/pre&gt;
&lt;pre style="color: #333333;"&gt;&amp;lt;!-- Twitter summary card with large image must be at least 280x150px --&amp;gt;&lt;/pre&gt;
&lt;pre style="color: #333333;"&gt;&amp;lt;meta name="twitter:image:src" content="http://www.example.com/image.html"&amp;gt;&lt;/pre&gt;
&lt;p style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px;"&gt;&amp;nbsp;&lt;strong&gt;The importance of&amp;nbsp;&lt;a style="margin: 0px; padding: 0px 10px 0px 0px; text-decoration: none; color: #3fa3c9; white-space: nowrap; background: url('http://nexwebsites.com/web-designers/pics/remote.gif') 100% 0% no-repeat;" title="Open Graph" href="http://ogp.me/"&gt;Open Graph&lt;/a&gt;&amp;nbsp;data&lt;/strong&gt;&lt;/p&gt;
&lt;p style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px;"&gt;If you could choose only one type of meta data to include, Open Graph meta tags would be it, because all of the platforms can use it as a fallback, including Twitter to a large degree.&lt;/p&gt;
&lt;pre style="color: #333333;"&gt;&amp;lt;!-- Open Graph data --&amp;gt;&lt;/pre&gt;
&lt;pre style="color: #333333;"&gt;&amp;lt;meta property="og:title" content="Title Here" /&amp;gt;&lt;/pre&gt;
&lt;pre style="color: #333333;"&gt;&amp;lt;meta property="og:type" content="article" /&amp;gt;&lt;/pre&gt;
&lt;pre style="color: #333333;"&gt;&amp;lt;meta property="og:url" content="http://www.example.com/" /&amp;gt;&lt;/pre&gt;
&lt;pre style="color: #333333;"&gt;&amp;lt;meta property="og:image" content="http://example.com/image.jpg" /&amp;gt;&lt;/pre&gt;
&lt;pre style="color: #333333;"&gt;&amp;lt;meta property="og:description" content="Description Here" /&amp;gt;&lt;/pre&gt;
&lt;pre style="color: #333333;"&gt;&amp;lt;meta property="og:site_name" content="Site Name, i.e. Nexus Web Development" /&amp;gt;&lt;/pre&gt;
&lt;pre style="color: #333333;"&gt;&amp;lt;meta property="article:published_time" content="2015-11-15T05:59:00+01:00" /&amp;gt;&lt;/pre&gt;
&lt;pre style="color: #333333;"&gt;&amp;lt;meta property="article:modified_time" content="2015-11-16T19:08:47+01:00" /&amp;gt;&lt;/pre&gt;
&lt;pre style="color: #333333;"&gt;&amp;lt;meta property="article:section" content="Article Section" /&amp;gt;&lt;/pre&gt;
&lt;pre style="color: #333333;"&gt;&amp;lt;meta property="article:tag" content="Article Tag" /&amp;gt;&lt;/pre&gt;
&lt;pre style="color: #333333;"&gt;&amp;lt;meta property="fb:admins" content="Facebook numberic ID" /&amp;gt;&lt;/pre&gt;
&lt;p style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px;"&gt;&amp;nbsp;The meta tags above should be self explanatory. For the article:published_time and the article:modified_time, the content Time is expressed with an offset time from UTC (Coordinated Universal Time).&lt;/p&gt;
&lt;p style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px;"&gt;Example : 2015-11-05T08:15:30-05:00 corresponds to November 5, 2015, 8:15:30 am, US Eastern Standard Time.&lt;/p&gt;
&lt;h3 style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px;"&gt;&amp;nbsp;&lt;span style="font-size: 1.17em;"&gt;Tools for Social Meta Tag Testing and Approval&lt;/span&gt;&lt;/h3&gt;
&lt;p style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px;"&gt;&lt;strong&gt;A.&amp;nbsp;&lt;a style="margin: 0px; padding: 0px; text-decoration: none; color: #3fa3c9;" title="Twitter Meta tag validation tool" href="https://dev.twitter.com/docs/cards/validation/validator"&gt;Twitter Validation Tool&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px;"&gt;Before your cards show on Twitter, you must first have your domain approved. Fortunately, it's a super-easy process. After you implement your cards, simply enter your sample URL into the validation tool. After checking your markup, select the "Submit for Approval" button.&lt;/p&gt;
&lt;p style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px;"&gt;&lt;strong&gt;B.&amp;nbsp;&lt;a style="margin: 0px; padding: 0px; text-decoration: none; color: #3fa3c9;" title="Facebook Meta tag debugger " href="https://developers.facebook.com/tools/debug"&gt;Facebook Debugger&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px;"&gt;You don't need prior approval for your meta information to show on Facebook, but their debugging tool provides a wealth of information about your meta tags and can analyze your Twitter tags as well.&lt;/p&gt;
&lt;p style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px;"&gt;&lt;strong&gt;C.&amp;nbsp;&lt;a style="margin: 0px; padding: 0px 10px 0px 0px; text-decoration: none; color: #3fa3c9; white-space: nowrap; background: url('http://nexwebsites.com/web-designers/pics/remote.gif') 100% 0% no-repeat;" title="Google structured data testing tool" href="http://www.google.com/webmasters/tools/richsnippets"&gt;Google Structured Data Testing Tool&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px;"&gt;Webmasters typically use the structured data testing tool to test authorship markup and preview how snippets will appear in search results, but you can also use see what other types of meta data Google is able to extract from each page.&lt;/p&gt;
&lt;p style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px;"&gt;&lt;strong&gt;D.&amp;nbsp;&lt;a style="margin: 0px; padding: 0px 10px 0px 0px; text-decoration: none; color: #3fa3c9; white-space: nowrap; background: url('http://nexwebsites.com/web-designers/pics/remote.gif') 100% 0% no-repeat;" title="Pinterest Rich Pins validator" href="http://developers.pinterest.com/rich_pins/validator/"&gt;Pinterest Rich Pins Validator&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px;"&gt;Like Twitter, Pinterest requires an approval process to enable Rich Pin functionality. Use the Rich Pin Validator tool to test your data markup and apply for approval at the same time.&lt;/p&gt;
&lt;p style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px;"&gt;These social meta tags can go a long way towards enhancing your site's visibility on social platforms. On WordPress sites, they can be implemented automatically by some plugins.&amp;nbsp;&lt;/p&gt;</summary>
    <published>2015-11-02T16:29:00+00:00</published>
    <link rel="related" href="http://nexwebsites.com/web-designers/post/social-meta-tags.aspx#comment" />
    <category term="Website Design" />
    <dc:publisher>web-development</dc:publisher>
    <pingback:server>http://nexwebsites.com/web-designers/pingback.axd</pingback:server>
    <pingback:target>http://nexwebsites.com/web-designers/post.aspx?id=80bcd8b8-7591-4caf-84b7-72b8591f5c9a</pingback:target>
    <slash:comments>0</slash:comments>
    <trackback:ping>http://nexwebsites.com/web-designers/trackback.axd?id=80bcd8b8-7591-4caf-84b7-72b8591f5c9a</trackback:ping>
    <wfw:comment>http://nexwebsites.com/web-designers/post/social-meta-tags.aspx#comment</wfw:comment>
    <wfw:commentRss>http://nexwebsites.com/web-designers/syndication.axd?post=80bcd8b8-7591-4caf-84b7-72b8591f5c9a</wfw:commentRss>
  </entry>
  <entry>
    <id>http://nexwebsites.com/web-designers/post/AngularJS-2-for-TypeScript-Cheat-Sheet-Javascript-Developer-Preview.aspx</id>
    <title>AngularJS 2 for TypeScript Cheat Sheet Javascript Developer Preview</title>
    <updated>2015-10-28T09:40:00+00:00</updated>
    <link rel="self" href="http://nexwebsites.com/web-designers/post.aspx?id=19ad73a4-44f7-46ae-88a2-9c34f189c19f" />
    <link href="http://nexwebsites.com/web-designers/post/AngularJS-2-for-TypeScript-Cheat-Sheet-Javascript-Developer-Preview.aspx" />
    <author>
      <name>web-development</name>
    </author>
    <summary type="html">&lt;h2&gt;&lt;img style="font-size: 10px; display: block; margin-left: auto; margin-right: auto;" src="http://nexwebsites.com/web-designers/image.axd?picture=%2f2015%2f10%2fAngularJS.png" alt="" /&gt;&lt;/h2&gt;
&lt;h2&gt;&lt;span style="font-size: 1.5em;"&gt;Angular for TypeScript Cheat Sheet (v2.0.0-alpha.44)&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span style="color: #999999;"&gt;Developer Preview : Some details may change&lt;/span&gt;&lt;/p&gt;
&lt;table class="ng-scope" style="border-bottom: 5px solid #4d6a79; border-collapse: collapse; border-spacing: 0px; margin-bottom: 32px; width: 557px; color: #445a64; font-family: Roboto,'Helvetica Neue Light','Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif; font-size: 14px; height: 1158px;"&gt;
&lt;tbody&gt;
&lt;tr style="background: #e7ebee none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;th class="ng-binding" style="border-bottom: 1px solid #cfd8dc; margin: 0px 0px 16px; padding: 8px 16px; background: #4d6a79 none repeat scroll 0%; font-size: 16px; font-weight: 500; opacity: 0.87; line-height: 28px; color: white; width: 789px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;Template syntax&lt;/th&gt;&lt;th style="border-bottom: 1px solid #cfd8dc; margin: 0px 0px 16px; padding: 8px 16px; background: #4d6a79 none repeat scroll 0%; font-size: 16px; font-weight: 500; opacity: 0.87; line-height: 28px; text-align: right; color: white; width: 788px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&amp;nbsp;&lt;/th&gt;&lt;/tr&gt;
&lt;tr class="ng-scope"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&amp;lt;input &lt;strong&gt;[value]&lt;/strong&gt;="firstName"&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Binds property value to the result of expression firstName.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope" style="background: #e7ebee none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&amp;lt;div &lt;strong&gt;[attr.role]&lt;/strong&gt;="myAriaRole"&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Binds attribute role to the result of expression myAriaRole.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&amp;lt;div &lt;strong&gt;[class.extra-sparkle]&lt;/strong&gt;="isDelightful"&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Binds the presence of the css class extra-sparkle on the element to the truthiness of the expression isDelightful.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope" style="background: #e7ebee none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&amp;lt;div &lt;strong&gt;[style.width.px]&lt;/strong&gt;="mySize"&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Binds style property width to the result of expression mySize in pixels. Units are optional.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&amp;lt;button &lt;strong&gt;(click)&lt;/strong&gt;="readRainbow($event)"&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Calls method readRainbow when a click event is triggered on this button element (or its children) and passes in the event object.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope" style="background: #e7ebee none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&amp;lt;div title="Hello &lt;strong&gt;{{ponyName}}&lt;/strong&gt;"&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Binds a property to an interpolated string, e.g. "Hello Seabiscuit". Equivalent to: &amp;lt;div [title]="'Hello' + ponyName"&amp;gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&amp;lt;p&amp;gt;Hello &lt;strong&gt;{{ponyName}}&lt;/strong&gt;&amp;lt;/p&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Binds text content to an interpolated string, e.g. "Hello Seabiscuit".&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope" style="background: #e7ebee none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&amp;lt;my-cmp &lt;strong&gt;[(title)]&lt;/strong&gt;="name"&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Sets up two-way data binding. Equivalent to: &amp;lt;my-cmp [title]="name" (title-change)="name=$event"&amp;gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&amp;lt;video &lt;strong&gt;#movieplayer&lt;/strong&gt; ...&amp;gt;&lt;br /&gt; &amp;lt;button &lt;strong&gt;(click)&lt;/strong&gt;="movieplayer.play()" &amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Creates a local variable movieplayer that provides access to the video element instance in data- and event-binding expressions in the current template.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope" style="background: #e7ebee none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&amp;lt;p &lt;strong&gt;*my-unless&lt;/strong&gt;="myExpression"&amp;gt;...&amp;lt;/p&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;The * symbol means that the current element will be turned into an embedded template. Equivalent to: &amp;lt;template [my-unless]="myExpression"&amp;gt;&amp;lt;p&amp;gt;...&amp;lt;/p&amp;gt;&amp;lt;/template&amp;gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&amp;lt;p&amp;gt;Card No.: &lt;strong&gt;{{cardNumber | myCreditCardNumberFormatter}}&lt;/strong&gt;&amp;lt;/p&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Transforms the current value of expression cardNumber via pipe called creditCardNumberFormatter.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope" style="background: #e7ebee none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&amp;lt;p&amp;gt;Employer: &lt;strong&gt;{{employer?.companyName}}&lt;/strong&gt;&amp;lt;/p&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;The Elvis operator (?) means that the employer field is optional and if undefined, the rest of the expression should be ignored.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table class="ng-scope" style="border-bottom: 5px solid #4d6a79; border-collapse: collapse; border-spacing: 0px; margin-bottom: 32px; width: 545px; color: #445a64; font-family: Roboto,'Helvetica Neue Light','Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif; font-size: 14px; height: 969px;"&gt;
&lt;tbody&gt;
&lt;tr style="background: #e7ebee none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;th class="ng-binding" style="border-bottom: 1px solid #cfd8dc; margin: 0px 0px 16px; padding: 8px 16px; background: #4d6a79 none repeat scroll 0%; font-size: 16px; font-weight: 500; opacity: 0.87; line-height: 28px; color: white; width: 789px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;Built-in directives&lt;/th&gt;&lt;th style="border-bottom: 1px solid #cfd8dc; margin: 0px 0px 16px; padding: 8px 16px; background: #4d6a79 none repeat scroll 0%; font-size: 16px; font-weight: 500; opacity: 0.87; line-height: 28px; text-align: right; color: white; width: 788px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;code class="ng-binding" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 14.4px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;import {NgIf, ...} from 'angular2/angular2';&lt;/code&gt;&lt;/th&gt;&lt;/tr&gt;
&lt;tr class="ng-scope"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&amp;lt;section &lt;strong&gt;*ng-if&lt;/strong&gt;="showSection"&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Removes or recreates a portion of the DOM tree based on the showSection expression.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope" style="background: #e7ebee none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&amp;lt;li &lt;strong&gt;*ng-for&lt;/strong&gt;="#item of list"&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Turns the li element and its contents into a template, and uses that to instantiate a view for each item in list.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&amp;lt;div &lt;strong&gt;[ng-switch]&lt;/strong&gt;="conditionExpression"&amp;gt;&lt;br /&gt; &amp;lt;template &lt;strong&gt;[&lt;strong&gt;ng-switch-when&lt;/strong&gt;]&lt;/strong&gt;="case1Exp"&amp;gt;...&amp;lt;/template&amp;gt;&lt;br /&gt; &amp;lt;template &lt;strong&gt;ng-switch-when&lt;/strong&gt;="case2LiteralString"&amp;gt;...&amp;lt;/template&amp;gt;&lt;br /&gt; &amp;lt;template &lt;strong&gt;ng-switch-default&lt;/strong&gt;&amp;gt;...&amp;lt;/template&amp;gt;&lt;br /&gt; &amp;lt;/div&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Conditionally swaps the contents of the div by selecting one of the embedded templates based on the current value of conditionExpression.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope" style="background: #e7ebee none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&amp;lt;div &lt;strong&gt;[ng-class]&lt;/strong&gt;="{active: isActive, disabled: isDisabled}"&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Binds the presence of css classes on the element to the truthiness of the associated map values. The right-hand side expression should return {class-name: true/false} map.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table class="ng-scope" style="border-bottom: 5px solid #4d6a79; border-collapse: collapse; border-spacing: 0px; margin-bottom: 32px; width: 550px; color: #445a64; font-family: Roboto,'Helvetica Neue Light','Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif; font-size: 14px; height: 127px;"&gt;
&lt;tbody&gt;
&lt;tr style="background: #e7ebee none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;th class="ng-binding" style="border-bottom: 1px solid #cfd8dc; margin: 0px 0px 16px; padding: 8px 16px; background: #4d6a79 none repeat scroll 0%; font-size: 16px; font-weight: 500; opacity: 0.87; line-height: 28px; color: white; width: 789px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;Forms&lt;/th&gt;&lt;th style="border-bottom: 1px solid #cfd8dc; margin: 0px 0px 16px; padding: 8px 16px; background: #4d6a79 none repeat scroll 0%; font-size: 16px; font-weight: 500; opacity: 0.87; line-height: 28px; text-align: right; color: white; width: 788px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;code class="ng-binding" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 14.4px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;import {FORM_DIRECTIVES} from 'angular2/angular2';&lt;/code&gt;&lt;/th&gt;&lt;/tr&gt;
&lt;tr class="ng-scope"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&amp;lt;input &lt;strong&gt;[(ng-model)]&lt;/strong&gt;="userName"&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Provides two-way data-binding, parsing and validation for form controls.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table class="ng-scope" style="border-bottom: 5px solid #4d6a79; border-collapse: collapse; border-spacing: 0px; margin-bottom: 32px; width: 550px; color: #445a64; font-family: Roboto,'Helvetica Neue Light','Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif; font-size: 14px; height: 285px;"&gt;
&lt;tbody&gt;
&lt;tr style="background: #e7ebee none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;th class="ng-binding" style="border-bottom: 1px solid #cfd8dc; margin: 0px 0px 16px; padding: 8px 16px; background: #4d6a79 none repeat scroll 0%; font-size: 16px; font-weight: 500; opacity: 0.87; line-height: 28px; color: white; width: 789px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;Class decorators&lt;/th&gt;&lt;th style="border-bottom: 1px solid #cfd8dc; margin: 0px 0px 16px; padding: 8px 16px; background: #4d6a79 none repeat scroll 0%; font-size: 16px; font-weight: 500; opacity: 0.87; line-height: 28px; text-align: right; color: white; width: 788px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;code class="ng-binding" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 14.4px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;import {Directive, ...} from 'angular2/angular2';&lt;/code&gt;&lt;/th&gt;&lt;/tr&gt;
&lt;tr class="ng-scope"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;strong&gt;@Component({...})&lt;/strong&gt;&lt;br /&gt; class MyComponent() {}&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Declares that a class is a component and provides metadata about the component.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope" style="background: #e7ebee none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;strong&gt;@Pipe({...})&lt;/strong&gt;&lt;br /&gt; class MyPipe() {}&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Declares that a class is a pipe and provides metadata about the pipe.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;strong&gt;@Injectable()&lt;/strong&gt;&lt;br /&gt; class MyService() {}&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Declares that a class has dependencies that should be injected into the constructor when the dependency injector is creating an instance of this class.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table class="ng-scope" style="border-bottom: 5px solid #4d6a79; border-collapse: collapse; border-spacing: 0px; margin-bottom: 32px; width: 550px; color: #445a64; font-family: Roboto,'Helvetica Neue Light','Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif; font-size: 14px; height: 248px;"&gt;
&lt;tbody&gt;
&lt;tr style="background: #e7ebee none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;th class="ng-binding" style="border-bottom: 1px solid #cfd8dc; margin: 0px 0px 16px; padding: 8px 16px; background: #4d6a79 none repeat scroll 0%; font-size: 16px; font-weight: 500; opacity: 0.87; line-height: 28px; color: white; width: 789px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;@Directive configuration (used as @Directive({ property1: value1, ... }) )&lt;/th&gt;&lt;th style="border-bottom: 1px solid #cfd8dc; margin: 0px 0px 16px; padding: 8px 16px; background: #4d6a79 none repeat scroll 0%; font-size: 16px; font-weight: 500; opacity: 0.87; line-height: 28px; text-align: right; color: white; width: 788px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&amp;nbsp;&lt;/th&gt;&lt;/tr&gt;
&lt;tr class="ng-scope"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;strong&gt;selector:&lt;/strong&gt; '.cool-button:not(a)'&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Specifies a css selector that identifies this directive within a template. Supported selectors include: element, [attribute], .class, and :not(). Does not support parent-child relationship selectors.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope" style="background: #e7ebee none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;strong&gt;providers:&lt;/strong&gt; [MyService, provide(...)]&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Array of dependency injection providers for this directive and its children.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table class="ng-scope" style="border-bottom: 5px solid #4d6a79; border-collapse: collapse; border-spacing: 0px; margin-bottom: 32px; width: 550px; color: #445a64; font-family: Roboto,'Helvetica Neue Light','Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif; font-size: 14px; height: 404px;"&gt;
&lt;tbody&gt;
&lt;tr style="background: #e7ebee none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;th class="ng-binding" style="border-bottom: 1px solid #cfd8dc; margin: 0px 0px 16px; padding: 8px 16px; background: #4d6a79 none repeat scroll 0%; font-size: 16px; font-weight: 500; opacity: 0.87; line-height: 28px; color: white; width: 789px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;@Component configuration (@Component extends @Directive, so the @Directive configuration above applies to components as well)&lt;/th&gt;&lt;th style="border-bottom: 1px solid #cfd8dc; margin: 0px 0px 16px; padding: 8px 16px; background: #4d6a79 none repeat scroll 0%; font-size: 16px; font-weight: 500; opacity: 0.87; line-height: 28px; text-align: right; color: white; width: 788px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&amp;nbsp;&lt;/th&gt;&lt;/tr&gt;
&lt;tr class="ng-scope"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;strong&gt;viewProviders:&lt;/strong&gt; [MyService, provide(...)]&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Array of dependency injection providers scoped to this component's view.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope" style="background: #e7ebee none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;strong&gt;template:&lt;/strong&gt; 'Hello {{name}}'&lt;br /&gt; &lt;strong&gt;templateUrl:&lt;/strong&gt; 'my-component.html'&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Inline template / external template url of the component's view.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;strong&gt;styles:&lt;/strong&gt; ['.primary {color: red}']&lt;br /&gt; &lt;strong&gt;styleUrls:&lt;/strong&gt; ['my-component.css']&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;List of inline css styles / external stylesheet urls for styling component&amp;rsquo;s view.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope" style="background: #e7ebee none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;strong&gt;directives:&lt;/strong&gt; [MyDirective, MyComponent]&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;List of directives used in the the component&amp;rsquo;s template.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;strong&gt;pipes:&lt;/strong&gt; [MyPipe, OtherPipe]&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;List of pipes used in the component's template.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table class="ng-scope" style="border-bottom: 5px solid #4d6a79; border-collapse: collapse; border-spacing: 0px; margin-bottom: 32px; width: 550px; color: #445a64; font-family: Roboto,'Helvetica Neue Light','Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif; font-size: 14px; height: 762px;"&gt;
&lt;tbody&gt;
&lt;tr style="background: #e7ebee none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;th class="ng-binding" style="border-bottom: 1px solid #cfd8dc; margin: 0px 0px 16px; padding: 8px 16px; background: #4d6a79 none repeat scroll 0%; font-size: 16px; font-weight: 500; opacity: 0.87; line-height: 28px; color: white; width: 789px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;Class field decorators for directives and components&lt;/th&gt;&lt;th style="border-bottom: 1px solid #cfd8dc; margin: 0px 0px 16px; padding: 8px 16px; background: #4d6a79 none repeat scroll 0%; font-size: 16px; font-weight: 500; opacity: 0.87; line-height: 28px; text-align: right; color: white; width: 788px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;code class="ng-binding" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 14.4px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;import {Input, ...} from 'angular2/angular2';&lt;/code&gt;&lt;/th&gt;&lt;/tr&gt;
&lt;tr class="ng-scope"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;strong&gt;@Input()&lt;/strong&gt; myProperty;&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Declares an input property that we can update via property binding, e.g. &amp;lt;my-cmp [my-property]="someExpression"&amp;gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope" style="background: #e7ebee none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;strong&gt;@Output()&lt;/strong&gt; myEvent = new EventEmitter();&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Declares an output property that fires events to which we can subscribe with an event binding, e.g. &amp;lt;my-cmp (my-event)="doSomething()"&amp;gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;strong&gt;@HostBinding('[class.valid]')&lt;/strong&gt; isValid;&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Binds a host element property (e.g. css class valid) to directive/component property (e.g. isValid)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope" style="background: #e7ebee none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;strong&gt;@HostListener('click', ['$event'])&lt;/strong&gt; onClick(e) {...}&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Subscribes to a host element event (e.g. click) with a directive/component method (e.g., onClick), optionally passing an argument ($event)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;strong&gt;@ContentChild(myPredicate)&lt;/strong&gt; myChildComponent;&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Binds the first result of the component content query (myPredicate) to the myChildComponent property of the class.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope" style="background: #e7ebee none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;strong&gt;@ContentChildren(myPredicate)&lt;/strong&gt; myChildComponents;&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Binds the results of the component content query (myPredicate) to the myChildComponents property of the class.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;strong&gt;@ViewChild(myPredicate)&lt;/strong&gt; myChildComponent;&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Binds the first result of the component view query (myPredicate) to the myChildComponent property of the class. Not available for directives.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope" style="background: #e7ebee none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;strong&gt;@ViewChildren(myPredicate)&lt;/strong&gt; myChildComponents;&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Binds the results of the component view query (myPredicate) to the myChildComponents property of the class. Not available for directives.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table class="ng-scope" style="border-bottom: 5px solid #4d6a79; border-collapse: collapse; border-spacing: 0px; margin-bottom: 32px; width: 550px; color: #445a64; font-family: Roboto,'Helvetica Neue Light','Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif; font-size: 14px; height: 685px;"&gt;
&lt;tbody&gt;
&lt;tr style="background: #e7ebee none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;th class="ng-binding" style="border-bottom: 1px solid #cfd8dc; margin: 0px 0px 16px; padding: 8px 16px; background: #4d6a79 none repeat scroll 0%; font-size: 16px; font-weight: 500; opacity: 0.87; line-height: 28px; color: white; width: 789px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;Directive and component change detection and lifecycle hooks (implemented as class methods)&lt;/th&gt;&lt;th style="border-bottom: 1px solid #cfd8dc; margin: 0px 0px 16px; padding: 8px 16px; background: #4d6a79 none repeat scroll 0%; font-size: 16px; font-weight: 500; opacity: 0.87; line-height: 28px; text-align: right; color: white; width: 788px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&amp;nbsp;&lt;/th&gt;&lt;/tr&gt;
&lt;tr class="ng-scope"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;strong&gt;constructor(myService: MyService, ...)&lt;/strong&gt; { ... }&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;The class constructor is called before any other lifecycle hook. Use it to inject dependencies, but avoid any serious work here.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope" style="background: #e7ebee none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;strong&gt;onChanges(changeRecord)&lt;/strong&gt; { ... }&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Called after every change to input properties and before processing content or child views.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;strong&gt;onInit()&lt;/strong&gt; { ... }&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Called after the constructor, initializing input properties, and the first call to onChanges.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope" style="background: #e7ebee none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;strong&gt;doCheck()&lt;/strong&gt; { ... }&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Called every time that the input properties of a component or a directive are checked. Use it to extend change detection by performing a custom check.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;strong&gt;afterContentInit()&lt;/strong&gt; { ... }&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Called after onInit when the component's or directive's content has been initialized.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope" style="background: #e7ebee none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;strong&gt;afterContentChecked()&lt;/strong&gt; { ... }&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Called after every check of the component's or directive's content.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;strong&gt;afterViewInit()&lt;/strong&gt; { ... }&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Called after onContentInit when the component's view has been initialized. Applies to components only.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope" style="background: #e7ebee none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;strong&gt;afterViewChecked()&lt;/strong&gt; { ... }&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Called after every check of the component's view. Applies to components only.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;strong&gt;onDestroy()&lt;/strong&gt; { ... }&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Called once, before the instance is destroyed.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table class="ng-scope" style="border-bottom: 5px solid #4d6a79; border-collapse: collapse; border-spacing: 0px; margin-bottom: 32px; width: 550px; color: #445a64; font-family: Roboto,'Helvetica Neue Light','Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif; font-size: 14px; height: 317px;"&gt;
&lt;tbody&gt;
&lt;tr style="background: #e7ebee none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;th class="ng-binding" style="border-bottom: 1px solid #cfd8dc; margin: 0px 0px 16px; padding: 8px 16px; background: #4d6a79 none repeat scroll 0%; font-size: 16px; font-weight: 500; opacity: 0.87; line-height: 28px; color: white; width: 789px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;Dependency injection configuration&lt;/th&gt;&lt;th style="border-bottom: 1px solid #cfd8dc; margin: 0px 0px 16px; padding: 8px 16px; background: #4d6a79 none repeat scroll 0%; font-size: 16px; font-weight: 500; opacity: 0.87; line-height: 28px; text-align: right; color: white; width: 788px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;code class="ng-binding" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 14.4px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;import {provide} from 'angular2/angular2';&lt;/code&gt;&lt;/th&gt;&lt;/tr&gt;
&lt;tr class="ng-scope"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;strong&gt;provide&lt;/strong&gt;(MyService, {&lt;strong&gt;useClass&lt;/strong&gt;: MyMockService})&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Sets or overrides the provider for MyService to the MyMockService class.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope" style="background: #e7ebee none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;strong&gt;provide&lt;/strong&gt;(MyService, {&lt;strong&gt;useFactory&lt;/strong&gt;: myFactory})&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Sets or overrides the provider for MyService to the myFactory factory function.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;strong&gt;provide&lt;/strong&gt;(MyValue, {&lt;strong&gt;useValue&lt;/strong&gt;: 41})&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Sets or overrides the provider for MyValue to the value 41.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table class="ng-scope" style="border-bottom: 5px solid #4d6a79; border-collapse: collapse; border-spacing: 0px; margin-bottom: 32px; width: 549px; color: #445a64; font-family: Roboto,'Helvetica Neue Light','Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif; font-size: 14px; height: 1478px;"&gt;
&lt;tbody&gt;
&lt;tr style="background: #e7ebee none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;th class="ng-binding" style="border-bottom: 1px solid #cfd8dc; margin: 0px 0px 16px; padding: 8px 16px; background: #4d6a79 none repeat scroll 0%; font-size: 16px; font-weight: 500; opacity: 0.87; line-height: 28px; color: white; width: 789px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;Routing and navigation&lt;/th&gt;&lt;th style="border-bottom: 1px solid #cfd8dc; margin: 0px 0px 16px; padding: 8px 16px; background: #4d6a79 none repeat scroll 0%; font-size: 16px; font-weight: 500; opacity: 0.87; line-height: 28px; text-align: right; color: white; width: 788px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;code class="ng-binding" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 14.4px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;import {RouteConfig, ROUTER_DIRECTIVES, ROUTER_PROVIDERS, ...} from 'angular2/router';&lt;/code&gt;&lt;/th&gt;&lt;/tr&gt;
&lt;tr class="ng-scope"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;strong&gt;@RouteConfig&lt;/strong&gt;([&lt;br /&gt; { path: '/:myParam', component: MyComponent, as: 'MyCmp' },&lt;br /&gt; { path: '/staticPath', component: ..., as: ...},&lt;br /&gt; { path: '/*wildCardParam', component: ..., as: ...}&lt;br /&gt; ])&lt;br /&gt; class MyComponent() {}&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Configures routes for the decorated component. Supports static, parameterized and wildcard routes.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope" style="background: #e7ebee none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&amp;lt;&lt;strong&gt;router-outlet&lt;/strong&gt;&amp;gt;&amp;lt;/&lt;strong&gt;router-outlet&lt;/strong&gt;&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Marks the location to load the component of the active route.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&amp;lt;a &lt;strong&gt;[router-link]&lt;/strong&gt;="[ '/MyCmp', {myParam: 'value' } ]"&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Creates a link to a different view based on a route instruction consisting of a route name and optional parameters. The route name matches the as property of a configured route. Add the '/' prefix to navigate to a root route; add the './' prefix for a child route.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope" style="background: #e7ebee none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;strong&gt;@CanActivate&lt;/strong&gt;(() =&amp;gt; { ... })class MyComponent() {}&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;A component decorator defining a function that the router should call first to determine if it should activate this component. Should return a boolean or a promise.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;strong&gt;onActivate&lt;/strong&gt;(nextInstruction, prevInstruction) { ... }&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;After navigating to a component, the router calls component's onActivate method (if defined).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope" style="background: #e7ebee none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;strong&gt;canReuse&lt;/strong&gt;(nextInstruction, prevInstruction) { ... }&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;The router calls a component's canReuse method (if defined) to determine whether to reuse the instance or destroy it and create a new instance. Should return a boolean or a promise.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;strong&gt;onReuse&lt;/strong&gt;(nextInstruction, prevInstruction) { ... }&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;The router calls the component's onReuse method (if defined) when it re-uses a component instance.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope" style="background: #e7ebee none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;strong&gt;canDeactivate&lt;/strong&gt;(nextInstruction, prevInstruction) { ... }&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;The router calls the canDeactivate methods (if defined) of every component that would be removed after a navigation. The navigation proceeds if and only if all such methods return true or a promise that is resolved.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="ng-scope"&gt;
&lt;td style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 789px; vertical-align: top;"&gt;&lt;code class="ng-binding ng-isolate-scope" style="padding: 0px 4px; background: transparent none repeat scroll 0%; font-family: Monaco,'Lucida Console',monospace; font-size: 12.6px; color: #536e7a; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;strong&gt;onDeactivate&lt;/strong&gt;(nextInstruction, prevInstruction) { ... }&lt;/code&gt;&lt;/td&gt;
&lt;td class="ng-binding" style="padding: 8px 16px; font-size: 14px; opacity: 0.87; line-height: 24px; width: 788px; vertical-align: top;"&gt;Called before the directive is removed as the result of a route change. May return a promise that pauses removing the directive until the promise resolves.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Source: &lt;a title="AngularJS" href="https://angular.io/"&gt;https://angular.io/&lt;/a&gt;&lt;/p&gt;</summary>
    <published>2015-10-28T09:40:00+00:00</published>
    <link rel="related" href="http://nexwebsites.com/web-designers/post/AngularJS-2-for-TypeScript-Cheat-Sheet-Javascript-Developer-Preview.aspx#comment" />
    <category term="Website Design" />
    <category term="Website Development" />
    <dc:publisher>web-development</dc:publisher>
    <pingback:server>http://nexwebsites.com/web-designers/pingback.axd</pingback:server>
    <pingback:target>http://nexwebsites.com/web-designers/post.aspx?id=19ad73a4-44f7-46ae-88a2-9c34f189c19f</pingback:target>
    <slash:comments>0</slash:comments>
    <trackback:ping>http://nexwebsites.com/web-designers/trackback.axd?id=19ad73a4-44f7-46ae-88a2-9c34f189c19f</trackback:ping>
    <wfw:comment>http://nexwebsites.com/web-designers/post/AngularJS-2-for-TypeScript-Cheat-Sheet-Javascript-Developer-Preview.aspx#comment</wfw:comment>
    <wfw:commentRss>http://nexwebsites.com/web-designers/syndication.axd?post=19ad73a4-44f7-46ae-88a2-9c34f189c19f</wfw:commentRss>
  </entry>
  <entry>
    <id>http://nexwebsites.com/web-designers/post/How-To-Choose-A-Nosql-Database-Like-A-Pro.aspx</id>
    <title>How To Choose A Nosql Database Like A Pro</title>
    <updated>2015-10-25T11:28:00+00:00</updated>
    <link rel="self" href="http://nexwebsites.com/web-designers/post.aspx?id=f480e88f-0218-455e-87b1-f2b47aa8ff53" />
    <link href="http://nexwebsites.com/web-designers/post/How-To-Choose-A-Nosql-Database-Like-A-Pro.aspx" />
    <author>
      <name>web-development</name>
    </author>
    <summary type="html">&lt;p&gt;&lt;img style="display: block; margin-left: auto; margin-right: auto;" src="http://nexwebsites.com/web-designers/image.axd?picture=%2f2015%2f10%2fchoosing-NoSQL-Database-scaled.png" alt="Choosing a NoSQl Database" /&gt;&lt;/p&gt;
&lt;p style="box-sizing: border-box; margin: 0px 0px 1.25rem; padding: 0px; font-family: 'Open Sans', sans-serif; font-size: 16px; line-height: 25.6px; text-rendering: optimizeLegibility; color: #686868;"&gt;&lt;br style="box-sizing: border-box;" /&gt;The days of one database system for the entire enterprise, are over. Now even simple mobile applications demand more than one database. The good news is that we have entered a golden age of open-source&amp;nbsp;&lt;span style="box-sizing: border-box; font-weight: bold; line-height: inherit;"&gt;&lt;em style="box-sizing: border-box; line-height: inherit;"&gt;NoSQL databases&lt;/em&gt;&lt;/span&gt;. Developers have access to great open-source database technologies with robust communities behind them.&lt;/p&gt;
&lt;p style="box-sizing: border-box; margin: 0px 0px 1.25rem; padding: 0px; font-family: 'Open Sans', sans-serif; font-size: 16px; line-height: 25.6px; text-rendering: optimizeLegibility; color: #686868;"&gt;&lt;span style="box-sizing: border-box; font-weight: bold; line-height: inherit;"&gt;The difficulty is knowing which NoSQL database to choose for a particular use case.&lt;/span&gt;&lt;/p&gt;
&lt;blockquote style="box-sizing: border-box; margin: 0px 0px 1.25rem; padding: 0.5625rem 1.25rem 0px 1.1875rem; border-left-width: 1px; border-left-style: solid; border-left-color: #dddddd; line-height: 25.6px; color: #6f6f6f; font-family: 'Open Sans', sans-serif; font-size: 16px;"&gt;
&lt;p style="box-sizing: border-box; margin: 0px 0px 1.25rem; padding: 0px; font-family: inherit; font-size: 1rem; line-height: 1.6; text-rendering: optimizeLegibility;"&gt;&lt;em style="box-sizing: border-box; line-height: inherit;"&gt;"NoSQL: a broad class of data management systems where the data is partitioned across a set of servers, where no server plays a privileged role."&lt;/em&gt;&amp;nbsp;--Emin G&amp;uuml;n Sirer&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id="typesandexamplesofnosqldatabasesbasedondatamodelincludethefollowing" style="box-sizing: border-box; margin: 0.2rem 0px 0.5rem; padding: 0px; font-family: 'Open Sans', sans-serif; color: #4e4e4e; text-rendering: optimizeLegibility; line-height: 1.4; font-size: 1.6875rem;"&gt;Types and examples of NoSQL databases based on data model, include the following:&lt;/h3&gt;
&lt;ul style="box-sizing: border-box; margin: 0px 0px 1.25rem 1.1rem; padding: 0px; font-size: 16px; line-height: 25.6px; list-style-position: outside; font-family: 'Open Sans', sans-serif; color: #686868;"&gt;
&lt;li style="box-sizing: border-box; margin: 0px; padding: 0px;"&gt;&lt;span style="box-sizing: border-box; font-weight: bold; line-height: inherit;"&gt;Columnar:&lt;/span&gt;&amp;nbsp;Accumulo, Cassandra, Druid, HBase, Vertica&lt;/li&gt;
&lt;li style="box-sizing: border-box; margin: 0px; padding: 0px;"&gt;&lt;span style="box-sizing: border-box; font-weight: bold; line-height: inherit;"&gt;Document:&lt;/span&gt;&amp;nbsp;Clusterpoint, Apache CouchDB, Couchbase, DocumentDB, HyperDex, Lotus Notes, MarkLogic, MongoDB, OrientDB, Qizx&lt;/li&gt;
&lt;li style="box-sizing: border-box; margin: 0px; padding: 0px;"&gt;&lt;span style="box-sizing: border-box; font-weight: bold; line-height: inherit;"&gt;Key-value:&lt;/span&gt;&amp;nbsp;CouchDB, Oracle NoSQL Database, Dynamo, FoundationDB, HyperDex, MemcacheDB, Redis, Riak, FairCom c-treeACE, Aerospike, OrientDB, MUMPS&lt;/li&gt;
&lt;li style="box-sizing: border-box; margin: 0px; padding: 0px;"&gt;&lt;span style="box-sizing: border-box; font-weight: bold; line-height: inherit;"&gt;Graph:&lt;/span&gt;&amp;nbsp;Allegro,Neo4J, InfiniteGraph, OrientDB, Virtuoso, Stardog Multi-model:OrientDB, FoundationDB, ArangoDB, Alchemy Database, CortexDB&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="somecommoncharacteristicsofnosqldatabases" style="box-sizing: border-box; margin: 0.2rem 0px 0.5rem; padding: 0px; font-family: 'Open Sans', sans-serif; color: #4e4e4e; text-rendering: optimizeLegibility; line-height: 1.4; font-size: 1.6875rem;"&gt;Some common characteristics of NoSQL databases:&lt;/h3&gt;
&lt;ul style="box-sizing: border-box; margin: 0px 0px 1.25rem 1.1rem; padding: 0px; font-size: 16px; line-height: 25.6px; list-style-position: outside; font-family: 'Open Sans', sans-serif; color: #686868;"&gt;
&lt;li style="box-sizing: border-box; margin: 0px; padding: 0px;"&gt;Not using the relational model (nor the SQL language)&lt;/li&gt;
&lt;li style="box-sizing: border-box; margin: 0px; padding: 0px;"&gt;Open source&lt;/li&gt;
&lt;li style="box-sizing: border-box; margin: 0px; padding: 0px;"&gt;Designed to run on large clusters&lt;/li&gt;
&lt;li style="box-sizing: border-box; margin: 0px; padding: 0px;"&gt;Based on the needs of 21st century web properties&lt;/li&gt;
&lt;li style="box-sizing: border-box; margin: 0px; padding: 0px;"&gt;No schema, allowing fields to be added to any record without controls&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote style="box-sizing: border-box; margin: 0px 0px 1.25rem; padding: 0.5625rem 1.25rem 0px 1.1875rem; border-left-width: 1px; border-left-style: solid; border-left-color: #dddddd; line-height: 25.6px; color: #6f6f6f; font-family: 'Open Sans', sans-serif; font-size: 16px;"&gt;
&lt;p style="box-sizing: border-box; margin: 0px 0px 1.25rem; padding: 0px; font-family: inherit; font-size: 1rem; line-height: 1.6; text-rendering: optimizeLegibility;"&gt;&lt;em style="box-sizing: border-box; line-height: inherit;"&gt;According to the Forum for Innovation, 90% of the world's data was created in the last 2 years.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p style="box-sizing: border-box; margin: 0px 0px 1.25rem; padding: 0px; font-family: 'Open Sans', sans-serif; font-size: 16px; line-height: 25.6px; text-rendering: optimizeLegibility; color: #686868;"&gt;NoSQL databases are increasingly being used in big data and real-time web applications. NoSQL databases provide a mechanism for storage and retrieval of data that is modeled in different ways than the tabular relations used in relational databases. Such databases have existed since the late 1960s, but did not obtain the "NoSQL" moniker until the surge of popularity in the early twenty-first century, triggered by the needs of modern Web companies like Twitter, Facebook, Google and Amazon.com.&lt;/p&gt;
&lt;p style="box-sizing: border-box; margin: 0px 0px 1.25rem; padding: 0px; font-family: 'Open Sans', sans-serif; font-size: 16px; line-height: 25.6px; text-rendering: optimizeLegibility; color: #686868;"&gt;Motivations for this non-relational approach include: the requirement to store and access much larger volumes of data quicker, simpler "horizontal" scaling to clusters of machines, which is a problem for relational databases, the ability to store schema-less data and more granular control over availability.&lt;/p&gt;
&lt;p style="box-sizing: border-box; margin: 0px 0px 1.25rem; padding: 0px; font-family: 'Open Sans', sans-serif; font-size: 16px; line-height: 25.6px; text-rendering: optimizeLegibility; color: #686868;"&gt;Although Big Data has been the primary driver for NoSQL&amp;rsquo;s rise, it is not the only reason to use NoSQL databases. Many NoSQL databases are designed to run well on large clusters, which makes them more attractive for large data volumes. But often people select NoSQL to benefit from better performance, easier interactions with their applications and the ability to use schema-less data.&lt;/p&gt;
&lt;blockquote style="box-sizing: border-box; margin: 0px 0px 1.25rem; padding: 0.5625rem 1.25rem 0px 1.1875rem; border-left-width: 1px; border-left-style: solid; border-left-color: #dddddd; line-height: 25.6px; color: #6f6f6f; font-family: 'Open Sans', sans-serif; font-size: 16px;"&gt;
&lt;p style="box-sizing: border-box; margin: 0px 0px 1.25rem; padding: 0px; font-family: inherit; font-size: 1rem; line-height: 1.6; text-rendering: optimizeLegibility;"&gt;Big Data has been defined by the four &amp;ldquo;V&amp;rdquo;s: Volume, Velocity, Variety, and Value. These become a reasonable test to determine whether you should add NoSQL capabilities to your information architecture.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p style="box-sizing: border-box; margin: 0px 0px 1.25rem; padding: 0px; font-family: 'Open Sans', sans-serif; font-size: 16px; line-height: 25.6px; text-rendering: optimizeLegibility; color: #686868;"&gt;&lt;span style="box-sizing: border-box; font-weight: bold; line-height: inherit;"&gt;Volume.&lt;/span&gt;&amp;nbsp;While volume indicates more data, it is the granular nature of the data that is unique. Big Data requires processing high volumes of low-density data, that is, data of unknown value, such as Twitter data feeds, clicks on a web page and network traffic.&lt;/p&gt;
&lt;p style="box-sizing: border-box; margin: 0px 0px 1.25rem; padding: 0px; font-family: 'Open Sans', sans-serif; font-size: 16px; line-height: 25.6px; text-rendering: optimizeLegibility; color: #686868;"&gt;&lt;span style="box-sizing: border-box; font-weight: bold; line-height: inherit;"&gt;Value.&lt;/span&gt;&amp;nbsp;Data has intrinsic value, but it must be discovered. There are a range of quantitative and investigative techniques to derive value from data, from discovering consumer preferences or sentiment, to making relevant offers by location, or for identifying a piece of equipment that is about to fail.&lt;/p&gt;
&lt;p style="box-sizing: border-box; margin: 0px 0px 1.25rem; padding: 0px; font-family: 'Open Sans', sans-serif; font-size: 16px; line-height: 25.6px; text-rendering: optimizeLegibility; color: #686868;"&gt;&lt;span style="box-sizing: border-box; font-weight: bold; line-height: inherit;"&gt;Velocity.&lt;/span&gt;&amp;nbsp;A fast rate that data is received and perhaps acted upon. The highest velocity data normally streams directly into memory versus being written to disk.&amp;nbsp;&lt;br style="box-sizing: border-box;" /&gt;As an example, eCommerce applications seek to combine mobile device location and personal preferences to make time sensitive offers. Operationally, mobile application experiences have large user populations, increased network traffic, and the expectation for immediate response.&lt;/p&gt;
&lt;p style="box-sizing: border-box; margin: 0px 0px 1.25rem; padding: 0px; font-family: 'Open Sans', sans-serif; font-size: 16px; line-height: 25.6px; text-rendering: optimizeLegibility; color: #686868;"&gt;&lt;span style="box-sizing: border-box; font-weight: bold; line-height: inherit;"&gt;Variety.&lt;/span&gt;&amp;nbsp;New unstructured and semi-structured data types, such as text, audio, and video require additional processing to derive meaning from the content and the supporting metadata. Frequent or real-time schema changes are an enormous burden for both transactional and analytical environments.&lt;/p&gt;
&lt;p style="box-sizing: border-box; margin: 0px 0px 1.25rem; padding: 0px; font-family: 'Open Sans', sans-serif; font-size: 16px; line-height: 25.6px; text-rendering: optimizeLegibility; color: #686868;"&gt;The data structures used by NoSQL databases (e.g. document key-value or graph) differ from those used by default in relational databases, making some operations much faster using a NoSQL database. The particular suitability of a given NoSQL database depends on the the type data to be stored, how it will be accessed and whether ACID (Atomicity, Consistency, Isolation, Durability) or joins are required. The data structures used by NoSQL databases are considered to be "more flexible" than relational database tables.&lt;/p&gt;
&lt;p style="box-sizing: border-box; margin: 0px 0px 1.25rem; padding: 0px; font-family: 'Open Sans', sans-serif; font-size: 16px; line-height: 25.6px; text-rendering: optimizeLegibility; color: #686868;"&gt;Many NoSQL stores sacrifice consistency, in the sense of the CAP(Consistency,Availability,Partition tolerance) theorem, in favor of availability, partition tolerance, and speed. Most NoSQL stores lack true ACID transactions, although a few recent systems including ArangoDB, CouchDB and OrientDB have made them central to their designs. Instead they provide the concept of "eventual consistency" in which database changes are propagated to all nodes "eventually" (typically within milliseconds), so queries for data might not return updated data immediately.&lt;/p&gt;
&lt;p style="box-sizing: border-box; margin: 0px 0px 1.25rem; padding: 0px; font-family: 'Open Sans', sans-serif; font-size: 16px; line-height: 25.6px; text-rendering: optimizeLegibility; color: #686868;"&gt;&lt;span style="box-sizing: border-box; font-weight: bold; line-height: inherit;"&gt;CAP Theorem&lt;/span&gt;&lt;/p&gt;
&lt;ul style="box-sizing: border-box; margin: 0px 0px 1.25rem 1.1rem; padding: 0px; font-size: 16px; line-height: 25.6px; list-style-position: outside; font-family: 'Open Sans', sans-serif; color: #686868;"&gt;
&lt;li style="box-sizing: border-box; margin: 0px; padding: 0px;"&gt;Consistency (all nodes see the same data at the same time)&lt;/li&gt;
&lt;li style="box-sizing: border-box; margin: 0px; padding: 0px;"&gt;Availability (a guarantee that every request receives a response about whether it succeeded or failed)&lt;/li&gt;
&lt;li style="box-sizing: border-box; margin: 0px; padding: 0px;"&gt;Partition tolerance (the system continues to operate despite arbitrary partitioning due to network failures)&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="box-sizing: border-box; margin: 0px 0px 1.25rem; padding: 0px; font-family: 'Open Sans', sans-serif; font-size: 16px; line-height: 25.6px; text-rendering: optimizeLegibility; color: #686868;"&gt;&lt;span style="box-sizing: border-box; font-weight: bold; line-height: inherit;"&gt;ACID&lt;/span&gt;&lt;/p&gt;
&lt;ul style="box-sizing: border-box; margin: 0px 0px 1.25rem 1.1rem; padding: 0px; font-size: 16px; line-height: 25.6px; list-style-position: outside; font-family: 'Open Sans', sans-serif; color: #686868;"&gt;
&lt;li style="box-sizing: border-box; margin: 0px; padding: 0px;"&gt;Atomicity: all or nothing (of the n actions): commit or rollback&lt;/li&gt;
&lt;li style="box-sizing: border-box; margin: 0px; padding: 0px;"&gt;Consistency: transactions never observe or cause inconsistent data&lt;/li&gt;
&lt;li style="box-sizing: border-box; margin: 0px; padding: 0px;"&gt;Isolation: transactions are not aware of concurrent transactions&lt;/li&gt;
&lt;li style="box-sizing: border-box; margin: 0px; padding: 0px;"&gt;Durability: acknowledged transactions persist in all events&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="box-sizing: border-box; margin: 0px 0px 1.25rem; padding: 0px; font-family: 'Open Sans', sans-serif; font-size: 16px; line-height: 25.6px; text-rendering: optimizeLegibility; color: #686868;"&gt;ACID is a set of properties that guarantee that database transactions are processed reliably. In the context of databases, a single logical operation on the data is called a transaction. For example, a transfer of funds from one bank account to another, even involving multiple changes such as crediting one account and debiting another, is a single transaction.&amp;nbsp;&lt;br style="box-sizing: border-box;" /&gt;The degree to which the capability is fully supported in a manner similar to most SQL databases or the degree to which it meets the needs of a specific application varies.&lt;/p&gt;
&lt;p style="box-sizing: border-box; margin: 0px 0px 1.25rem; padding: 0px; font-family: 'Open Sans', sans-serif; font-size: 16px; line-height: 25.6px; text-rendering: optimizeLegibility; color: #686868;"&gt;Not all NoSQL systems live up to the promise of "eventual consistency" and partition tolerance, in experiments with network partitioning, some NoSQL databases exhibited lost writes and other forms of data loss. Fortunately, some NoSQL systems do provide concepts such as Write-ahead logging to avoid data loss.&lt;/p&gt;
&lt;h3 id="handlingrelationaldatainanosqldatabase" style="box-sizing: border-box; margin: 0.2rem 0px 0.5rem; padding: 0px; font-family: 'Open Sans', sans-serif; color: #4e4e4e; text-rendering: optimizeLegibility; line-height: 1.4; font-size: 1.6875rem;"&gt;Handling Relational Data in a NoSQL Database&lt;/h3&gt;
&lt;p style="box-sizing: border-box; margin: 0px 0px 1.25rem; padding: 0px; font-family: 'Open Sans', sans-serif; font-size: 16px; line-height: 25.6px; text-rendering: optimizeLegibility; color: #686868;"&gt;Because most NoSQL databases lack the ability for JOIN queries, the data and access methods generally need to be designed differently. The three main techniques for handling relational data in a NoSQL database without JOIN support are as follows:&lt;/p&gt;
&lt;p style="box-sizing: border-box; margin: 0px 0px 1.25rem; padding: 0px; font-family: 'Open Sans', sans-serif; font-size: 16px; line-height: 25.6px; text-rendering: optimizeLegibility; color: #686868;"&gt;&lt;span style="box-sizing: border-box; font-weight: bold; line-height: inherit;"&gt;Caching/replication/non-normalized data&lt;/span&gt;&amp;nbsp;Instead of only storing foreign keys, it's common to store actual foreign values along with the model's data. For example, each blog comment might include the username in addition to a user id, thus providing easy access to the username without requiring another lookup. When a username changes however, this will now need to be changed in many places in the database. Thus this approach works better when reads are much more common than writes.&lt;/p&gt;
&lt;p style="box-sizing: border-box; margin: 0px 0px 1.25rem; padding: 0px; font-family: 'Open Sans', sans-serif; font-size: 16px; line-height: 25.6px; text-rendering: optimizeLegibility; color: #686868;"&gt;&lt;span style="box-sizing: border-box; font-weight: bold; line-height: inherit;"&gt;Nesting data&lt;/span&gt;&amp;nbsp;With document databases like MongoDB, it's common to put more data in a smaller number of collections. For example in a blogging application, one might choose to store comments within the blog post document so that with a single retrieval one gets all the comments. In this approach a single document contains all the data you need for a specific task.&lt;/p&gt;
&lt;p style="box-sizing: border-box; margin: 0px 0px 1.25rem; padding: 0px; font-family: 'Open Sans', sans-serif; font-size: 16px; line-height: 25.6px; text-rendering: optimizeLegibility; color: #686868;"&gt;&lt;span style="box-sizing: border-box; font-weight: bold; line-height: inherit;"&gt;Multiple queries&lt;/span&gt;&amp;nbsp;Instead of retrieving all of the data with one query, it's common to do several queries in order to get all of the desired data. NoSQL queries are often much faster than relational database queries, so the cost of having to do additional queries may be acceptable. If an excessive number of queries would be necessary, one of the other two approaches would be more appropriate.&lt;/p&gt;
&lt;p style="box-sizing: border-box; margin: 0px 0px 1.25rem; padding: 0px; font-family: 'Open Sans', sans-serif; font-size: 16px; line-height: 25.6px; text-rendering: optimizeLegibility; color: #686868;"&gt;There are several more aspects to consider when choosing a NoSQL database, such as durability, availability, consistency, scalability, and security. Your particular use case will determine whether ad hoc queryability is important or if mapreduce will suffice.&lt;/p&gt;
&lt;p style="box-sizing: border-box; margin: 0px 0px 1.25rem; padding: 0px; font-family: 'Open Sans', sans-serif; font-size: 16px; line-height: 25.6px; text-rendering: optimizeLegibility; color: #686868;"&gt;Often the best approach is to use multiple databases, with specific applications using the particular database that is most appropriate for the type of data, performance and acccess requirements.&amp;nbsp;&lt;br style="box-sizing: border-box;" /&gt;Virtual machine hosts and &amp;ldquo;the cloud&amp;rdquo; are becoming so cheap and easy these days as to become largely trivial problems driven as much by preference as necessity. In order to scale your organization's applications in this age, choosing the right database or databases for a particular task will more than likely alleviate your true bottleneck.&lt;/p&gt;
&lt;p style="box-sizing: border-box; margin: 0px 0px 1.25rem; padding: 0px; font-family: 'Open Sans', sans-serif; font-size: 16px; line-height: 25.6px; text-rendering: optimizeLegibility; color: #686868;"&gt;For more information about choosing and implementing the ideal database systems for your particular use case,&amp;nbsp;&lt;a style="box-sizing: border-box; color: #0d96c8; text-decoration: none; line-height: inherit; transition: color 0.2s ease-in;" href="http://nexwebsites.com/contact-us/"&gt;&lt;span style="box-sizing: border-box; font-weight: bold; line-height: inherit;"&gt;Get in touch&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p style="box-sizing: border-box; margin: 0px 0px 1.25rem; padding: 0px; font-family: 'Open Sans', sans-serif; font-size: 16px; line-height: 25.6px; text-rendering: optimizeLegibility; color: #686868;"&gt;References:&amp;nbsp;&lt;br style="box-sizing: border-box;" /&gt;&lt;a style="box-sizing: border-box; color: #0d96c8; text-decoration: none; line-height: inherit; transition: color 0.2s ease-in;" href="https://en.wikipedia.org/wiki/NoSQL"&gt;https://en.wikipedia.org/wiki/NoSQL&lt;/a&gt;&amp;nbsp;&lt;br style="box-sizing: border-box;" /&gt;&lt;a style="box-sizing: border-box; color: #0d96c8; text-decoration: none; line-height: inherit; transition: color 0.2s ease-in;" href="http://nosql-database.org/"&gt;http://nosql-database.org/&lt;/a&gt;&lt;/p&gt;</summary>
    <published>2015-10-25T11:28:00+00:00</published>
    <link rel="related" href="http://nexwebsites.com/web-designers/post/How-To-Choose-A-Nosql-Database-Like-A-Pro.aspx#comment" />
    <category term="Database Design" />
    <dc:publisher>web-development</dc:publisher>
    <pingback:server>http://nexwebsites.com/web-designers/pingback.axd</pingback:server>
    <pingback:target>http://nexwebsites.com/web-designers/post.aspx?id=f480e88f-0218-455e-87b1-f2b47aa8ff53</pingback:target>
    <slash:comments>0</slash:comments>
    <trackback:ping>http://nexwebsites.com/web-designers/trackback.axd?id=f480e88f-0218-455e-87b1-f2b47aa8ff53</trackback:ping>
    <wfw:comment>http://nexwebsites.com/web-designers/post/How-To-Choose-A-Nosql-Database-Like-A-Pro.aspx#comment</wfw:comment>
    <wfw:commentRss>http://nexwebsites.com/web-designers/syndication.axd?post=f480e88f-0218-455e-87b1-f2b47aa8ff53</wfw:commentRss>
  </entry>
  <entry>
    <id>http://nexwebsites.com/web-designers/post/Nodejs-The-Most-Important-Tool-in-Your-Toolbox-Heres-Why.aspx</id>
    <title>Node.js : The Most Important Tool in Your Toolbox:  Here's Why</title>
    <updated>2015-10-17T20:36:00+00:00</updated>
    <link rel="self" href="http://nexwebsites.com/web-designers/post.aspx?id=2ac4e2a3-ec5a-4979-906e-5a1b237a6f90" />
    <link href="http://nexwebsites.com/web-designers/post/Nodejs-The-Most-Important-Tool-in-Your-Toolbox-Heres-Why.aspx" />
    <author>
      <name>web-development</name>
    </author>
    <summary type="html">&lt;p&gt;&lt;a title="Node.js" href="http://nexwebsites.com/web-designers/post/Why-Nodejs-Is-More-Important-Than-You-Think.aspx"&gt;&lt;em&gt;&lt;strong&gt;Node.js&lt;/strong&gt;&lt;/em&gt; &lt;/a&gt;enables you to build fast, scalable web applications capable of handling a huge number of simultaneous connections with high throughput.&lt;/p&gt;
&lt;p&gt;The Node.js infographic below shows some of the many reasons why Node.js could be the most important tool in your web development toolbox. (Click for full size image)&lt;/p&gt;
&lt;p&gt;&lt;a title="Node.js Infographics : Click for full size" href="http://nexwebsites.com/web-designers/image.axd?picture=%2f2015%2f10%2fNode-Infographic-final.jpg" target="_blank"&gt;&lt;img class="null" style="width: 550px;" src="http://nexwebsites.com/web-designers/image.axd?picture=%2f2015%2f10%2fNode-Infographic-final.jpg" alt="Node.js : Infographic" /&gt;&lt;/a&gt;&lt;/p&gt;</summary>
    <published>2015-10-17T20:36:00+00:00</published>
    <link rel="related" href="http://nexwebsites.com/web-designers/post/Nodejs-The-Most-Important-Tool-in-Your-Toolbox-Heres-Why.aspx#comment" />
    <category term="Website Development" />
    <dc:publisher>web-development</dc:publisher>
    <pingback:server>http://nexwebsites.com/web-designers/pingback.axd</pingback:server>
    <pingback:target>http://nexwebsites.com/web-designers/post.aspx?id=2ac4e2a3-ec5a-4979-906e-5a1b237a6f90</pingback:target>
    <slash:comments>0</slash:comments>
    <trackback:ping>http://nexwebsites.com/web-designers/trackback.axd?id=2ac4e2a3-ec5a-4979-906e-5a1b237a6f90</trackback:ping>
    <wfw:comment>http://nexwebsites.com/web-designers/post/Nodejs-The-Most-Important-Tool-in-Your-Toolbox-Heres-Why.aspx#comment</wfw:comment>
    <wfw:commentRss>http://nexwebsites.com/web-designers/syndication.axd?post=2ac4e2a3-ec5a-4979-906e-5a1b237a6f90</wfw:commentRss>
  </entry>
  <entry>
    <id>http://nexwebsites.com/web-designers/post/MongoDB-Simple-Database-Solution-For-Kick-Ass-Performance.aspx</id>
    <title>MongoDB : Simple Database Solution For Kick-Ass Performance</title>
    <updated>2015-10-13T08:24:00+00:00</updated>
    <link rel="self" href="http://nexwebsites.com/web-designers/post.aspx?id=779f50e1-8315-43a2-ae36-8d436b3d93d9" />
    <link href="http://nexwebsites.com/web-designers/post/MongoDB-Simple-Database-Solution-For-Kick-Ass-Performance.aspx" />
    <author>
      <name>web-development</name>
    </author>
    <summary type="html">&lt;p&gt;&lt;img style="display: block; margin-left: auto; margin-right: auto;" src="http://nexwebsites.com/web-designers/image.axd?picture=%2f2015%2f10%2fMongoDB.png" alt="" /&gt;&lt;/p&gt;
&lt;h2&gt;MongoDB : A simple database solution for kick-ass performance.&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;MongoDB&lt;/strong&gt;&lt;/em&gt; is a powerful, flexible, high performance document-orientated database that provides high availability and automatic scaling with features such as secondary and geospatial indexes, range queries, sorting and aggregation.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Tens of thousands of organizations, including Adobe, Bosch, Carfax, Craigslist, Ebay, Forbes, and McAfee use MongoDB to build high-performance systems at scale. Over a third of the Fortune 100 and many of the most successful and innovative web companies rely on MongoDB to effectively handle their constantly growing data requirements.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;MongoDB was developed in order to address the rapid rise in the amount of data stored, the frequency in which this data is accessed, and the performance and processing needs of modern web applications. Relational databases in contrast, were not designed to cope with the scale, performance and agility challenges that face modern web applications today.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;High Performance Database&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Extraordinary performance was a primary design goal for MongoDB, almost every aspect of MongoDB was designed to provide high performance data access.&lt;/p&gt;
&lt;p&gt;Although MongoDB is very powerful and replaces many features of relational databases systems, it is not intended to do everything that a relational database does. When possible, the MongoDB enables processing to be done by the drivers or by the application itself. Maintaining this streamlined design is one of the reasons MongoDB can achieve such high performance.&lt;/p&gt;
&lt;p&gt;In addition to support for embedded data models which reduces I/O activity on the database system, and indexes support for faster queries that can include keys from embedded documents and arrays, MongoDB makes extensive use of RAM to speed up database operations. Reading data from memory is measured in nanoseconds, whereas reading data from hard drives is measured in milliseconds; reading from memory is approximately 100,000 times faster than reading data from disk.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Data Compression&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The WiredTiger storage engine used by MongoDB supports native compression, reducing physical storage footprint by as much as 80%. In addition to reduced storage space, compression enables much higher storage I/O scalability as fewer bits are read from disk.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;MongoDB is ideal for:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Large volumes of structured, semi-structured, and unstructured data.&lt;/li&gt;
&lt;li&gt;Object-oriented programming that is easy to use and flexible.&lt;/li&gt;
&lt;li&gt;Creating efficient, scalable systems instead of expensive, monolithic ones.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Dynamic Schemas&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Data in MongoDB has a flexible schema. Unlike SQL databases, where you must first determine and declare a table&amp;rsquo;s schema before inserting data, MongoDB uses structures known as documents which are paired with key values. Documents can contain many different key-value pairs, key-array pairs, or even nested documents. This document based approach enables the insertion of data without a predefined schema, which makes it easy to make significant changes to the application in real-time, without worrying about down time or service interruptions. You can change the structure of documents simply by adding new fields or deleting existing ones. Documents in a collection do not need to have an identical set of fields.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;By enabling embedded documents and arrays, it is possible to represent complex hierarchical relationships within a single record. This fits naturally into the way developers using modern object-oriented languages think about their data.&lt;/p&gt;
&lt;p&gt;Data within MongoDB is stored in Binary JSON (BSON)format, which is a binary extension of the JavaScript Object Notation (JSON) format. JSON is an open, human and machine-readable standard that facilitates easy, accurate data interchange, and is the main format for data exchange in modern web applications. JSON supports all of the basic data types, including numbers, strings, and boolean values, as well as arrays and hashes.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Because of the use of the JSON data format, query results can be easily parsed, with little or no transformation by the application with most popular programming languages.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;MongoDB Scales Easily by Auto-Sharding&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;As the amount and type of data that organizations need to store grows and changes, the choice of how should you scale your databases arises. Scaling a database comes down to the choice between vertical scaling (getting a bigger machine) or sharding (partitioning data across more machines).&lt;/p&gt;
&lt;p&gt;Because of the way they are structured, relational databases usually scale vertically. Vertical scaling requires more CPU and storage resources to increase capacity. Scaling by adding hardware to a single machine has physical limitations. As a result there is a practical maximum capability for vertical scaling.&lt;/p&gt;
&lt;p&gt;Sharding, or horizontal scaling, by contrast, divides the data set and distributes the data over multiple servers, or shards. Each shard is an independent database, and collectively, the shards make up a single logical database.&lt;/p&gt;
&lt;p&gt;MongoDB was designed to scale out. Its document-oriented data model makes it easier for it to split up data across multiple servers. MongoDB automatically takes care of balancing data and load across a cluster, redistributing documents automatically and routing user requests to the correct machines. This allows developers to focus on programming the application, not scaling it. When a cluster needs more capacity, new machines can be easily added and MongoDB will figure out how the existing data should be distributed to them.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a title="MongoDB" href="https://www.mongodb.org/"&gt;MongoDB&lt;/a&gt;&lt;/strong&gt; or any NOSQL database is not for every use case, but if your data can be arranged in such a way as to benefit from the document based data model then your system can benefit greatly from increased performance and scalability.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a title="Contact us" href="http://nexwebsites.com/contact-us/"&gt;Contact us&lt;/a&gt; to learn more about developing a high performance database solution for your business.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</summary>
    <published>2015-10-13T08:24:00+00:00</published>
    <link rel="related" href="http://nexwebsites.com/web-designers/post/MongoDB-Simple-Database-Solution-For-Kick-Ass-Performance.aspx#comment" />
    <category term="Database Design" />
    <dc:publisher>web-development</dc:publisher>
    <pingback:server>http://nexwebsites.com/web-designers/pingback.axd</pingback:server>
    <pingback:target>http://nexwebsites.com/web-designers/post.aspx?id=779f50e1-8315-43a2-ae36-8d436b3d93d9</pingback:target>
    <slash:comments>0</slash:comments>
    <trackback:ping>http://nexwebsites.com/web-designers/trackback.axd?id=779f50e1-8315-43a2-ae36-8d436b3d93d9</trackback:ping>
    <wfw:comment>http://nexwebsites.com/web-designers/post/MongoDB-Simple-Database-Solution-For-Kick-Ass-Performance.aspx#comment</wfw:comment>
    <wfw:commentRss>http://nexwebsites.com/web-designers/syndication.axd?post=779f50e1-8315-43a2-ae36-8d436b3d93d9</wfw:commentRss>
  </entry>
  <entry>
    <id>http://nexwebsites.com/web-designers/post/Why-Nodejs-Is-More-Important-Than-You-Think.aspx</id>
    <title>Why Node.js Is More Important Than You Think</title>
    <updated>2015-10-10T16:27:00+00:00</updated>
    <link rel="self" href="http://nexwebsites.com/web-designers/post.aspx?id=e36073c3-c073-49e0-9f3f-d733d76b0b83" />
    <link href="http://nexwebsites.com/web-designers/post/Why-Nodejs-Is-More-Important-Than-You-Think.aspx" />
    <author>
      <name>web-development</name>
    </author>
    <summary type="html">&lt;p&gt;&lt;img style="display: block; margin-left: auto; margin-right: auto;" src="http://nexwebsites.com/web-designers/image.axd?picture=%2f2015%2f10%2fnodejs.jpg" alt="Node.js" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Node.js&lt;/strong&gt;&lt;/em&gt; is an open-source, cross-platform JavaScript runtime environment for developing server-side web applications, that uses the V8 engine developed by Google for use in Chrome. Node.js applications are written in JavaScript and can be run within the Node.js runtime on OS X, Microsoft Windows and Linux. The V8 engine compiles JavaScript into native machine code which executes at lightning speeds.&lt;/p&gt;
&lt;h2&gt;&lt;strong&gt;High Performance Web Development&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Node.js enables you to build fast, scalable web applications capable of handling a huge number of simultaneous connections with high throughput.&lt;/p&gt;
&lt;p&gt;Node.js provides an event-driven architecture and a non-blocking I/O API designed to optimize an application's throughput and scalability for real-time web applications.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;strong&gt;Event loop&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In addition to lightning fast JavaScript execution, the real magic behind Node.js is the event loop. The event loop is a single thread that performs all I/O operations asynchronously. Traditionally, I/O operations either run synchronously (blocking) or asynchronously by spawning off parallel threads to perform the work. This old approach consumes lots of memory and can be the source of performance issues. In contrast, when a Node application needs to perform an I/O operation, it sends an asynchronous task to the event loop, along with a callback function, and then continues to execute the rest of its program. When the async operation completes, the event loop returns to the task to execute its callback.&lt;/p&gt;
&lt;p&gt;Node.js registers itself with the operating system so that it is notified when a connection is made, and the operating system will issue a callback. Within the Node.js runtime, each connection is a small heap allocation. Traditionally, relatively heavyweight OS processes or threads handled each connection. Node.js uses the event loop for scalability, instead of processes or threads. In contrast to other event-driven servers, Node.js's event loop does not need to be called explicitly. Instead callbacks are defined, and the server automatically enters the event loop at the end of the callback definition. Node.js exits the event loop when there are no further callbacks to be performed.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;strong&gt;Asynchronous I/O&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;By performing all I/O intensive operations asynchronously, Node.js is able to scale to large volumes of clients. Node.js is built to handle asynchronous I/O from the ground up and is a good match for handling a lot of common web and network development tasks.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Node.js can read/write streams to websockets just as well as it can read/write streams to HTTP. For example, we can pipe stdout from a running process on the server to a browser over a websocket, and have the webpage display the output in real-time.&lt;/p&gt;
&lt;p&gt;In other words, reading and writing to network connections, reading/writing to the filesystem, and reading /writing to the database, all very common tasks in web applications, execute very, very fast in Node.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Node.js is used by many large companies&lt;/strong&gt; including Ebay, IBM, Microsoft, Yahoo!, Walmart, Groupon, SAP, LinkedIn, PayPal and GoDaddy.&lt;/p&gt;
&lt;p&gt;PayPal reported: By using Node for their account overview page, one of the most trafficked apps on the website, they were able to double the number of requests per-second and reduced response time by 35%.&lt;/p&gt;
&lt;p&gt;Walmart is able to serve some very sophisticated features to mobile users by using Node.js.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In 2013 WalMart Labs put all of their Mobile traffic through Node.js on black-friday, the busiest shopping period of the year. The team at WalMart Labs tweeted against #nodebf tag showing the performance of the Node.js application. On Black Friday the WalMart servers didn&amp;rsquo;t go over 1% CPU utilisation and the team did a deploy with 200,000,000 users online.&lt;/p&gt;
&lt;p&gt;Because of the modular nature of Node, developing new services with Node.js is easy. Writing applications the Node-way means that applications are composed of small modules, which are piped together. This enables changes to be made to a module or new functionality to be added without requiring changes to be made deep inside the entire code-base. Over time traditional monolithic applications become rigid and difficult to adapt as new requirements are added. Eventually traditional applications begin to creak under the weight and the stress put on them by the requirements they were not designed for.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The package manager&lt;/strong&gt; for Node.js is &lt;strong&gt;npm&lt;/strong&gt; and it works very well. In many ways it resembles package managers from other ecosystems, but npm is fast, robust, and consistent. It does a great job specifying and installing project dependencies. It keeps packages isolated from other projects, avoiding version conflicts. But it also handles global installs of shell commands and platform-dependent binaries.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Creating an HTTP Server is trivial with Node.js&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Node.js contains a built-in library to allow applications to act as a web server without software such as Apache HTTP Server, Nginx or IIS.&lt;/p&gt;
&lt;p&gt;In contrast to other web development languages, we do not need to set up a seperate HTTP web server. With Node.js, when the application is implemented, the whole HTTP server is part of the implementation.&lt;/p&gt;
&lt;p&gt;Below is the code for creating a basic Node.js HTTP server. In the root directory of your application, create a file named server.js and fill it with the code below:&lt;/p&gt;
&lt;p style="white-space: normal;"&gt;var http = require("http");&lt;/p&gt;
&lt;p style="white-space: normal;"&gt;var server = http.createServer(function(request, response) {&lt;/p&gt;
&lt;p style="white-space: normal;"&gt;&amp;nbsp; response.writeHead(200, {"Content-Type": "text/html"});&lt;/p&gt;
&lt;p style="white-space: normal;"&gt;&amp;nbsp; response.write("&amp;lt;!DOCTYPE html&amp;gt;");&lt;/p&gt;
&lt;p style="white-space: normal;"&gt;&amp;nbsp; response.write("&amp;lt;html&amp;gt;");&lt;/p&gt;
&lt;p style="white-space: normal;"&gt;&amp;nbsp; response.write("&amp;lt;head&amp;gt;");&lt;/p&gt;
&lt;p style="white-space: normal;"&gt;&amp;nbsp; response.write("&amp;lt;title&amp;gt;Hello World Page&amp;lt;/title&amp;gt;");&lt;/p&gt;
&lt;p style="white-space: normal;"&gt;&amp;nbsp; response.write("&amp;lt;/head&amp;gt;");&lt;/p&gt;
&lt;p style="white-space: normal;"&gt;&amp;nbsp; response.write("&amp;lt;body&amp;gt;");&lt;/p&gt;
&lt;p style="white-space: normal;"&gt;&amp;nbsp; response.write("&amp;lt;h1&amp;gt;Hello World!&amp;lt;/h1&amp;gt;");&lt;/p&gt;
&lt;p style="white-space: normal;"&gt;&amp;nbsp; response.write("&amp;lt;/body&amp;gt;");&lt;/p&gt;
&lt;p style="white-space: normal;"&gt;&amp;nbsp; response.write("&amp;lt;/html&amp;gt;");&lt;/p&gt;
&lt;p style="white-space: normal;"&gt;&amp;nbsp; response.end();&lt;/p&gt;
&lt;p style="white-space: normal;"&gt;});&lt;/p&gt;
&lt;p style="white-space: normal;"&gt;server.listen(9000);&lt;/p&gt;
&lt;p style="white-space: normal;"&gt;console.log("Server is listening");&lt;/p&gt;
&lt;p&gt;In a terminal window cd to the root directory of the application, to run the server.js script with Node.js type the command: node server.js&lt;/p&gt;
&lt;p&gt;Now open your favorite browser and hit http://localhost:9000/. This should display a web page that says &amp;ldquo;Hello World!&amp;rdquo;.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Well now, lets see what&amp;rsquo;s actually going on here.&lt;/p&gt;
&lt;p&gt;The first line requires the http module that ships with Node.js and makes it accessible through the variable http.&lt;/p&gt;
&lt;p&gt;You defined the requestHandler function to handle the requests.&lt;/p&gt;
&lt;p&gt;You called one of the functions that http module offers: createServer. This function returns an object, which is stored in var server.&lt;/p&gt;
&lt;p&gt;This(server) object has a method named listen, and takes a numeric value which indicates the port number our HTTP server is going to listen on.&lt;/p&gt;
&lt;p&gt;Whenever a request received, requestHandler function gets triggered and two parameters are passed into it, request and response.&lt;/p&gt;
&lt;p&gt;You write the page header with response.writeHead(), which sends an HTTP status and content-type in the HTTP response header.&lt;/p&gt;
&lt;p&gt;You send the HTML and H1 wrapped text &amp;ldquo;Hello World" in the HTTP response body with response.write() .&lt;/p&gt;
&lt;p&gt;You finish the response with response.end().&lt;/p&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;&lt;a title="Contact us" href="http://nexwebsites.com/contact-us/"&gt;Contact us&lt;/a&gt; to learn more about getting a high performance &lt;a title="Node.js" href="https://nodejs.org/" target="_blank"&gt;Node.js&lt;/a&gt; application built for your website.&lt;/strong&gt; &amp;nbsp;&lt;/div&gt;</summary>
    <published>2015-10-10T16:27:00+00:00</published>
    <link rel="related" href="http://nexwebsites.com/web-designers/post/Why-Nodejs-Is-More-Important-Than-You-Think.aspx#comment" />
    <category term="Website Development" />
    <dc:publisher>web-development</dc:publisher>
    <pingback:server>http://nexwebsites.com/web-designers/pingback.axd</pingback:server>
    <pingback:target>http://nexwebsites.com/web-designers/post.aspx?id=e36073c3-c073-49e0-9f3f-d733d76b0b83</pingback:target>
    <slash:comments>0</slash:comments>
    <trackback:ping>http://nexwebsites.com/web-designers/trackback.axd?id=e36073c3-c073-49e0-9f3f-d733d76b0b83</trackback:ping>
    <wfw:comment>http://nexwebsites.com/web-designers/post/Why-Nodejs-Is-More-Important-Than-You-Think.aspx#comment</wfw:comment>
    <wfw:commentRss>http://nexwebsites.com/web-designers/syndication.axd?post=e36073c3-c073-49e0-9f3f-d733d76b0b83</wfw:commentRss>
  </entry>
  <entry>
    <id>http://nexwebsites.com/web-designers/post/How-to-Explain-Polymorphism-to-your-Mom.aspx</id>
    <title>How to Explain Polymorphism to your Mom</title>
    <updated>2015-10-08T11:39:00+00:00</updated>
    <link rel="self" href="http://nexwebsites.com/web-designers/post.aspx?id=11c57919-d5c0-4cab-ab50-3c44b4805aed" />
    <link href="http://nexwebsites.com/web-designers/post/How-to-Explain-Polymorphism-to-your-Mom.aspx" />
    <author>
      <name>web-development</name>
    </author>
    <summary type="html">&lt;p&gt;&lt;img style="display: block; margin-left: auto; margin-right: auto;" src="http://nexwebsites.com/web-designers/image.axd?picture=%2f2015%2f10%2fpolymorphism.jpg" alt="Polymorphism" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Polymorphism&lt;/strong&gt;&lt;/em&gt; provides one of the most powerful programming techniques of the object-oriented paradigm.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Generally speaking, polymorphism is the ability to appear in many forms. The word &lt;strong&gt;polymorphism&lt;/strong&gt; is derived from two Greek words poly which means many and morphos which means forms. Thus, polymorphism is defined as one thing in many forms. Polymorphism is the ability of an object to take on many forms. In software development, it is the ability to treat an object of any subclass of a base class as if it were an object of the base class. A base class has, therefore, many forms: the base class itself, and any of its subclasses.&lt;/p&gt;
&lt;p&gt;When applied to object oriented programming languages like Java, it describes a language&amp;rsquo;s ability to process objects of various types and classes through a single, uniform interface.&lt;/p&gt;
&lt;p&gt;Polymorphism is considered to be a requirement of any true object-oriented programming language (OOPL).&lt;/p&gt;
&lt;p&gt;Polymorphism includes the ability to define multiple classes with functionally different, yet identically named methods or properties that can be used interchangeably by client code at run time.&lt;/p&gt;
&lt;p&gt;More specifically, polymorphism is the ability to redefine methods for derived classes. For example, given a base class Animal, polymorphism enables the programmer to define different kinds of Animal methods for any number of derived classes, such as sounds they make, food they eat, what they do. No matter what kind of Animal an object is, applying the Sound method to it will return the correct results.&lt;/p&gt;
&lt;p&gt;Runtime polymorphism is essentially referred to as method overriding. Method overriding is when you implement inheritance in your program.&lt;/p&gt;
&lt;p&gt;An important example of polymorphism is how a parent class refers to a child class object. In fact, any object that satisfies more than one IS-A relationship is polymorphic in nature.&lt;/p&gt;
&lt;p&gt;In Java, all Java objects are polymorphic, since any object will pass the IS-A test for their own type and for the class Object.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;As a simple real world example: An application can have Animal class, and its specialized sub classes like Cat and Dog. These subclasses will override the default behavior provided by Animal class + some of its own specific behavior.&lt;/p&gt;
&lt;p&gt;For instance, lets consider a class named Animal and let Dog be a subclass of Animal. So, any dog "IS A" Animal. Here, Dog satisfies the IS-A relationship for its own type as well as its super class Animal.&lt;/p&gt;
&lt;p&gt;In the following example we make cats and dogs subtypes of animals. The procedure letsHear() accepts an animal, but will also work correctly if a subtype is passed to it:&lt;/p&gt;
&lt;p&gt;abstract class Animal {&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; abstract String talk();&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;class Cat extends Animal {&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; String talk() {&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return "Meow!";&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; }&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;class Dog extends Animal {&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; String talk() {&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return "Woof!";&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; }&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;void letsHear(Animal a) {&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; println(a.talk());&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;void main() {&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; letsHear(new Cat());&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; letsHear(new Dog());&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The underlying mechanism that makes polymorphism possible is dynamic binding.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;To see how to use polymorphism in a Java program, consider the family of types. To use an object of type Animal, you must create an Animal object with new and store the returned reference in a variable:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Animal myFavoritePet = new Animal();&lt;/p&gt;
&lt;p&gt;The myFavoritePet variable holds a reference to an Animal object. This is a sensible arrangement; however, there is another possibility brought to you courtesy of polymorphism. Because of polymorphism, you can assign a reference to any object that "is a" Animal to a variable of type Animal.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Animal myFavoritePet = new Dog();&lt;/p&gt;
&lt;p&gt;// or...&lt;/p&gt;
&lt;p&gt;Animal myFavoritePet = new Cat();&lt;/p&gt;
&lt;p&gt;Therefore, you can sprinkle some polymorphism into your Java program simply by using a variable with a base type to hold a reference to an object of a derived type.&lt;/p&gt;
&lt;p&gt;To get the full benefit of polymorphism in your programs, however, you'll need to go further. To fully realize the wonders of polymorphism, you must send a message to an object without knowing the actual class of the object. To do this in Java, you just invoke a method defined in a base type on an object referenced by a variable of the base type.&amp;nbsp;&lt;/p&gt;</summary>
    <published>2015-10-08T11:39:00+00:00</published>
    <link rel="related" href="http://nexwebsites.com/web-designers/post/How-to-Explain-Polymorphism-to-your-Mom.aspx#comment" />
    <dc:publisher>web-development</dc:publisher>
    <pingback:server>http://nexwebsites.com/web-designers/pingback.axd</pingback:server>
    <pingback:target>http://nexwebsites.com/web-designers/post.aspx?id=11c57919-d5c0-4cab-ab50-3c44b4805aed</pingback:target>
    <slash:comments>0</slash:comments>
    <trackback:ping>http://nexwebsites.com/web-designers/trackback.axd?id=11c57919-d5c0-4cab-ab50-3c44b4805aed</trackback:ping>
    <wfw:comment>http://nexwebsites.com/web-designers/post/How-to-Explain-Polymorphism-to-your-Mom.aspx#comment</wfw:comment>
    <wfw:commentRss>http://nexwebsites.com/web-designers/syndication.axd?post=11c57919-d5c0-4cab-ab50-3c44b4805aed</wfw:commentRss>
  </entry>
  <entry>
    <id>http://nexwebsites.com/web-designers/post/-Top-9-Practical-Benefits-of-Java-Web-Applications.aspx</id>
    <title> Top 9 Practical Benefits of Java Web Applications</title>
    <updated>2015-10-07T23:11:00+00:00</updated>
    <link rel="self" href="http://nexwebsites.com/web-designers/post.aspx?id=d6a9183a-2adf-4f48-9b9e-24064e92f8d1" />
    <link href="http://nexwebsites.com/web-designers/post/-Top-9-Practical-Benefits-of-Java-Web-Applications.aspx" />
    <author>
      <name>web-development</name>
    </author>
    <summary type="html">&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img style="display: block; margin-left: auto; margin-right: auto;" src="http://nexwebsites.com/web-designers/image.axd?picture=%2f2015%2f10%2fJava.png" alt="Java web application benefits" /&gt;&lt;/p&gt;
&lt;p&gt;Java is a concurrent, class-based, object-oriented general-purpose computer programming language that was specifically designed to have as few implementation dependencies as possible. The development of Java was initiated by James Gosling, Mike Sheridan, and Patrick Naughton at Sun Microsystems in 1991. Java was one of the first programming languages which was not dependent on any particular hardware or operating system. Applications developed in Java can be executed anywhere and on any system or device by utilizing the JVM (Java Virtual Machine).&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;The Top 9 Practical Benefits of Java Applications are as follows:&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1. Compiled and Interpreted&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Basically computer software languages are either compiled or interpreted. Java combines both of these approaches thus making Java a two-stage system.&lt;/p&gt;
&lt;p&gt;The Java compiler translates Java code to Bytecode instructions and the Java Interpreter generates machine code that can be directly executed by machine that is running the Java application.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2. Platform Independent and portable&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;One of the primary features of Java applications is portability. Java applications can be easily moved from one computer system to another, regardless of the hardware or software configuration of the host system. Changes and upgrades in operating systems, processors and system resources will not require modifications to Java applications. This is one reason why Java has become such a popular language for developing Internet applications, the environment which interconnects many different types of systems worldwide. Java enables portability in two ways. The first of which is, the Java compiler generates the bytecode that can be executed on any machine. The other is the size of primitive data types are machine independent.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3. Object- oriented&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Java is truly an object-oriented language. In Java, almost everything is an object. All program code and data exist in objects and classes. Java comes with an extensive set of classes; organized in packages that can be used in applications by inheritance. The object model in Java is trouble-free and easy to extend.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;4. Robust and secure&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Java is a strong, stable language which provides many securities mechanisms in order to ensure reliable code. It is designed with garbage collection, which helps Java programmers handle memory management issues. Java also includes the concept of exception handling, which catches serious errors and significantly reduces the threat of crashing the system.&lt;/p&gt;
&lt;p&gt;Security is an important feature of Java and this is one of the reasons it is so well suited for developing applications on the Internet.&lt;/p&gt;
&lt;p&gt;The absence of pointers in Java ensures that parts of an application cannot access a memory location without proper approval.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;5. Distributed&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;As the first language designed from the bottom up with networking in mind, Java makes it very easy for computers to cooperate. Java is known as as distributed language for creating applications on networks which can contribute both data and application functionality. Java applications can open and access remote objects on the Internet easily. This means that application resources can be distributed among other systems and multiple programmers at multiple remote locations can work together on a single task.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;6. Simple and small&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Java is very small and simple language. Designed with simplicity in mind, Java does not use pointers and header files, goto statements, etc. It eliminates operator overloading and multiple inheritance.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;7. Multi-threaded and Interactive&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Multi threaded is the ability of a CPU(central processing unit) or a single core in a multi-core processor to execute multiple processes or threads concurrently, managing multiple tasks simultaneously. Java intrinsically supports multi-threaded applications. This means we need not wait for the application to complete one task before starting another task. On systems that support it, this feature can greatly enhance the performance of many applications.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;8. High performance&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;By utilizing Just-In-Time compilation, adaptive optimization, garbage collection and multi-threading, a Java application's performance can be extraordinary. Java architecture is also designed to reduce overheads during runtime.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;9. Dynamic and Extensible&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Java is a dynamic language capable of dynamically linking in new classes, libraries, methods and objects. Java &amp;nbsp;is polymorphic, which means it a parent class reference can be used to refer to a child class object.&lt;/p&gt;
&lt;p&gt;Java applications support functions written in other languages such as C and C++, known as native methods.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Please &lt;a href="http://nexwebsites.com/contact-us/"&gt;contact us&lt;/a&gt; to learn more about developing a powerful, high performance Java web application for your website.&lt;/strong&gt;&lt;/p&gt;</summary>
    <published>2015-10-07T23:11:00+00:00</published>
    <link rel="related" href="http://nexwebsites.com/web-designers/post/-Top-9-Practical-Benefits-of-Java-Web-Applications.aspx#comment" />
    <dc:publisher>web-development</dc:publisher>
    <pingback:server>http://nexwebsites.com/web-designers/pingback.axd</pingback:server>
    <pingback:target>http://nexwebsites.com/web-designers/post.aspx?id=d6a9183a-2adf-4f48-9b9e-24064e92f8d1</pingback:target>
    <slash:comments>0</slash:comments>
    <trackback:ping>http://nexwebsites.com/web-designers/trackback.axd?id=d6a9183a-2adf-4f48-9b9e-24064e92f8d1</trackback:ping>
    <wfw:comment>http://nexwebsites.com/web-designers/post/-Top-9-Practical-Benefits-of-Java-Web-Applications.aspx#comment</wfw:comment>
    <wfw:commentRss>http://nexwebsites.com/web-designers/syndication.axd?post=d6a9183a-2adf-4f48-9b9e-24064e92f8d1</wfw:commentRss>
  </entry>
  <entry>
    <id>http://nexwebsites.com/web-designers/post/Top-5-Reasons-for-Defining-an-Ideal-Client-Profile.aspx</id>
    <title>How to Boost Your Sales with an Ideal Client Profile</title>
    <updated>2015-10-01T22:38:00+00:00</updated>
    <link rel="self" href="http://nexwebsites.com/web-designers/post.aspx?id=fca7e312-3d62-4385-901d-f571cb978df8" />
    <link href="http://nexwebsites.com/web-designers/post/Top-5-Reasons-for-Defining-an-Ideal-Client-Profile.aspx" />
    <author>
      <name>web-development</name>
    </author>
    <summary type="html">&lt;p&gt;&lt;img style="display: block; margin-left: auto; margin-right: auto;" src="http://nexwebsites.com/web-designers/image.axd?picture=%2f2015%2f10%2fclientProfile.jpg" alt="Top 5 Reasons for Defining an Ideal Client Profile" /&gt;&lt;/p&gt;
&lt;h2&gt;&lt;em&gt;How to Boost Your sales with an Ideal Client Profile&lt;/em&gt;&lt;span style="font-size: 10px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Once you have defined your ideal client profile(s), you'll be able fine tune your marketing activities in a more effective and relevant way.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Content Creation &amp;amp; Mapping&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When you know your ideal client profiles, you will be able to create content that will engage these particular prospects and clients in a favorable way-- Via blog and social media posts, newsletters, ebooks, or sales enablement tools.&lt;/p&gt;
&lt;p&gt;You can then position your content by ideal client profile and lifecycle stage or where in the buying stage the prospect is. You'll want to create and package content differently depending on if the potential client is simply getting to know your agency, has been in contact with your business development team, or has a proposal sitting on their desk.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Personalization&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If you specialize in different market segments or industries, you can personalize your content based on client profiles by customizing your landing pages and sections of your website to that group&amp;rsquo;s specific needs.&lt;/p&gt;
&lt;p&gt;A Venture Beat report found that 70% to 94% of marketers have experienced an increase in key site performance indicators such as conversion by employing personalization.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Segmentation&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Personalized marketing improves click-through rates by as much as 14% and conversions by 10%, and it drives 18 times more revenue than non-personalized content. With well defined client profiles, you can segment your list and create campaigns that align with their particular buying process. You can also segment these lists by prospects and current clients, so you can market either new services or additional service lines. You could also create drip email campaigns based on whether you have only had an initial meeting with the client or if the client has already been sent a proposal.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Optimized Keywords&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Once you understand the language of your ideal clients and the specific words that they are using when searching, you can create highly targeted and optimized articles that will show up in the first results on search engines and found by your prospects during their search process. Not only will this bring you more traffic, but it will be targeted traffic of a much higher quality.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sales Process&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;By understanding where your ideal client is in the sales process, how they make decisions, what sources they use for recommendations, how they find a vendor partner, and the average sales cycle for each type, you can craft your sales process to your prospect's persona. This will help you to better understand when sending a proposal is appropriate, what type of nurturing campaigns you should set up, what information the prospect needs to help them make the right choice and how often you should communicate with the potential client.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://nexwebsites.com/contact-us/"&gt;Please contact us to learn more about creating up a killer content marketing strategy for your business.&amp;nbsp;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;</summary>
    <published>2015-10-01T22:38:00+00:00</published>
    <link rel="related" href="http://nexwebsites.com/web-designers/post/Top-5-Reasons-for-Defining-an-Ideal-Client-Profile.aspx#comment" />
    <category term="Digital Marketing" />
    <dc:publisher>web-development</dc:publisher>
    <pingback:server>http://nexwebsites.com/web-designers/pingback.axd</pingback:server>
    <pingback:target>http://nexwebsites.com/web-designers/post.aspx?id=fca7e312-3d62-4385-901d-f571cb978df8</pingback:target>
    <slash:comments>0</slash:comments>
    <trackback:ping>http://nexwebsites.com/web-designers/trackback.axd?id=fca7e312-3d62-4385-901d-f571cb978df8</trackback:ping>
    <wfw:comment>http://nexwebsites.com/web-designers/post/Top-5-Reasons-for-Defining-an-Ideal-Client-Profile.aspx#comment</wfw:comment>
    <wfw:commentRss>http://nexwebsites.com/web-designers/syndication.axd?post=fca7e312-3d62-4385-901d-f571cb978df8</wfw:commentRss>
  </entry>
  <entry>
    <id>http://nexwebsites.com/web-designers/post/What-You-Should-Know-About-Using-WordPress.aspx</id>
    <title>What You Should Know About Using WordPress</title>
    <updated>2015-09-20T12:34:00+00:00</updated>
    <link rel="self" href="http://nexwebsites.com/web-designers/post.aspx?id=b9bf0417-2516-4993-876f-6120a1f5a2c2" />
    <link href="http://nexwebsites.com/web-designers/post/What-You-Should-Know-About-Using-WordPress.aspx" />
    <author>
      <name>web-development</name>
    </author>
    <summary type="html">&lt;p style="font-size: 16px; line-height: 24px; margin-bottom: 18px; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;"&gt;&lt;img style="color: #000000; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; display: block; margin-left: auto; margin-right: auto;" src="http://nexwebsites.com/web-designers/image.axd?picture=%2f2015%2f09%2fwordPressWebsecurity.png" alt="What you should know about using WordPress" /&gt;&lt;br style="display: block; margin-bottom: 6px;" /&gt;&lt;strong&gt;What you should know about using WordPress&lt;/strong&gt;&lt;/p&gt;
&lt;p style="font-size: 16px; line-height: 24px; margin-bottom: 18px; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;"&gt;WordPress is used by many people and is generally easy to use, however we hear complaints about WordPress from clients everyday.&lt;/p&gt;
&lt;h3 style="font-size: 16px; line-height: 24px; margin-bottom: 18px; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;"&gt;&lt;strong&gt;Some of the issues:&lt;/strong&gt;&lt;/h3&gt;
&lt;p style="font-size: 16px; line-height: 24px; margin-bottom: 18px; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;"&gt;&lt;strong&gt;Vulnerability:&lt;/strong&gt;&lt;br style="display: block; margin-bottom: 6px;" /&gt;Most WordPress users don't realize just how vulnerable WordPress actually is. Every day of the week there are hackers trying to get access to your website. Yes, every day! If they do get access to your website you might wake up one morning to find that your website has been replaced with another one or used to distribute malicious code to unsuspecting visitors, which could do significant damage to your brand and customer's trust.&lt;/p&gt;
&lt;p style="font-size: 16px; line-height: 24px; margin-bottom: 18px; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;"&gt;&lt;strong&gt;Performance:&lt;/strong&gt;&lt;br style="display: block; margin-bottom: 6px;" /&gt;The speed of your website is incredibly important: it is one of the factors that Google considers when ranking your site but, more significantly, if your website is slow your visitors won't come back.&lt;/p&gt;
&lt;p style="font-size: 16px; line-height: 24px; margin-bottom: 18px; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;"&gt;This problem is now worse than ever before, because of the number of people browsing your website on a mobile device.&lt;/p&gt;
&lt;p style="font-size: 16px; line-height: 24px; margin-bottom: 18px; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;"&gt;&lt;strong&gt;Updates and plug-ins:&lt;/strong&gt;&lt;br style="display: block; margin-bottom: 6px;" /&gt;When logged in as WordPress admin, you will constantly be reminded to update your plug-ins, your framework, your theme and WordPress itself. Most people proceed with the installation without a thought, then oops, your header image is broken, your website is blank, or your website looks different than you expected, requiring extra work.&lt;/p&gt;
&lt;p style="font-size: 16px; line-height: 24px; margin-bottom: 18px; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;"&gt;Maybe it is due to the &amp;ldquo;duct tape,&amp;rdquo; DIY nature of PHP coding but the WordPress plug-ins repository is a labyrinth of discontinued versions and half-patched improvements.&lt;br style="display: block; margin-bottom: 6px;" /&gt;Then, you have to go through the hassle of trying to figure out which add-ons are either incompatible with your theme, or incompatible with other plug-ins.&lt;br style="display: block; margin-bottom: 6px;" /&gt;Finally, even if you manage to fill all of the holes in the functionality that you are after, eventually you realize that the more plug-ins you add, the more you site is going to slow to a disgusting crawl.&lt;/p&gt;
&lt;h3 style="font-size: 16px; line-height: 24px; margin-bottom: 18px; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;"&gt;&lt;strong&gt;The Solution: &lt;/strong&gt;&lt;/h3&gt;
&lt;p style="font-size: 16px; line-height: 24px; margin-bottom: 18px; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;"&gt;&lt;strong&gt;Why use WordPress or any other CMS for that matter?&lt;/strong&gt; If you can grasp MarkDown (https://en.wikipedia.org/wiki/Markdown), which is very easy to learn, you can by pass all of the issues related to WordPress, like performance, security, updates, poorly written plug-ins or hosting expense and have complete control of your website's layout by using one of the many free static site generators like Jekyll, Hugo or Middleman. Writing in MarkDown can be hugely productive for writers or anyone who would like to create content and have the best performance possible.&lt;/p&gt;
&lt;p style="font-size: 16px; line-height: 24px; margin-bottom: 18px; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;"&gt;We have many WordPress sites of our own that we have converted to static sites. Just tired of dealing with the lack of performance, constant updates, having to work around WordPress's platform and people trying to hack into the sites.&lt;/p&gt;
&lt;p style="font-size: 16px; line-height: 24px; margin-bottom: 18px; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;"&gt;We are programmers and have on many occasions rewritten WordPress to work the way we would like, it is just, I think, counter-productive to have a web application generate what should be static content.&lt;/p&gt;
&lt;p style="font-size: 16px; line-height: 24px; margin-bottom: 18px; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;"&gt;Many programmers and others are switching to static based sites for the reasons mentioned among others. There is even a WordPress plug-in for exporting your content into Jekyll's format. There are many free high quality templates that can be used for static sites and modifying them is easy.&amp;nbsp;&lt;br style="display: block; margin-bottom: 6px;" /&gt;http://jekyllthemes.org/ are a few of the many free themes. Actually, just about any theme, WordPress or other can easily be made into a static site template.&lt;/p&gt;
&lt;p style="font-size: 16px; line-height: 24px; margin-bottom: 18px; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;"&gt;A static site can be zipped up and hosted anywhere, no database connection or PHP necessary. Also you can work on your site locally without even being connected to the Internet and upload you pages when you are ready.&lt;/p&gt;
&lt;p style="font-size: 16px; line-height: 24px; margin-bottom: 18px; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;"&gt;Please&amp;nbsp;&lt;a href="http://nexwebsites.com/contact-us/"&gt;contact us&lt;/a&gt;&amp;nbsp;to get&amp;nbsp;help started with your own static site.&lt;/p&gt;</summary>
    <published>2015-09-20T12:34:00+00:00</published>
    <link rel="related" href="http://nexwebsites.com/web-designers/post/What-You-Should-Know-About-Using-WordPress.aspx#comment" />
    <category term="Website Design" />
    <category term="WordPress Websites" />
    <dc:publisher>web-development</dc:publisher>
    <pingback:server>http://nexwebsites.com/web-designers/pingback.axd</pingback:server>
    <pingback:target>http://nexwebsites.com/web-designers/post.aspx?id=b9bf0417-2516-4993-876f-6120a1f5a2c2</pingback:target>
    <slash:comments>0</slash:comments>
    <trackback:ping>http://nexwebsites.com/web-designers/trackback.axd?id=b9bf0417-2516-4993-876f-6120a1f5a2c2</trackback:ping>
    <wfw:comment>http://nexwebsites.com/web-designers/post/What-You-Should-Know-About-Using-WordPress.aspx#comment</wfw:comment>
    <wfw:commentRss>http://nexwebsites.com/web-designers/syndication.axd?post=b9bf0417-2516-4993-876f-6120a1f5a2c2</wfw:commentRss>
  </entry>
</feed>