JavaScript

Getting Started to become an MCSD in Windows Store Apps

March 30, 2013 .NET, .NET Framework, .NET Framework 4.5, Certification, Community, CSS 3, HTML5, JavaScript, Microsoft, Microsoft SDKs, MSDN, VisualStudio, VS2012, Web, Windows, Windows 8, Windows 8 apps development, Windows Store, Windows Store Development 1 comment

Last few years Microsoft Developer Certification Exams progressed forward through two certification tracks or titles MCTS(Microsoft Certified Technology Specialist) and MCPD(Microsoft Certified Professional Developer). Earlier Microsoft certification titles been called as MCAD(Microsoft Certified Application Developer) and MCSD(Microsoft Certified Solution Developer), and Since .NET Framework 2.0 to 4.0 certifications – Microsoft renamed the titles as MCTS and MCPD respectively.  Last year onwards Microsoft has decided to return back to old titles once again.

All .NET Framework 4.5 certification series belongs to MCSD(Microsoft Certified Solutions Developer) and MTA(Microsoft Technology Associate)  titles.  Also MCSD titles have a validity of 2 years and developers have to renew their titles in every 2 years, to keep up with latest industry technology standards(earlier there was no expiry for certifications, most of the exams were valid life long) .

What is an MCSD?
The MCSD is a professional level certification that is the latest in Microsofts re-envisioning of their developer exams for the cloud. Rather than be tied to a specific qualification they are tied to the technology and re-certification is required.

What is the recertification period?
Every 2 years

To prove your Windows Store application development skills – Microsoft has introduced the MCSD on Windows Store Apps. 

There is again two tracks depending on the development platform of choice, and each title consists of 3 exams, you will have to pass all these 3 exams to earn the MCSD title on windows store apps.

1. MCSD on Windows Store Apps using HTML5/CSS3/JavaScript

  • 70-480 – Programming in HTML5 with JavaScript and CSS3 ( as a promotional offer, this exam was free until – MARCH 31st 2013, and probably most of you already earned it successfully)
  • 70-481 – Essentials of Developing Windows Store Apps Using HTML5 and JavaScript
  • 70-482 – Advanced Windows Store App Development Using HTML5 and JavaScript

2. MCSD on Windows Store Apps using XAML/C#

  • 70-483 – Programming in C#
  • 70-484 – Essentials of Developing Windows Store Apps Using C#
  • 70-485 – Advanced Windows Store App Development Using C#

Note: Exam 480 and Exam 483 validate programming skills in a specific language. By passing one of these exams you will earn a Microsoft Specialist certification.

Microsoft has released a set of FREE JumpStart tutorials/trainings for programmers who would like to study and take these exams.  Going through this online trainings and practicing would be enough for gaining proficiency in passing these exams.

Online Preparation materials: (Provided to you by Channel9 and Microsoft Virtual Academy)

70-480 – Developing in HTML5 with JavaScript and CSS3 Jump Start

70-481 – Developing Windows Store Apps with HTML5 Jump Start and prep materials

70-482 – Advanced Windows Store App Development with HTML5 Jump Start

70-483 – Programming in C# Jump Start

70-484 –Developing Windows Store App Essentials using C# (484) Jump StartLIVE – May 2nd 2013 REGISTER TODAY

70-485 – Not available yet

Also try these free eBooks from Microsoft Press

Free ebook: Programming Windows 8 Apps with HTML, CSS, and JavaScript

Once you complete through corresponding JumpStart materials, you will have sufficient knowledge and confidence to appear for the associated exams. Remember practice is the key, and through practice you can gain more knowledge as well.

All the best for your exams, any doubts or helps write to me.

Learn more about MCSD Windows store developer certifications:  visit MCSD: Windows Store Apps Certification | Microsoft Learning

Download TypeScript 0.8.2 for Visual Studio 2012

January 22, 2013 .NET, All, Community, Extensions, JavaScript, JavaScript, Microsoft, MSDN, TypeScript, VisualStudio, VS2012, Web No comments

Microsoft has announced the availability of latest preview release for TypeScript as Version 0.8.2.

Read more about the release from MSDN Typescript Team blog here

You can download the TypeScript 0.8.2 for Visual Studio 2012 from here: http://www.microsoft.com/en-us/download/details.aspx?id=34790

HTML5 – Introduction to HTML5Shiv for Internet Explorer 6/7/8

January 3, 2013 All, Back-2-Bascis, Codes, CodeSnippets, Community, CSS, CSS 3, HTML, HTML5, JavaScript, KnowledgeBase, MSDN, StyleSheets, Web 2 comments

HTML5Shiv is a JavaScript workaround, discovered by Sjoerd Visscher, to enable support styling of HTML5 elements in versions of Internet Explorer prior to version 9.0, which do not allow unknown elements to be styled without JavaScript. Means your CSS classes and attributes will not be applied to the particular HTML5 specific display element, until and unless the object is available in the DOM tree.

What HTML5Shiv does is that it creates the objects for all known HTML5 elements(of the Page) in the DOM tree?. This gives the browser an implication that the particular element is supported and available in the DOM tree and it applies the specific CSS classes to the element.

Follow these simple steps to integrate HTML5Shiv to your existing page:

Step 1: Get HTML5Shiv binary – You can get HTML5Shiv binary(html5shiv.js) from  http://code.google.com/p/html5shiv/

Step 2: Insert the necessary code block in the <head> element of your html page (after or before your CSS)

code block:

<blockquote><p>&lt;!--[if lt IE 9]&gt;<br />&lt;script src=&quot;scripts/html5shiv.js&quot;&gt;&lt;/script&gt;<br />&lt;![endif]—&gt;</p></blockquote>

NB: Assuming that html5shiv.js is kept under the scripts folder under the root folder of your web application.

Lets look for a simple example:

Look at the below html sample, with an article element:

Copy the below code block  in to notepad and save as ‘test.html’ – to a location wherever you like 🙂

<!DOCTYPE HTML>
<html>
<head>
     <style>
          article {
               font-size: 22px;
               color: orange;
          }
     </style>
</head>
<body>
     <article>Hello!</article>
</body>
</html>

Try to Browse the sample in Internet Explorer 7.0(by double clicking on ‘test.html’ file) and you can see that font color and font size are not applied and as a default fallback – it is displaying text in a normal font and color. It is because browser will not apply the CSS to an unknown element, HTML5 elements are aliens 🙂 for IE 8.0 and below.

[Before – HTML5 Shiv is applied]

HTML5Code_before

Now try to apply the HTML5Shiv code block on to the above sample and see the magic. Modified code block will look like below:

&lt;!DOCTYPE HTML&gt;
&lt;html&gt;
&lt;head&gt;
&lt;!--[if lt IE 9]&gt;<br />&lt;script src=&quot;scripts/html5shiv.js&quot;&gt;&lt;/script&gt;<br />&lt;![endif]--&gt;
     &lt;style&gt;
          article {
               font-size: 22px;
               color: orange;
          }
     &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
     &lt;article&gt;Hello!&lt;/article&gt;
&lt;/body&gt;
&lt;/html&gt;

[After – HTML5 Shiv is applied]

HTML5Code_after

Very nice! right?. Yes, it is indeed helpful for enabling backward support of your HTML5 elements styling on IE 6,7,8 versions.

DOWNLOAD and USE

You can get HTML5Shiv binary from here: http://code.google.com/p/html5shiv/

and Full original, uncompressed source available here: https://github.com/aFarkas/html5shiv

Hope you enjoy this nice tip.

Courtesy: Wikipedia and Google Code

Introduction to The One ASP.NET Platform/Ecosystem

December 25, 2012 .NET, .NET Framework, .NET Framework 4.5, ADO.NET, All, ASP.NET, ASP.NET 4.5, ASP.NET AJAX, ASP.NET MVC, ASP.NET MVP, C#.NET, Community, HTML, HTML5, IIS, JavaScript, JavaScript, jQuery, JQuery Mobile, KnowledgeBase, LINQ, Microsoft, MSDN, SignalR, Updates, VB.NET, VisualStudio, VS2012, WCF, Web, Web API No comments

Introduction

ASP.NET has travelled a long way through evolutions. Earlier when ASP.NET 1.0 was released as part of .NET Framework 1.0 in Jan 2002, there was only ASP.NET – a framework for building dynamic web applications and it provided lots of flexibility web developers in building robust, dynamic web applications.  ASP.NET was and is the successor to Microsoft’s Active Server Pages (ASP) technology.

ASP.NET is built on the Common Language Runtime (CLR), allowing programmers to write ASP.NET code using any supported .NET language. The ASP.NET SOAP extension framework allows ASP.NET components to process SOAP messages.

From that, today we reached ASP.NET 4.5 and platform/web framework has changed a lot through the 10 years of journey.

Before going further lets go through a quick summery of additions in each releases:

ASP.NET 1.0 (January 16, 2002)

  • Object-oriented Web application development supporting inheritance, polymorphism and other standard OOP features
  • Support for generic HTML controls and ASP.NET dynamic web controls
  • Event based programming
  • The developer can make use of DLL class libraries and other features of the Web server to build more robust applications that do more than simply rendering HTML.
  • Integrated development support using Visual Studio .Net 2002

ASP.NET 1.1 (April 24, 2003)

  • With ASP.NET 1.1 – an update to .NET framework 1.0 called as .Net framework 1.1 – we received support for Mobile Web Controls, Automatic input validation
  • Integrated development support using Visual Studio .Net 2003

ASP.NET 2.0 (November 7, 2005)

ASP.NET 2.0 introduced major updates to ASP.NET framework with introduction of Master pages and new data controls.

The interesting features included in this release were:

  • Integrated development support using Visual Studio 2005
  • New data controls (GridView, FormView, DetailsView)
  • New technique for declarative data access (SqlDataSource, ObjectDataSource, XmlDataSource controls)
  • Navigation controls
  • Master pages
  • Login controls
  • Themes
  • Skins
  • Web parts
  • Personalization services
  • Full pre-compilation
  • New localization technique
  • Support for 64-bit processors
  • Provider class model
  • Web Sites projects are introduced. An alternative to Web Application project model in earlier versions.
  • ASP.NET AJAX has been introduced as a separate installer. Included ScriptManager, UpdatePanel etc.

ASP.NET 3.5 (November 19, 2007)

This was an incremental update to ASP.NET 2.0 and .NET Framework 2.0. Base level the Runtime was depending on .NET Framework 2.0 and set of additional runtime extension components been introduced in this release.

The interesting features included in this release were:

  • Integrated development support using Visual Studio 2008
  • New data controls (ListView, DataPager, LinqDataSource)
  • ASP.NET AJAX included as part of the framework
  • Support for HTTP pipelining and syndication feeds.
  • WCF support for RSS, JSON, POX and Partial Trust
  • All the .NET Framework 3.5 changes, like LINQ etc.

With .NET Framework 3.5 Service Pack 1, some more features been introduced

  • Integrated development support using Visual Studio 2008 – Service Pack 1
  • Incorporation of ASP.NET Dynamic Data
  • Entity Framework support
  • Support for controlling browser history in an ASP.NET AJAX application
  • Ability to combine multiple JavaScript files into one file for more efficient downloading
  • New namespaces System.Web.Abstractions and System.Web.Routing
  • JQuery is included as part of the template.
  • ASP.NET MVC is born

Now ASP.NET framework is spitted in to three based on the purpose

ASP.NET Core Services – all the major ASP.NET runtime components has been built in to this and will act as a base layer for all other ASP.NET components such as Web Forms, MVC, Dynamic Data etc.

Now we have three Presentation Frameworks/Components that utilizes the ASP.NET Core runtime components

  1. ASP.NET Web Forms – based on traditional ASP.NET web application model – dynamic *.aspx pages with code behind file.
  2. ASP.NET MVC – based on MVC model – *.aspx pages for View, no code behind file. Simply depended on Controller and model.
  3. ASP.NET Dynamic data – the quick and easy – rapid application development model with help of LINQ and Entity Framework. ASP.NET Dynamic Data helps you quickly build a fully customizable, data-driven application without writing code. Dynamic Data provides a rich scaffolding framework that is easily extensible by using the traditional ASP.NET programming model.

ASP.NET 4.0 (April 12, 2010)

The .NET Framework version 4 includes enhancements for ASP.NET 4 in targeted areas. Visual Studio 2010 and Microsoft Visual Web Developer Express also include enhancements and new features for improved Web development.

The interesting features included in this release were:

  • Integrated development support using Visual Studio 2010
  • jQuery Included with Web Forms and MVC
  • Content Delivery Network Support
  • Setting Meta Tags with the Page.MetaKeywords and Page.MetaDescription Properties
  • ASP.NET MVC 3.0 with Web Pages and razor support
  • IISExpress Support through Service Pack1
  • and more… You can read about it in detail on the MSDN page What’s New in ASP.NET 4 and Visual Web Developer

 

ASP.NET 4.5 (August 15, 2012)

This was a long awaited release since ASP.NET 4.0, which includes the new improved support for Web Pages, MVC and new Web API support. With the release of .NET Framework 4.5 and Visual Studio 2012, decided to go away from Service Packs and release incremental updates whenever available.

The interesting features included in this release were:

  • Async support – HttpRequest, Response, HTTP Modules and Handlers are capable of handling Async request and responses.
  • AntiXSS library is integrated
  • WebSockets protocol support
  • Lazy request validation
  • ASP.NET Web Forms – Model binding similar to ASP.NET MVC
  • HTML5 support
  • ASP.NET MVC 4, Web Pages 2.0, Web API, ASP.NET MVC 4 – Mobile Web Templates using jQuery Mobile
  • and more… You can read about it in detail on the MSDN page What’s New in ASP.NET 4.5 and Visual Web Developer

ASP.NET and Web Tools 2012.2 update

This .2 update adds a number of new templates and features including:

  • Enhancements to Web Publishing
  • New Web API functionality
  • New templates for Facebook Application and Single Page Application
  • Real-time communication via ASP.NET SignalR
  • Extensionless Web Forms via ASP.NET Friendly URLs
  • Support for the new Windows Azure Authentication
  • and more… You can read about it in detail on the MSDN page What’s New in ASP.NET and Web Tools 2012.2 Update

SignalR

SignalR is a new member of the ASP.NET family that facilitates adding real-time functionality to web applications using WebSockets and other down-level transports. SignalR is a self-contained library installed via NuGet that is targeting a 1.0 RTW as part of the Fall Update. This will include item templates for adding SignalR connections and hubs to an ASP.NET application as well as a full project template that integrates with ASP.NET MVC and ASP.NET Web API.

[ Quoted from http://aspnet.codeplex.com  ]

THE ONE ASP.NET PLATFORM

Now the ASP.NET ecosystem would look as in the image, with 2012.2 release: Single platform – multiple, extensible solutions

All the parts of ASP.NET, all the subsystems are all part of the larger ASP.NET community 

[Image courtesy Scott Hanselman’s blog]

Scott Hanselman of Microsoft Quotes:

The idea behind One ASP.NET is that we want folks to be able to make apps that have real-time components with SignalR, clean, simple APIs with Web API, all in one pages with KnockoutJS, pages with MVC, Web Forms or Web Pages, as well as existing ASP.NET systems like OData, ASMX, and more.

We want open source projects like JSON.NET, KnockoutJS, SignalR, Backbone, MongoDB, Scaffolding, NHIbernate, Ninject (and the list goes on) to all play in the same ASP.NET LEGO sandbox.

We’ll put all these subcomponents on NuGet and they’ll live alongside community components and you’ll be able to build ASP.NET applications starting from some base template and add just the pieces you want. We are getting there. We want folks to use the parts they want, and swap out the parts they don’t. Everything should work together.

ScottGu Quotes
The new runtime functionality is delivered to ASP.NET via additional NuGet packages. This means that installing this update does not make any changes to the existing ASP.NET binaries, and thus does not cause any compatibility issues with existing projects. New projects will contain the new functionality and existing projects can be updated with the new NuGet packages.

You can further read about it through Scott Hanselman’s article and ScottGu’s blog 
 

Conclusion

Now with ASP.NET 4.5 and Updates we reached a place where we have a vast variety of technologies to choose from, to develop rich, dynamic web applications for Desktop browsers as well as for mobile browsers.

ASP.NET Ecosystem is growing and is moving in the right pace with the release to open source development of most of the components through http://aspnet.codeplex.com/ 

It is challenging and interesting for ASP.NET developers to be able to develop using such cutting edge technologies.

Information Sources & Courtesy: Wikipedia, MSDN and Microsoft Developer blogs

HTML5 Definition Complete, W3C Moves to Interoperability Testing and Performance

December 19, 2012 All, ANDROID, Community, CSS, CSS 3, HTML, HTML5, IE, IE10, Internet Explorer 10, iOS, iPhone, JavaScript, JQuery Mobile, KnowledgeBase, Mobile Frameworks, mobile web, Mobile-Development, MSDN, StyleSheets, Web No comments

The World Wide Web Consortium (W3C) has published —  the complete definition of the HTML5 and Canvas 2D specifications on 17 December 2012.

Quoting from the announcement here

  • Though not yet W3C standards, these specifications are now feature complete, meaning businesses and developers have a stable target for implementation and planning.

  • HTML5 is the cornerstone of the Open Web Platform, a full programming environment for cross-platform applications with access to device capabilities; video and animations; graphics; style, typography, and other tools for digital publishing; extensive network capabilities; and more.

W3C also announced today the first draft of HTML 5.1 and Canvas 2D, Level 2, an early view of the next round of standardization.

To reduce browser fragmentation and extend implementations to the full range of tools that consume and produce HTML, W3C now embarks on the stage of W3C standardization devoted to interoperability and testing (called "Candidate Recommendation"). Expecting the broad HTML5 Interoperability in 2014.

During this stage, the W3C HTML Working Group will conduct a variety of activities to ensure that the specifications may be implemented compatibly across browsers, authoring tools, email clients, servers, content management systems, and other Web tools.

  • The group will analyze current HTML5 implementations, establish priorities for test development, and work with the community to develop those tests.

  • The HTML Working Group has planned for this implementation phase to last into mid-2014, after which W3C expects to publish the final HTML5 Recommendation, available Royalty-Free to implementers under the W3C Patent Policy.

Sencha(Leading cross platform mobile framework product developer) – has published a blog on HTML5 readiness here

Quoting from Sencha’s report

Feature Standardization Status:

A long list of major HTML5 technologies has now reached advanced stages of standardization.

Here is a list of just some of the big technologies in advanced standardization status with the date of the most recent standard:

Candidate Recommendation:

  • CSS Multi-column (2011)
  • CSS Flexbox (2012)
  • CSS Values & Units 3 (2012)
  • CSS Backgrounds and Borders 3 (2012)
  • CSS Images & Replaced Content 3 (2012)
  • CSS Style Attributes (2010)
  • Web Storage (2011)
  • Web Sockets (2012)
  • Web Workers (2012)
  • Web Messaging (2012)
  • Touch Events

Proposed Recommendation

  • Geolocation (2012)

Full Recommendation

  • CSS Media Queries (2012)
  • CSS Selectors 3 (2011)
  • CSS Namespaces (2011)
  • CSS Color 3 (2011)
  • Media Fragments (2012)
  • SVG 1.1 (2nd Ed) (2011)

HTML5 Feature Implementation Progress in Browsers

The very good news is that HTML5 and CSS3 implementations across all major browsers on desktop and mobile have become increasingly convergent. The chart below shows the progress of HTML5 feature implementation across major desktop and mobile browsers in the last three years using the HTML5test.com scoring methodology.

Adoption on Desktop Browsers

HTML5 Support on Dektop Browser

Adoption on Mobile Browsers

HTML5 Support on Mobile Browser

HTML5 features have been rapidly adopted by all major browsers – with Internet Explorer’s progress on both mobile and desktop being particularly impressive. The feature implementation ramp from IE8 in 2010 to IE9 in 2011 to IE10 this year has been very steep.

Information Sources:

http://www.sencha.com/blog/html5-progress-report

http://www.html5test.com

http://www.w3.org/2012/12/html5-cr

Great News! for all Mobile and Web Developers

HTML5 – Bye Bye ‘WebSQL’/’SQLite’ – Welcome ‘IndexedDB’

December 18, 2012 All, ANDROID, Community, CSS, CSS 3, HTML, HTML5, IE, IE10, Internet Explorer 10, Internet Explorer 9, iOS, iPhone, JavaScript, JQuery Mobile, KnowledgeBase, Mobile-Development, MSDN, Web, Windows Phone, Windows Phone 8 No comments

Since November 18, 2010, the W3C announced that Web SQL database(Sqlite) is a deprecated specification. This is a recommendation for web developers to no longer use the technology as effectively, the spec will receive no new updates and browser vendors aren’t encouraged to support this technology. The new alternative is IndexedDB which is already available on Chrome 12+ and Firefox 5+, and, soon, in IE 10 as well.

The new web database standards adoption progress report as per Html5Test.com – how standards setting can work well.

  • WebKit browsers originally shipped a copy of the SQLite — an embedded relational database — and then proposed “WebSQL” as a specification to standardize it.
  • Mozilla objected to its standardization on the grounds that the SQL 92 standard was a poor basis for a web standards technology, and that an implementation (SQLite) shouldn’t be the basis for standard.
  • As a result, WebSQL standardization was abandoned in favor of a new database standard, IndexedDB which is now the standard database of record for all major browsers.
  • Firefox, IE and Chrome now support IndexedDB on the desktop.
  • Chrome for Android is the first browser to support it on mobile devices.
Category WebSQL IndexedDB
Advantages A real, relational database implementation on the client (SQLite). * Allows fast indexing and searching of objects, so in a web application scenario, you can manage your data and read/write it fast.
* A NoSQL database that let you work with your JavaScript objects and indexing them based on your application needs.
* Works in asynchronous mode with moderately granular locking per transaction. This allows you to work inside the event-driven module of JavaScript.
Disadvantages * The spec is deprecated.
* Overhead of SQL language you need to master and transform your JavaScript objects into relational schema
* Not object driven
Harder to understand if you are coming from the world of relational databases.
Location Tables contain columns and rows objectStore contains Javascript objects and keys
Query Mechanism SQL Cursor APIs, Key Range APIs, and Application Code
Transaction Lock can happen on databases, tables, or rows on ‘readwrite’ transactions Lock can happen on database ‘versionchange’ transaction, on an objectStore ‘readonly’ and ‘readwrite’ transactions.
Transaction Commits Transaction creation is explicit. Default is to rollback unless we call commit. Transaction creation is explicit. Default is to commit unless we call abort or there is an error that is not caught.

Ref Link:

http://www.w3.org/TR/IndexedDB/

http://www.html5rocks.com/en/tutorials/webdatabase/websql-indexeddb/

http://www.steveworkman.com/html5-2/standards/2011/the-limitations-of-websql-and-offline-apps/

http://www.html5rocks.com/en/tutorials/indexeddb/todo/

http://html5test.com/compare/feature/storage-sqlDatabase.html ( WebSQL – Current Support on browsers)

http://html5test.com/compare/feature/storage-indexedDB.html ( IndexDB – Current Support on browsers)