Developer

Me me me!

Frontend evolution

Today's reality.

Description
W3C
Description

The browser is our application runtime

Browser landscape has changed.

Description
http://www.toptenreviews.com/

x 1.000.000.0's of devices out there

Description

Traditional server-sided architecture

Description
LinkedIn

Client-sided architecture

Description
LinkedIn

The modern toolbox.

Today's baseline.

Description

Boilerplating

No way around.

Package management

We know it from the server-side.

Client-side package managers.

Bower

Dependency management

Script loaders

Asynchronous module definition (AMD)

Asynchronous module definition

# Module
(function () {
    var $ = this.jQuery;

    this.myExample = function () {};
}());
# CommonJS
var $ = require('jquery');
exports.myExample = function () {};
# AMD
define(['jquery'] , function ($) {
    return function () {};
});

Dependo - visualize your dependency graph.

Authoring abstractions.

Precompiled CSS

Why precompiled CSS?

CSS is probably one of the most overlooked areas in web-dev.
Myself

Precompiled CSS

.slide {

  &.current {
    @include transform(translate3d(0, 0, 0));
    display: block;
    opacity: 1;

    .auto-fadein {
      opacity: 1;
    }

    .gdbar {
      @include background-size(100% 100%);
    }
  }
}

Autoprefixer

Autoprefixer

:fullscreen a {
  transition: transform 1s
}
var prefixed = autoprefixer.compile(css);
:-webkit-full-screen a {
  -webkit-transition: -webkit-transform 1s;
  transition: transform 1s;
}

:-moz-full-screen a {
  transition: transform 1s;
}

:fullscreen a {
  -webkit-transition: -webkit-transform 1s;
  transition: transform 1s;
}

Autoprefixer

Frameworks.

Frameworks

You need structure.

... and more than jQuery

Frameworks

Iteration workflow.

Description
Description

LiveReload

Description

LiveReload

Chrome DevTools

Description

Chrome DevTools

BrowserStack

Build Tools.

Good old MSBuild

We got one too!

Grunt

Testing.

PhantomJS

SlimerJS

CasperJS

Karma test runner

Future.

Browser DevTools becomes IDE's

Description

Remote debugging getting attention

Description

Summary.

Thanks!

Evaluation

Create a Text message on your phone and send it to 1919 with the content: