Showing posts with label HTML. Show all posts
Showing posts with label HTML. Show all posts

Thursday, 10 January 2013

I passed Exam 70-480 Programming in HTML5 with JavaScript and CSS3

Back in late October/ early November last year I noticed that Microsoft had refreshed their professional qualification exams and were running a promotion on one of the entry level exams - Programming in HTML5 with JavaScript and CSS3. At the time of writing the promotion is still running until the end of March 2013.

I've been interested in pushing myself to get some professional qualifications for a while so took the bate and ran through the Jump Start modules on the Virtual Academy web site which made me think passing this exam is achievable.

I took the exam today and passed it with a sense of relief - this is the first exam I've taken in a long long time. I found most of the exam reasonably comfortable - there were a few areas that raised holes in my knowledge but on the whole it was a straightforward process.

I thought I'd write some notes on how I studied for it.

Unfortunately at the time of writing there is no official study guide book, however based on the content of the "Skills Being Measured" section on the exam details page the subjects can be broken down. I went through every bullet point and played around with the feature in code.

The Jump Start modules give you a taster of the subjects that are to be tested - I found this really useful - I could download the modules to my phone and watch them over the course of a couple of weeks on my daily commute.

Getting a good book on the subject was essential to me as I have a lengthy train journey in and out of work every day- There are many to choose from but I purchased JavaScript & jQuery the missing manual which I found an excellent resource and this was a significant help to me.

Another JavaScript book that has appeared up on my radar recently is Secrets of the JavaScript Ninja by John "jQuery" Resig - I really like the look of this one (even though the cover confuses Samurai with Ninjas) and have put it on my wish list. The publishers have generously provided a couple of chapters for download. I would seriously recommend reading Sample Chapter 6 as it is very important to understand inheritance and the infamous prototype property.

Lastly, reading about it is all well and good but I can't imagine anyone passing this without actually spending a considerable amount of time writing, breaking and fixing html, JavaScript and CSS. If you don't program for the web at work (fortunately I do) then it makes life even harder but not impossible.

If you're short on ideas on where to get started then try some of these suggestions

  • Find an interesting JavaScript library on GitHub and try and use it - play around with it. Let me know if you want a suggestion here!
  • Build a Twitter Bootstrap site and add some interactivity like form submit or a grid of data. Try and highlight menu items when the mouse hovers over them or selects them. Try and put it on top of some server code and pass data too and from it.
  • Use jQuery to dynamically add a few controls to a form. Then try it without jQuery ;-)

Basically noodling - it is a great way to learn, especially writing code that doesn't work and then figuring out why it doesn't work.

Also one thing that isn't covered by the syllabus is debugging, I'd seriously recommend getting comfortable debugging HTML, JavaScript & CSS with at least two browsers - all the major browsers have fantastic debugging tools baked in and there are lots of resources out there on how to use them, e.g. for Chrome.

Do you need to be on a Microsoft Operating system to study for this? Nope, I did most of my noodling on my Mac at home.

One final tip, understand this.

So what now? Passing this exam means I'm now a Microsoft Specialist but  I also have a few paths open to me. This exam is the first of three exams for a couple of Microsoft Certified Solutions Developer (MCSD) standards:


I think I'm going to opt for the Web Applications path to MCSD certification - next which is:

Exam 70-486: Developing ASP.NET MVC 4 Web Applications

Working with ASP.NET MVC 4 at work is a big help here but I still have a lot of studying to do - I'm aiming for mid Summer 2013 for this one...

Saturday, 29 December 2012

Hello World Application on OS X in HTML & JavaScript with node-webkit

JavaScript is the current programming hot potato, it's already possible to build Windows 8 applications in HTML & JavaScript with the excellent tools and training that Microsoft provide but what about OS X & Linux?

Another interesting way of writing HTML & JavaScript applications for OS X (and indeed Windows & Linux) is by using node-webkit.

This tutorial steps through creating a simple hello world style application and then using node-webkit to package and run it on OS X.

Full source code can be downloaded from here.

Prerequisites

Download node-webkit from here: https://github.com/rogerwang/node-webkit

Download the latest version of jQuery from here: http://jquery.com/

Step 1- Create our Hello World web application

What we want is quite simple, a button that has a click event that updates a label.

Let's get started with some HTML, create a file called index.html and populate it with this html:





We also need to create the JavaScript that deals with the button click event.

Create another new file and save it as index.events.js and populate it with this JavaScript:




Now open index.html and press the button:

Not very exciting, but it can be seen here that it's working and running in Safari. 

Step 2 - Bundle our web application as a node-webkit application

To create a node-webkit application we need to create one further file called package.json:

Now we have four files in our directory:

    index.html
    index.events.js
    jquery-1.8.3.min.js
    package.json

Create a ZIP file with the above four files and call it HelloWorld.nw.

Copy the node-webkit application into the above project directory and run it:



And there we go - our Hello World application running on OS X - source code for this demo here.



For more information on running and packaging the application see these links:

https://github.com/rogerwang/node-webkit/wiki/How-to-run-apps

https://github.com/rogerwang/node-webkit/wiki/How-to-package-and-distribute-your-apps