Transcript
Page 1: Building A Web App In 100% JavaScript with Carl Bergenhem

BUILDING AWEB APP IN

100%JAVASCRIPT

USING NODE.JS, EXPRESS.JS, ANDKENDO UI

- Carl Bergenhem @carlbergenhem

Page 2: Building A Web App In 100% JavaScript with Carl Bergenhem

WHO AM I?

Page 3: Building A Web App In 100% JavaScript with Carl Bergenhem

CARL BERGENHEM

Page 4: Building A Web App In 100% JavaScript with Carl Bergenhem

MANAGER OF SOLUTIONSCONSULTANT TEAM @TELERIK

Page 5: Building A Web App In 100% JavaScript with Carl Bergenhem

ASPINSIDER

Page 6: Building A Web App In 100% JavaScript with Carl Bergenhem

WEB DEVELOPER

Page 7: Building A Web App In 100% JavaScript with Carl Bergenhem

GAMING AFFICIONADO

Page 8: Building A Web App In 100% JavaScript with Carl Bergenhem

LOVER OF JS

Page 9: Building A Web App In 100% JavaScript with Carl Bergenhem

I HAVE A SECRET...

Page 10: Building A Web App In 100% JavaScript with Carl Bergenhem

WE CAN NOW BUILD OURENTIRE APP

INJAVASCRIPT

Page 11: Building A Web App In 100% JavaScript with Carl Bergenhem

HOW IS THIS EVENPOSSIBLE!?

JAVASCRIPT IS JUST CLIENT-SIDERIGHT?

Page 12: Building A Web App In 100% JavaScript with Carl Bergenhem

WRONG

Page 13: Building A Web App In 100% JavaScript with Carl Bergenhem

NODE.JS CHANGED THEGAME

ALLOWS JAVASCRIPT ON THE SERVER

Page 14: Building A Web App In 100% JavaScript with Carl Bergenhem

BEFORE WE START

Page 15: Building A Web App In 100% JavaScript with Carl Bergenhem

LET'S TAKE A LOOK AT THETECHNOLOGIES WE'RE

COVERING(THERE'S A LOT OF THEM)

Page 16: Building A Web App In 100% JavaScript with Carl Bergenhem

SERVER:NODE.JS

Page 17: Building A Web App In 100% JavaScript with Carl Bergenhem

WEB FRAMEWORK:EXPRESS.JS

Page 18: Building A Web App In 100% JavaScript with Carl Bergenhem

DATABASE:MONGODB AND MONGOOSE.JS

Page 19: Building A Web App In 100% JavaScript with Carl Bergenhem

UI FRAMEWORK:KENDO UI

Page 20: Building A Web App In 100% JavaScript with Carl Bergenhem

NODE.JS

Page 21: Building A Web App In 100% JavaScript with Carl Bergenhem

CREATED BY RYAN DAHL

Page 22: Building A Web App In 100% JavaScript with Carl Bergenhem

RUNS ON GOOGLE'S V8 JAVASCRIPTENGINE

Page 23: Building A Web App In 100% JavaScript with Carl Bergenhem

EVENT DRIVEN

Page 24: Building A Web App In 100% JavaScript with Carl Bergenhem

ASYNCHRONOUS

Page 25: Building A Web App In 100% JavaScript with Carl Bergenhem

PERFECT FOR WEB SERVERS

Page 26: Building A Web App In 100% JavaScript with Carl Bergenhem

WHY IS IT PERFECT FORWEB SERVERS?

Page 27: Building A Web App In 100% JavaScript with Carl Bergenhem

ASYNCHRONOUSAND

EVENT DRIVEN

Page 28: Building A Web App In 100% JavaScript with Carl Bergenhem

NON-BLOCKING I/O

Page 29: Building A Web App In 100% JavaScript with Carl Bergenhem

SUPER LIGHT-WEIGHT

Page 30: Building A Web App In 100% JavaScript with Carl Bergenhem

INSTALL PROCESS

Page 31: Building A Web App In 100% JavaScript with Carl Bergenhem

NODE.JS.ORG

Page 32: Building A Web App In 100% JavaScript with Carl Bergenhem

INSTALLERS FOR OS X, WINDOWS,LINUX AND SUNOS

Page 33: Building A Web App In 100% JavaScript with Carl Bergenhem

AUTOMATICALLY INSTALLS NODEJSAND NPM

Page 34: Building A Web App In 100% JavaScript with Carl Bergenhem

NPM

Page 35: Building A Web App In 100% JavaScript with Carl Bergenhem

PACKAGE MANAGER FOR NODE.JS

Page 36: Building A Web App In 100% JavaScript with Carl Bergenhem

SUPER EASY TO USEnpm install [package name]

Page 37: Building A Web App In 100% JavaScript with Carl Bergenhem

QUICK NODE.JS SERVERvar http = require('http');http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n');}).listen(1337, '127.0.0.1');

Page 38: Building A Web App In 100% JavaScript with Carl Bergenhem

LET'S SET UP OUR SERVER

Page 39: Building A Web App In 100% JavaScript with Carl Bergenhem

WELL THAT WAS FUNWHAT'S NEXT?

Page 40: Building A Web App In 100% JavaScript with Carl Bergenhem

EXPRESSJS

Page 41: Building A Web App In 100% JavaScript with Carl Bergenhem

WEB APP FRAMEWORK FOR NODE.JS

Page 42: Building A Web App In 100% JavaScript with Carl Bergenhem

EXTENDS THE NODE.JS FRAMEWORK

Page 43: Building A Web App In 100% JavaScript with Carl Bergenhem

SIMPLE WAY OF HANDLING ROUTES

Page 44: Building A Web App In 100% JavaScript with Carl Bergenhem

QUICK AND EASY SETUP &CONFIGURATION

Page 45: Building A Web App In 100% JavaScript with Carl Bergenhem

BUILT-IN VIEW TEMPLATES (JADE)

Page 46: Building A Web App In 100% JavaScript with Carl Bergenhem

YOU DECIDE THE STRUCTURE

Page 47: Building A Web App In 100% JavaScript with Carl Bergenhem

INSTALL PROCESS

Page 48: Building A Web App In 100% JavaScript with Carl Bergenhem

NAVIGATE TO YOUR APP FOLDER

Page 49: Building A Web App In 100% JavaScript with Carl Bergenhem

CREATE A PACKAGE.JSON FILE

Page 50: Building A Web App In 100% JavaScript with Carl Bergenhem

PASTE THE FOLLOWING{ "name": "SampleApp", "description": "Sample App Description", "version": "0.0.1", "private": true, "dependencies": { "express": "3.x" }}

Page 51: Building A Web App In 100% JavaScript with Carl Bergenhem

RUN THE FOLLOWING:npm install

Page 52: Building A Web App In 100% JavaScript with Carl Bergenhem

QUICK EXPRESS.JS SETUPvar express = require('express');

var app = express();

app.get('/request', function(req, res) { console.log('We got a request!');});

app.listen(3000);console.log('Listening on port 3000...');

Page 53: Building A Web App In 100% JavaScript with Carl Bergenhem

LET'S EXPRESS-IFY OUR APP!

Page 54: Building A Web App In 100% JavaScript with Carl Bergenhem

THAT WAS QUICK!

Page 55: Building A Web App In 100% JavaScript with Carl Bergenhem

MONGOOSE.JS

Page 56: Building A Web App In 100% JavaScript with Carl Bergenhem

SIMPLE OBJECT MODELING

Page 57: Building A Web App In 100% JavaScript with Carl Bergenhem

WORK WITH BSON

Page 58: Building A Web App In 100% JavaScript with Carl Bergenhem

CREATE STRICT MODELS

Page 59: Building A Web App In 100% JavaScript with Carl Bergenhem

EASILY HOOK IN TO MONGODB

Page 60: Building A Web App In 100% JavaScript with Carl Bergenhem

HIGHER LEVEL THAN 'RAW' DRIVERS

Page 61: Building A Web App In 100% JavaScript with Carl Bergenhem

INSTALL PROCESS

Page 62: Building A Web App In 100% JavaScript with Carl Bergenhem

VERY EASY INSTALL!npm install mongoose

Page 63: Building A Web App In 100% JavaScript with Carl Bergenhem

ADDING OUR DATABASE!

Page 64: Building A Web App In 100% JavaScript with Carl Bergenhem

KENDO UI

Page 65: Building A Web App In 100% JavaScript with Carl Bergenhem

CREATED BY @TELERIK

Page 66: Building A Web App In 100% JavaScript with Carl Bergenhem

JAVASCRIPT FRAMEWORK

Page 67: Building A Web App In 100% JavaScript with Carl Bergenhem

BASED ON JQUERY

Page 68: Building A Web App In 100% JavaScript with Carl Bergenhem

WEB APP UI FRAMEWORK

Page 69: Building A Web App In 100% JavaScript with Carl Bergenhem

MOBILE HYBRID APP UI FRAMEWORK

Page 70: Building A Web App In 100% JavaScript with Carl Bergenhem

HTML5 AND CSS3

Page 71: Building A Web App In 100% JavaScript with Carl Bergenhem

WIDE CROSS-BROWSER SUPPORT

Page 72: Building A Web App In 100% JavaScript with Carl Bergenhem

IE7+, FF, CHROME, SAFARI, OPERA

Page 73: Building A Web App In 100% JavaScript with Carl Bergenhem

QUICK KENDO SAMPLE<ul id='myMenu' > <li>Books</li> <li>Video Games</li> <li>Movies</li> <ul> <li>The Big Lebowski</li> <li>The Matrix</li> </ul> </li></ul>

<script>

</script>

$(function () { $('#myMenu').kendoMenu(); });

Page 74: Building A Web App In 100% JavaScript with Carl Bergenhem

TIME TO SLAP SOME UI ONTHIS THING

Page 75: Building A Web App In 100% JavaScript with Carl Bergenhem

UI LEVEL: KENDO UI

Page 76: Building A Web App In 100% JavaScript with Carl Bergenhem

WOAH THERE, HOLD YOURHORSES

Page 77: Building A Web App In 100% JavaScript with Carl Bergenhem

DEBUGGING!?

Page 79: Building A Web App In 100% JavaScript with Carl Bergenhem

DEBUG ANY NODE.JS APP

Page 80: Building A Web App In 100% JavaScript with Carl Bergenhem

WEBKIT DEVTOOLS

Page 81: Building A Web App In 100% JavaScript with Carl Bergenhem

EASY TO INSTALLnpm install -g node-inspector

Page 82: Building A Web App In 100% JavaScript with Carl Bergenhem

EASY TO USEnode-inspector &

Page 83: Building A Web App In 100% JavaScript with Carl Bergenhem

DEBUGGING TIME!

Page 84: Building A Web App In 100% JavaScript with Carl Bergenhem

THAT'S IT!

Page 85: Building A Web App In 100% JavaScript with Carl Bergenhem

WE NOW HAVE AN APP

Page 86: Building A Web App In 100% JavaScript with Carl Bergenhem

WRITTEN IN 100%JAVASCRIPT

Page 87: Building A Web App In 100% JavaScript with Carl Bergenhem

THANKS!Q&A

- Carl Bergenhem @carlbergenhem


Top Related