The Developer Developer Developer North Community Event kicks off this Saturday at the University of Sunderland. The MSDN UK team is proud to be partnering with this community event and Mike Taulty will be presenting this Saturday.

Ashic Mahtab is one of the speakers presenting this Saturday and here is a quick preview to his session this weekend.

Clean up your JavaScript Act - JavaScript is becoming more and more prominent in the .NET world. Not only are technologies like WinRT and Node.js broadening the horizons for JavaScript, it comes as part and parcel of any modern web application. We are seeing it going from a niche tool for fancy effects to being the basis of complicated client (and even server) side architectures.

What made JavaScript popular in adding effects to websites is that it is an extremely flexible language. Yet this is one of its main weak points – it’s very easy to keep on making “things that work” only to find yourself facing an unmanageable web of tangled code that is virtually impossible to extend. Faced with such a scenario, it’s tempting to simply write new bits of tangled code for the feature you need which results in even more problems going forward.

We are so concerned with following SOLID principles and design patterns when writing server side code. Yet we ignore those principles in JavaScript. And even when we do, we try to simulate C# in JavaScript. JavaScript is not C# - it has its own patterns and beauty.

Unit testing, test driven development, acceptance testing…all of these buzzwords are so big when we’re coding C# or VB.NET. Yet even though so much of our application is JavaScript, we seem to ignore the fact that it is not tested. Untested code is just legacy code and we see our JavaScript code becoming a technical burden that we are afraid to touch. Yet, there are tools for unit testing JavaScript.

In this session, we will look at using basic objects in JavaScript and a couple of useful patterns for creating objects. We will look at Knockout.js and how we can use it to create MVVM based applications. We will look at QUnit and see how it can be used to unit test our JavaScript. Lastly, we will integrate QUnit tests into our build script so that JavaScript tests can be used for continuous integration.