Busy Javascript Developer's Guide to "JavaScript, All The Way Down"

ted@tedneward.com | Blog: http://blogs.tedneward.com | Twitter: tedneward | Github: tedneward | LinkedIn: tedneward

Objectives

Examine the idea of JavaScript...

... and feel inspired! (Hopefully)

Architecture

JavaScript in your Architecture

Architecture

Modern Web Architecture

Wait...

What was wrong with the old way, again?

Fallacies

What are these again?

Fallacies

Fallacies are...

Fallacies

To put it in Deutsch's own words...

"Essentially everyone, ... makes the following assumptions.

"All turn out to be false in the long run and all cause big trouble and painful learning experiences."

Fallacies

In theory...

In practice...

The Fallacies of Distributed Computing

Mistakes are all too easy to repeat

The Fallacies of Distributed Computing

"Essentially everyone, when they first build an distributed system, makes the following 10 assumptions. All turn out to be false in the long run and all cause big trouble and painful learning experiences."

    The network is reliable

    Latency is zero

    Bandwidth is infinite

    The network is secure

    Topology doesn't change

    There is one administrator

    Transport cost is zero

    The network is homogeneous

JavaScript

The uber-language

Wait...

Why JavaScript, again?

Architecture

Modern JavaScript Web Architecture

Client

Single-Page Applications

Client

Client apps need to reside entirely on one tier

Overview

What's this 'Angular' thing, anyway?

Overview

Angular is an opinionated Single-Page Application MVC JavaScript framework

Overview

MVC is alive and well

Overview

Separation of UI and logic

Overview

Testing, testing, testing

Overview

Angular is built using some core concepts:

Overview

Angular additional concepts:

Titanium

JavaScript to all the things!

Overview

Titanium

Overview

Titanium

Server

Answering REST Calls

Server

It's all about the NodeJS

NodeJS: An Overview

Starters

NodeJS is JavaScript... on the server

Starters

Technically, NodeJS is the Google V8 engine

Starters

So... why does everyone care?

Starters

So... why does everyone care?

Truthfully, half the magic is in the packages (npm)

Database

Storing the data

Database

Several NoSQLs offer JavaScript-friendly storage

Meteor

Overview of an all-Javascript stack

Overview

Meteor (meteor.com) is an all-Javascript stack

Overview

Meteor's core concepts:

Overview

Meteor buzzword bingo:

Overview

Meteor architecture:

Summary

It's now possible to be a "JavaScript-only" developer

Credentials

Who is this guy?