Rob Eisenberg was at ngEurope to talk about Angular’s new router. Rob is the author of Durandal and has recently been added to the Angular team. Together, they took a good look at the different routers out there (SammyJS, EmberJS, Durandal,…). They used what worked and improved what didn’t to create a new router for Angular 2.0. What’s cool is that they backported it to Angular 1.3. So you can already start using it. Basic features are what you would

At ngEurope, Julie Ralph and Chirayu Krishnappa gave an interesting presentation on Protractor. Protractor is a framework for end-to-end testing. The goal was not unit testing, because unit testing won’t catch everything. Like so many of the projects in the Angular and javascript space, it is heavily under development, but the 1.0 release is planned for July 2015. Protractor is implemented in NodeJS so you can write your tests in javascript. The most common way to run them is to

Angular 1.3 provides us with some improvements over an already very decent framework. At ngEurope, the sessions were fast and intensive, which was an interesting approach, but also didn’t allow for very many details. That being said, here are the points I noted. $compileProvider.debugInfoEnabled(false); This allows you to disable all the debugging info for the code you will deploy in production. Read more about it in the docs. $httpProvider.useApplyAsync(true) Normally, returning from an HTTP call will trigger Angular’s $apply function.

Team4Talent, the company I work for, was kind enough to allow me to go to ngEurope in Paris. ngEurope is Europe’s first Angular conference. In a few upcoming posts, I’ll share what I’ve learnt, along with some personal thoughts of mine. I’ll also (try to) answer some questions several people asked me. But if you can’t wait, the conclusion is that I love Angular and plan to use it. Where I work at the moment, we’ve decided HTML5 and javascript

In my previous post, I outlined how to use ASP.NET MVC and Angular together, making certain views pure MVC and others Angular. When I first used Angular this way, I was so happy, I went the full Angular way making requests from Angular for my data. Essentially, something like this: $http({ method: ‘GET’, url: ‘/api/rest/’ }) .success(function (data, status, headers, config) { vm.names = data; }) .error(function (data, status, headers, config) {}); This is code inside my customers.js. It’s just

Angular is a great tool, but it took me some time to find a way to combine it elegantly with ASP.NET MVC. This is basically how I did it. First, create a new ASP.NET MVC application. Next, install the Angular package via NuGet. Now for the customization. The objective is to use the normal ASP.NET MVC navigation, unless for certain URLs, when we’ll let Angular take over. So http://www.example.com/Account/Login would be handled by ASP.NET (“ASP.NET-mode”), but http://www.example.com/#/Customers would be handled

At Techorama 2014, Nik Molnar mentioned very shortly that you should use CDNs. CDNs, or Content Delivery Networks (or Distribution), are public repositories of javascript libraries, css files, images, etc that anyone can reference. There are lots of CDNs out there. A popular one is Google Hosted Libraries. You’ll find Angular, jQuery, jQuery UI, etc. The main advantage of using a CDN is performance. There’s a good chance that people who visit your site will already have visited a site

With all these javascript frameworks, which one should you choose? Which one is winning? The short answer: it’s too soon to tell and it doesn’t really matter. But there are some more or less safe bets. A while ago, I was talking with a colleague over lunch about a presentation I’m preparing on Durandal (in Dutch), a javascript framework for single-page applications. I also mentioned Angular and he asked me which one is most popular, which one is winning. If

I’ve been playing around with Durandal lately, and was wondering how you get a Durandal SPA to work with Google Analytics. The problem is the visitor is staying on the same html page. Yet you want analytics for your different views (so everytime the hash in the browsers navigation bar changes). It turns out this is fairly easy. I’m putting this here for my own and anyone else’s reference. It probably works with other SPA frameworks too (Angular for example).

Mimosa is a build tool for Node.js apps. But it’s more than just building. For a very nice introduction, check out the ‘Tour of Mimosa’ slideshow on their homepage. In short, it will do almost anything you need to get from the source of your web app to something that you can deploy to the server: JS transpiling, CSS linting, JS hinting, minification, dependencies, etc. But it also helps while developing, for example by allowing live reload so you see