25
Javascript for backend developers Théodore 'nod_' Biadala

javascript for backend developers

Embed Size (px)

Citation preview

Page 1: javascript for backend developers

Javascript for backend developers

Théodore 'nod_' Biadala

Page 2: javascript for backend developers

Assumptions

Page 3: javascript for backend developers

Backend owlBackend owl

is inis in

ControlControl

Page 4: javascript for backend developers

Frontend FlamingoFrontend Flamingo

run fromrun from

ChaosChaos

Page 5: javascript for backend developers

You sort of care about frontendYou sort of worry about performance

You just want thing to work

Page 6: javascript for backend developers

Javascript LandscapeJavascript Landscape

Page 7: javascript for backend developers

HarmonyHarmony

Sugar Syntax

« Classes »

Modules

Page 8: javascript for backend developers

Android

Page 9: javascript for backend developers
Page 10: javascript for backend developers
Page 11: javascript for backend developers

BBIINNGGOO

Page 12: javascript for backend developers

AMD

CommonJS

UglifyJSUglifyJS

Isomorphic

Page 13: javascript for backend developers

PitfallsPitfallsVariable scope

Types

Callback hell

« Associative arrays »

'use strict' ;

Page 14: javascript for backend developers

BehaviorsBehaviorsDrupal.behaviors.initializeFlamingo = {

attach : function (context, settings) {

},

detach : function (context, settings, trigger) {}

} ;

Page 15: javascript for backend developers

context (after ajax call)

context (page load)

Page 16: javascript for backend developers

OnceOnce// In the attach function.

var $burgers = $(context).find('.burger') ;

// Salt to my burger(s).

$burgers.each(saltThisBurger) ;

// Don't add salt at every ajax request !

$burgers.once('salt').each(saltThisBurger) ;

Page 17: javascript for backend developers

once

Page 18: javascript for backend developers

once

Page 19: javascript for backend developers

Performance wolvesPerformance wolves

Page 20: javascript for backend developers

Javascript performance,Don't worry

Page 21: javascript for backend developers

DOM PerformanceDOM Performance

Page 22: javascript for backend developers

RepaintRepaint&&

ReflowReflow

Page 23: javascript for backend developers

Wolf-resistant ToolsWolf-resistant Tools

Page 24: javascript for backend developers

Questions?

Théodore BIADALA

@nod_

[email protected]

Page 25: javascript for backend developers

The problem with Angular The problem with Angular — — ppkppk