Building better client-side JavaScript applications with Domain Driven Design

A session at #fronteersbe @ Mobile Vikings

Thursday 5th December, 2013

8:00pm to 8:00pm (WET)

We’re migrating more and more logic from the server to the client. Using webrtc, web sockets and fallbacks we add realtime capabilities to our JavaScript applications. This makes for a better user experience but at the same time makes our client side applications more complex, harder to debug and to maintain.

We see an explosion of framework and tools to combat this complexity. Building application with Grunt, unit testing with Chai and Mocha, writing integration tests with Casper, dividing applications in modules with Require, communicating in realtime via engine.io and structuring applications with Backbone/Marionette, Angular or Ember.

Though all this tech makes certain parts easier, it alone does not help to keep your application understandable, well structured and correctly designed for the problems it needs to solve.

Enter Domain Driven Design. It’s an approach to develop complex software applications. On the one hand, it’s a process to transform requirements into an actual product. On the other, it clearly describes how to structure applications and which design patterns and objects to use.

It’s the missing link to properly leverage all the tools our frameworks provide to create complex client-side applications.

Domain Driven Design is not tied to any particular framework. I’ve used it in combination with Backbone/Marionette. But it could also be applied when building application with Angular, Ember or component.io.

This talk introduces Domain Driven Design, how to apply it building complex client-side JavaScript applications and why it’s such a perfect fit for the stateful client.

Sign in to add slides, notes or videos to this session

Tell your friends!

When

Time 8:00pm8:00pm WET

Date Thu 5th December 2013

Short URL

lanyrd.com/scrzkz

Official event site

fronteers.nl/…bile-vikings

View the schedule

Share

See something wrong?

Report an issue with this session