ASYNCHRONOUS JAVASCRIPT: STAIRWAY TO HEAVEN

A frontend perspective
from callback hell to the present... and future.

GERSON LÁZARO

Systems Engineer - Universidad Francisco de Paula Santander
Frontend Software Engineer at Bizagi

WHAT DOES A FRONT-END DEVELOPER DO?

Front-end Developers are responsible for implementing visual elements that users see and interact within a web application.

ONCE UPON A TIME...

The beginnings of the internet

1990

First website: The world wide web project - Conseil Européen pour la Recherche Nucléaire (CERN)

View website

1995

First search engine: Lycos. At this time the web layout is done using tables.

View website

1995

Nananananananananananananananananananana batman!!
The rise of flash drives a change in web design and development.

View website

1998

Mozilla's first website. CSS in all its glory (?). Web design becomes relevant.

View website

1999

Blogger's first website. Back-end interaction becomes more important than ever.

View website

2005

Gmail's first website. It is not possible to say which was the first site to use Ajax. But gmail was a great example.

View website

AND NOW

It's the future

ASYNCHRONOUS JAVASCRIPT

"I will finish later!"

STARTING POINT: CALLBACKS

ASYNCHRONOUS JAVASCRIPT: CALLBACKS

Where it all started

See the Pen AJ1 by Gerson Lázaro (@gerson-l-zaro) on CodePen.

WHAT IS THE PROBLEM?

ASYNCHRONOUS JAVASCRIPT: CALLBACKS

This is the problem

See the Pen AJ2 by Gerson Lázaro (@gerson-l-zaro) on CodePen.

CALLBACK HELL

EVOLUTION: PROMISES

ASYNCHRONOUS JAVASCRIPT: PROMISES

A real example

See the Pen AJ3 by Gerson Lázaro (@gerson-l-zaro) on CodePen.

SIMPLIFICATION: ASYNC AND AWAIT

ASYNCHRONOUS JAVASCRIPT: ASYNC/AWAIT

Simpler is better

See the Pen AJ4 by Gerson Lázaro (@gerson-l-zaro) on CodePen.

ASYNCHRONOUS + MEMOIZE = FAST AND FURIOUS

A bonus for competitive programmers

THE FULL BLOG

Post + Comments + Image = The optimal way

See the Pen AJ5 by Gerson Lázaro (@gerson-l-zaro) on CodePen.

QUESTIONS?

Thanks!

www.gersonlazaro.com