Slide 1

Slide 1 text

JAVASCRIPT AT YOUR ENTERPRISE Presentation by — Consultant at @g00glen00b @OptisNV

Slide 2

Slide 2 text

JAVASCRIPT... IT'S EVERYWHERE!

Slide 3

Slide 3 text

JAVASCRIPT... IT'S EVERYWHERE!

Slide 4

Slide 4 text

JAVASCRIPT... IT'S EVERYWHERE!

Slide 5

Slide 5 text

JAVASCRIPT... IT'S EVERYWHERE! Dzone, Reddit, StackOverflow, ... JavaScript is populair Dagelijks nieuwe frameworks en libraries

Slide 6

Slide 6 text

IS IT THAT GOOD? Grote vooruitgang laatste decennium HTML5 Explosieve groei van frameworks and libraries Application lifecycle tools (mede dankzij Node.js)

Slide 7

Slide 7 text

HTML5 Nieuwe elementen Local database Geolocation Video API Audio API Canvas WebGL File API WebSockets CSS3

Slide 8

Slide 8 text

NIEUWE FRAMEWORKS

Slide 9

Slide 9 text

APPLICATION LIFECYCLE Yo Grunt Bower Component PhantomJS Karma QUnit Jasmine The intern ...

Slide 10

Slide 10 text

THE "DEVELOPER" IMPROVED Meer developers zijn op de hoogte van de DO en de DON'T's Vergelijken met "===" en "!==" Global namespace vermijden Gebruik van closures ...

Slide 11

Slide 11 text

WAT MET DE REST VAN DE WERELD

Slide 12

Slide 12 text

MICROSOFT Silverlight? Node.js voor Windows Server Internet Explorer & HTML5 support

Slide 13

Slide 13 text

ADOBE Flash voor Linux + Android? Acquires Phonegap, platform voor mobile apps met HTML5 + CSS + JS

Slide 14

Slide 14 text

JAVA JavaServer Faces (JSF)? JSF vs AngularJS

Slide 15

Slide 15 text

GOOGLE Google Web Toolkit? Enorm veel succes met AngularJS Dart

Slide 16

Slide 16 text

IBM Lanceert cloud platform BlueMix met support voor Node.js + MongoDB Ontwikkelt Node-red, een Node.js variant voor Apache Camel Acquires Worklight, platform voor mobile apps met HTML5 + CSS + JS

Slide 17

Slide 17 text

MOZILLA Research projecten zoals asm.js, Parallel JavaScript, ... Samenwerking met Epic: Unreal engine in browser Webmaker: Tutorials voor het maken van toepassingen op het web

Slide 18

Slide 18 text

JFROG Gekend van Artifactory Nu ook voor Node.js packages

Slide 19

Slide 19 text

ANDERE EBAY - QL.IO PAYPAL - KRAKENJS

Slide 20

Slide 20 text

HOW DO WE DO IT? 3 STAPPEN 1. RESTIFY YOUR DATA 2. FRONT-END HERWERKEN 3. APPLICATION LIFECYCLE UITBREIDEN

Slide 21

Slide 21 text

RESTIFY YOUR DATA Business data via web services JSON of XML? Multi-channel approach (mobile?) Eenvoudige integratie met frameworks

Slide 22

Slide 22 text

FRONT-END HERWERKEN Monoliet JS bestanden Hoe koppeling logica + HTML vermijden Structuur Testability Zijn daar design patterns voor? Model, View, Controller HTML = view Logica = controller

Slide 23

Slide 23 text

UITBREIDEN VAN APPLICATION LIFECYCLE Dependency management Minification + compressing Unit testing Steeds meer tooling dankzij Node.js Yeoman Yo: Project scaffolding Grunt: Task runner Bower: dependency management Kunnen afzonderlijk geïnstalleerd worden

Slide 24

Slide 24 text

UITBREIDEN VAN APPLICATION LIFECYCLE TEST, 1, 2, 3... Test je JavaScript code JavaScript testing frameworks: QUnit Jasmine KarmaJS test runner Grunt plugin Reporters Browser PhantomJS: Headless testen

Slide 25

Slide 25 text

UITBREIDEN VAN APPLICATION LIFECYCLE VOORBEELD LIFECYCLE 1. Start project: Project scaffolding met Yo 2. Development project: Dependency management met Bower Versionering van dependencies Code quality + test coverage met Grunt 3. Deployment project: Deployment in cloud met Grunt 4. Continuous integration: Met Jenkins (of Travis CI) 5. Versioning: Git Project kan herbruikt worden in andere projecten Tagging releases: Bower dependency versies

Slide 26

Slide 26 text

TOEKOMST Met deze drie stappen ben je klaar voor de toekomst Node.js? Back-end aanpassen Mobile? Nieuwe app op basis van business services

Slide 27

Slide 27 text

TOEKOMST GET MEAN Full JavaScript stack MongoDB: NoSQL database (JSON/BSON documenten) Express: Web framework voor Node.js AngularJS: Client-side MVC framework Node.js: JavaScript platform Ook andere stacks bestaan: Meteor Nodember ...

Slide 28

Slide 28 text

DEMO APPLICATION LIFECYCLE: MAVEN & GRUNT

Slide 29

Slide 29 text

JAVASCRIPT IN INDUSTRY

Slide 30

Slide 30 text

THE END QUESTIONS? Mail: Twitter: Github: me@g00glen00b.be @g00glen00b g00glen00b NU ALLEMAAL SNEL DE UITSLAG VAN CHECKEN #COLCIV #WK2014