26
INTRO TO NODE Jamal O’Garro Code Crew Software Engineer + Instructor CODE CREW | INTRO TO NODE.JS

Intro to Node.js

Embed Size (px)

Citation preview

INTRO TO NODE

Jamal O’Garro Code Crew Software Engineer + Instructor

CODE CREW | INTRO TO NODE.JS

CLASS ROADMAP

• Node Basics

• Web Servers

• Express.js

• MongoDB

• Mongoose

• Build a Simple App

• Look at a Larger App

CODE CREW | INTRO TO NODE.JS

EXPECTATIONSCODE CREW | INTRO TO NODE.JS

• Familiar with JavaScript

• Familiar with the concept of databases

• Basic web development principles

TRADITIONAL WEB DEVELOPMENTCODE CREW | INTRO TO NODE.JS

MODERN DAY WEB DEVELOPMENTCODE CREW | INTRO TO NODE.JS

JAVASCRIPT REVIEW

• Created by Netscape

• Runs in browser & server

• Is actually named ECMAScript

CODE CREW | INTRO TO NODE.JS

NODE.JS BASICSCODE CREW | INTRO TO NODE.JS

• Server-side JavaScript

• Built on top of V8

• Created by Ryan Dahl

• Open Source

• Asynchronous

• Single-threaded

WHAT IS NODE GOOD FOR?CODE CREW | INTRO TO NODE.JS

• Highly concurrent environments

• Real-time apps (i.e. chat rooms)

• Building CRUD applications

• Teams that want to make their front-end engineers full stack as fast a possible

ASYNCHRONOUS PROGRAMMINGCODE CREW | INTRO TO NODE.JS

EVENT LOOPCODE CREW | INTRO TO NODE.JS

HELLO NODE!CODE CREW | INTRO TO NODE.JS

NPMCODE CREW | INTRO TO NODE.JS

CONNECTCODE CREW | INTRO TO NODE.JS

• Middleware framework for Node

• Used for building web servers

• Abstracts a lot of HTTP for you

NODE FRAMEWORKSCODE CREW | INTRO TO NODE.JS

EXPRESSCODE CREW | INTRO TO NODE.JS

• Lightweight web framework

• Inspired by Sinatra

• Flexible and doesn’t force conventions

• Fully asynchronous

• Loads application in memory and listens for requests

WHY USE EXPRESS?CODE CREW | INTRO TO NODE.JS

• Inspired by Sinatra

• Flexible framework that doesn’t force conventions

• Fully asynchronous

• Easy to learn

• Easily extendable

MVC ARCHITECTURE

DATABASE

BROWSER CONTROLLER

VIEW MODEL

CODE CREW | INTRO TO NODE.JS

ROUTERCODE CREW | INTRO TO NODE.JS

RESTCODE CREW | INTRO TO NODE.JS

CRUD

• Create

• Read

• Update

• Destroy

CODE CREW | INTRO TO NODE.JS

MONGODBCODE CREW | INTRO TO NODE.JS

MONGOOSECODE CREW | INTRO TO NODE.JS

• Object Document Mapper

• Allows us to create models to organize our data

• Provides a schema for your MongoDB database

• Also provides validations

• Simulate joins

• Convenience methods for querying data from MongoDB

LET’S BUILD OUR APP!CODE CREW | INTRO TO NODE.JS

MEAN STACKCODE CREW | INTRO TO NODE.JS

LET’S LOOK A MORE COMPLEX APP!CODE CREW | INTRO TO NODE.JS

THANKS MUCH!!!

Jamal O’Garro Code Crew Software Engineer + Instructor

CODE CREW | INTRO TO NODE.JS