24
TEsting
Services
Tools
Karma Selenium
Rainforest
jest
frameworks
jasmine
Slide 25
Slide 25 text
25
DEPLOY
• source mapping (css, js)
• local testing
DEVelopmeNt
Testing
STAGING / PRODUCTION
• source mapping (css, js)
• CI testing
• gzip
• uglify
• css minifier
• image compression
• asset revisioning
Slide 26
Slide 26 text
a js dirty secret
Slide 27
Slide 27 text
27
SINGLE PAGE APP
- as first citizen in JS Community -
Slide 28
Slide 28 text
28
SPA
- FACTS checking-
CONS
PROS
• More complexity (ie. memory leak, )
• Javascript MUST be enabled
• Linking becomes an issue
• Analytics aren't trivial
• SEO implications
• Once loaded faster
• Better UX
• Strict separation of concerns (API)
Slide 29
Slide 29 text
29
MULTIMPLE PAGE APP
- as so boring citizen in JS community-
Slide 30
Slide 30 text
30
CONS
PROS
• two languages ( client / server )
• two business logic
• Content is the king
• Simpler
• SEO friendly
• URL friendly
MPA
- FACTS checking-
Slide 31
Slide 31 text
The NEW KID on THE BLOCK
Slide 32
Slide 32 text
Isomorphic APP
Javascript code that run on
both client and server
Slide 33
Slide 33 text
No content
Slide 34
Slide 34 text
34
Isomorphic APP
CONS
PROS
• Performance (initial page-load speed)
• Maintainability (promote sharing code client / server )
• Progressive enhancements easier (JS not mandatory )
• SEO friendly
• Complex :)
• A lot of moving parts
Slide 35
Slide 35 text
35
Isomorphic ARCHITECTURE
Slide 36
Slide 36 text
36
A JS BUILD should Handles:
• runtime dependencies
• build dependencies
• bundle JS (uglify)
• bundle CSS (minification)
• modules loading
• testing
• multi env client deploy
• multi env server deploy ( isomorphic only )
• env settings
• image optimization
• prepare fonts / icons
Slide 37
Slide 37 text
SHOW ME THE CODE !!!
Slide 38
Slide 38 text
SPA ( voicemap player )
- grunt -
aka configuration