Slide 1

Slide 1 text

MODULARISER SON APPLICATION ANGULARJS AVEC BROWSERIFY

Slide 2

Slide 2 text

ANTOINE RICHARD WEB ARCHITECT @richard_antoine [email protected]

Slide 3

Slide 3 text

Javascript + non-blocking I/O Use-cases orientés flux de données : API WEB MOBILE IOT

Slide 4

Slide 4 text

Né en 2009. Premiers usages en production en 2011. Aujourd’hui, son adoption se généralise.

Slide 5

Slide 5 text

Structuration du code → Isolation → Composition Gestion des dépendances → Versioning → Installation

Slide 6

Slide 6 text

Spécifications d’un écosystème Javascript hors des navigateurs Dont un système de module, implémenté dans Node.JS → définit ses dépendances → expose une API → est isolé → un module = un service → composabilité Un module Philosophie UNIX

Slide 7

Slide 7 text

Créé en 2011. Livré avec NodeJS. 100 000+ packages, ~25 000 000 downloads par jour Croissance : Création de npm, Inc en janvier 2014 (levée de $2.6M) npm 216/j Maven 62/j Gems 55/j Bower 62/j GoDoc 63/j Packagist 79/j Source : modulecounts.com

Slide 8

Slide 8 text

CODING TIME

Slide 9

Slide 9 text

INTÉRÊT CÔTÉ CLIENT ? → boilerplate minimal → cohérence → un seul package manager

Slide 10

Slide 10 text

= Javascript Package Manager blog.npmjs.org/post/101775448305/npm-and-front-end-packaging

Slide 11

Slide 11 text

require(‘module’)

Slide 12

Slide 12 text

« require(‘module’) dans le navigateur »

Slide 13

Slide 13 text

CODING TIME

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

Angular est disponible sur npm. Mais il n’est pas CommonJS. → OK ou browserify-shim NOTE SUR

Slide 16

Slide 16 text

CODING TIME

Slide 17

Slide 17 text

Séparation de la configuration et de la logique applicative

Slide 18

Slide 18 text

Release → Browserify + Browserify-shim → ngAnnotate + ngInject → Uglify + SourceMaps Watch → Watchify → BrowserSync

Slide 19

Slide 19 text

Tests unitaires : Tests end to end :

Slide 20

Slide 20 text

Outillage Framework applicatif Logique applicative

Slide 21

Slide 21 text

github.com/substack/browserify-handbook MERCI