63
The Inverted Web and the future of the Internet ___________________ Nick Van Weerdenburg Founder/CEO rangle.io h"p://rangle.io

The Inverted Web and the Future of the Internet

  • Upload
    fitc

  • View
    2.779

  • Download
    0

Embed Size (px)

DESCRIPTION

The Inverted Web and the Future of the Internet with Nick Van Weerdenburg Presented on September 18 2014 at FITC's Web Unleashed Toronto 2014 The Inversion of the Web is a radical shift in responsibilities from the server to the browser; HTML5, Mobile and Single Page Applications have disrupted web development and adopting the inverted web has become a strategic necessity for ALL companies. This talk will cover the inverted web technical landscape (AngularJS, EmberJS, React, Polymer, Web Components, REST) as well as the business and technical cases for adopting it. OBJECTIVE Enable audience members to plan for and leverage the inverted web. TARGET AUDIENCE Web developers and project stakeholders such as product managers and entrepreneurs. ASSUMED AUDIENCE KNOWLEDGE An understanding of how web applications are developed. FIVE THINGS AUDIENCE MEMBERS WILL LEARN What the inverted web landscape looks like (AngularJS, Ember, React) The business case The technical case Current limitations Single page applications as a mobile strategy

Citation preview

Page 1: The Inverted Web and the Future of the Internet

The$Inverted$Weband$the$future$of$the$Internet

___________________

Nick%Van%Weerdenburg

Founder/CEO,rangle.io

h"p://rangle.io

Page 2: The Inverted Web and the Future of the Internet
Page 3: The Inverted Web and the Future of the Internet

Overview

The$Inversion$of$the$Web$is$a$radical$shi4$in$responsibili6es$from$the$server$to$the$browser;$HTML5,$Mobile$and$Single$Page$Applica6ons$have$disrupted$web$development$and$adop6ng$the$inverted$web$has$become$a$strategic$necessity$for$ALL$companies.$

Page 4: The Inverted Web and the Future of the Internet

Five%Things%the%Audience%Will%Learn

1. What'the'inverted'web'landscape

2. The'technical'case

3. The'business'case

4. Current'limita;ons

5. The'future

Page 5: The Inverted Web and the Future of the Internet

Let's&start&with&a&ques.on...

Page 6: The Inverted Web and the Future of the Internet

"Will%the%Internet%Inter,Orb%Protocol%replace%Hypertext%Transfer%Protocol%as%the%predominant%communica=ons%protocol%for%the%World%Wide%Web?"

Page 7: The Inverted Web and the Future of the Internet

"At$Object$World$West$last$year,$Netscape$Communica:ons$Corp.'s$Marc$Andreessen$said$it$will,$since$IIOP$enables$objects$to$communicate$over$a$TCP/IP$network."

Page 8: The Inverted Web and the Future of the Internet

“We$expect$that$over$the$next$few$years$IIOP$will$become$as$

ubiquitous$as$HTTP$and$CGI,$IIOP$provides$a$comprehensive$

system$through$which$objects$can$request$services$from$one$

another$across$the$wide$variety$of$plaDorms$or$database$systems$

they’re$built$on.$Just$as$Web$technology$has$helped$companies$

simplify$and$centralize$the$distribuIon$of$informaIon,$distributed$

objects$will$help$them$simplify$and$centrilize$their$enterprise$

applicaIons…$Now$that$we$have$standard$ways$to$build$networks$

and$run$services$on$them,$we$have$an$opportunity$that$never$

existed$before$M$to$build$network$applicaIons.$Let’s$take$advantage$

of$it.”$

• Marc&Andreessen,&Netscape&Co2founder,&October&1996

Page 9: The Inverted Web and the Future of the Internet

HE#WAS#RIGHT

Page 10: The Inverted Web and the Future of the Internet

the$rest$is$implementa-on$details

Page 11: The Inverted Web and the Future of the Internet

...APIs&dominate&the&modern&web.

Page 12: The Inverted Web and the Future of the Internet

And$applica*ons$are$communica*ng$through$these$APIs$which$are$built$

on$REST$APIs$and$JSON.

Page 13: The Inverted Web and the Future of the Internet

Surprising,*HTTP*turned*out*to*a*fantas4c*was*of*doing*this*machine9

to9machine*communica4ons.

Page 14: The Inverted Web and the Future of the Internet

What's'important'is'the'architectural'principle.

Page 15: The Inverted Web and the Future of the Internet

So#ware(needs(to(talk(to(other(so#ware.

Page 16: The Inverted Web and the Future of the Internet

The$most$robust$complex$systems$are$built$incrementally$from$simpler$

systems.

Page 17: The Inverted Web and the Future of the Internet

And,%the%end)to)end%principle%from%1981:

Page 18: The Inverted Web and the Future of the Internet

The$end'to'end$principle$states$that$applica1on'specific$func1ons$ought$

to$reside$in$the$end$hosts$of$a$network$rather$than$in$intermediary$

nodes$–$provided$they$can$be$implemented$"completely$and$correctly"$in$the$end$hosts.

Page 19: The Inverted Web and the Future of the Internet

Browser'applica-ons'(Java,'Ac-veX,'Flash,'HTML5)'talking'to'server'endApoints'(Corba,'XML'Web'Services,'

REST'APIs)

Page 20: The Inverted Web and the Future of the Internet

"provided)they)can)be)implemented)"completely)and)correctly")in)the)

end)hosts."

Page 21: The Inverted Web and the Future of the Internet

REST%APIs%+%HTML5%=%completely%and%correctly

Page 22: The Inverted Web and the Future of the Internet

="The"Inverted"Web

Page 23: The Inverted Web and the Future of the Internet

History(of(the(Inverted(Web• Java%Applets

• Ac-veX%Controls

• Shockwave

• Flash

...and%back%to%JavaScript%and%HTML5

Page 24: The Inverted Web and the Future of the Internet

WHY$NOW?

Page 25: The Inverted Web and the Future of the Internet

HTML5&>&90%&coverage&of&users

Page 26: The Inverted Web and the Future of the Internet

Mobile'forcing'a'rewrite'of'the'web.

Page 27: The Inverted Web and the Future of the Internet

UX#forcing#a#rewrite#of#the#web.

Page 28: The Inverted Web and the Future of the Internet

An#unbelievably#robust#JavaScript#ecosystem.

Page 29: The Inverted Web and the Future of the Internet

and$we$finally$enter$the$era$of$the$inverted$web...

Page 30: The Inverted Web and the Future of the Internet
Page 31: The Inverted Web and the Future of the Internet
Page 32: The Inverted Web and the Future of the Internet

Disentanglement

Styling()CSS

Structure'(HTML

Behaviour*+JavaScript

Data$%REST%API

Page 33: The Inverted Web and the Future of the Internet

Dependencies)are)limited)to)adjacent)layers,)with)Structure)and)Styling)being)largely)independent)of)

Data.

Page 34: The Inverted Web and the Future of the Internet

Transla'on:*We*can*architect*and*engineer*the*front2end.

Page 35: The Inverted Web and the Future of the Internet
Page 36: The Inverted Web and the Future of the Internet
Page 37: The Inverted Web and the Future of the Internet
Page 38: The Inverted Web and the Future of the Internet
Page 39: The Inverted Web and the Future of the Internet
Page 40: The Inverted Web and the Future of the Internet

Client'Side*Architecture*is*the*Cri1cal*Piece

It's%about%Client/Side%Applica5ons,%NOT%the%MEAN%stack

Page 41: The Inverted Web and the Future of the Internet
Page 42: The Inverted Web and the Future of the Internet
Page 43: The Inverted Web and the Future of the Internet
Page 44: The Inverted Web and the Future of the Internet
Page 45: The Inverted Web and the Future of the Internet
Page 46: The Inverted Web and the Future of the Internet

The$Inverted$Web$Players• 2010%:%Backbone.js

• 2010%:%AngularJS

• 2011%:%EmberJS

• 2013%:%Polymer

• 2014%:%React

• ?%:%Web%Components

and$REST$APIs.

Page 47: The Inverted Web and the Future of the Internet

Common%Goals%of%Client.Side%JS• modules

• dependency-injec0on

• tes0ng-support

• support-for-REST-and-JSON

Page 48: The Inverted Web and the Future of the Internet

Broader'Engineering'Principles'to'Judge• isola'on)/)decoupling

• encapsula'on)/)cohesion

• clarity)of)applica'on)state?

• ease)of)repurposing

• expressiveness

• how)easy)to)reason)about)code?

Page 49: The Inverted Web and the Future of the Internet

Engineering'Principles'Con/nued• scale'up'across'larger'projects?

• scale'up'across'teams?

• fit'with'your'applica6on'domain?

• fit'with'your'team?

Page 50: The Inverted Web and the Future of the Internet

Tradi&onal*web*applica&on*development*was*insane.

Page 51: The Inverted Web and the Future of the Internet

The$Frameworks...

Page 52: The Inverted Web and the Future of the Internet

Backbone

• first&popular&MVC&framework&for&front5JS

• lightweight

• can&work&nicely&with&other&front5end&technology&such&as&React.

Page 53: The Inverted Web and the Future of the Internet

AngularJS

• declara(ve*views*in*HTML*with*direc(ves

• 26way*databinding

• dataflow*architecture

• plain*JSON*and*JS

• deep*tes(ng*support

• dependency*injec(on

• module*system

Page 54: The Inverted Web and the Future of the Internet

EmberJS

• deep%focus%on%state%and%rou/ng

• deep%focus%on%a%canonical%way%of%doing%things

• conven/on%of%configura/on

• Ember%data

• MVC,%modules

Page 55: The Inverted Web and the Future of the Internet

Web$Components

• a#standardized#take#on#extending#HTML#with#components

• the#problem#AngularJS#was#first#built#to#accomplish

• many#years#out#sAll,#but#strong#aCenAon#from#all#the#framework#vendors.

Page 56: The Inverted Web and the Future of the Internet

Polymer

• a#web#component#polyfill

• works#only#on#Chrome#reliably

Page 57: The Inverted Web and the Future of the Internet

React

• a#reac've#view#layer#based#on#a#immutable#virtual#DOM

• an#other#approach#to#state#management

• makes#it#easier#to#reason#about#state#in#the#view#layer

• most#apps#don't#need#this

Page 58: The Inverted Web and the Future of the Internet

Vue.js

• an$event$model$that$handles$complete$state$interac2ons$across$mul2ple$components$in$a$UI

Page 59: The Inverted Web and the Future of the Internet

THE$BUSINESS$CASE

Page 60: The Inverted Web and the Future of the Internet

A"perfect"storm...

1. mobile

2. UX

3. Lean0development

4. technology0:0HTML50>095%0of0clients

5. ecosystem0:0rapid0innovaEon0and0new0frameworks

Page 61: The Inverted Web and the Future of the Internet

Clear&benefits...• faster(to(develop

• improved(UX

• agile:(easier(to(repurpose(and(change

• mobile(friendly

Page 62: The Inverted Web and the Future of the Internet

Serious(risks...• a#radical#switch#in#architecture

• a#radical#switch#in#development#process#(tes5ng,#agile,#func5onal)

• a#radical#switch#in#responsibility<#the#middle#stack#developer

Page 63: The Inverted Web and the Future of the Internet

Nick%Van%WeerdenburgCEO/Founder,of,rangle.io

@n1cholasvEmail:'[email protected]

h"p://rangle.io

Twi$er:(@rangleioBlog:(h$p://rangle.io/blog

Subscribe)to)our)newsle/er)on)our)site!