Top Banner
Networked Applications An Emerging Pattern in RIA Development
98

Netapp Michael Galpin

May 07, 2015

Download

Technology

rajivmordani
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Netapp Michael Galpin

Networked ApplicationsAn Emerging Pattern in RIA Development

Page 2: Netapp Michael Galpin

Who am I?

Michael Galpin

http://fupeg.blogspot.com

eBay -- Application Architecture

Writer -- developerWorks, TSS, JDJ

Page 3: Netapp Michael Galpin

Traditional Web Applications

Page 4: Netapp Michael Galpin

Traditional Web Applications

Browser

Page 5: Netapp Michael Galpin

Traditional Web Applications

Browser

Request

Page 6: Netapp Michael Galpin

Traditional Web Applications

BrowserServer

Request

Page 7: Netapp Michael Galpin

Traditional Web Applications

BrowserServer

HTML

Request

Page 8: Netapp Michael Galpin

Traditional Web Applications

BrowserServer

HTML

Request

Page 9: Netapp Michael Galpin

Networked Applications

Page 10: Netapp Michael Galpin

Networked Applications

Browser

Page 11: Netapp Michael Galpin

Networked Applications

Browser

Request

Page 12: Netapp Michael Galpin

Networked Applications

Browser

Request Web Server

Page 13: Netapp Michael Galpin

Networked Applications

Browser

Request Web Server

App

Page 14: Netapp Michael Galpin

Networked Applications

Browser

Request Web Server

App

Page 15: Netapp Michael Galpin

Networked Applications

Browser

Request Web Server

App

Page 16: Netapp Michael Galpin

Networked Applications

Browser

Request Web Server

App

Request

Page 17: Netapp Michael Galpin

Networked Applications

Browser App Server

Request Web Server

App

Request

Data

Page 18: Netapp Michael Galpin

Why?

Page 19: Netapp Michael Galpin

Architecture

Page 20: Netapp Michael Galpin

Architectureclient server

pres app1998

“Hello World”

Page 21: Netapp Michael Galpin

Architectureclient server

pres app1998

client serverpres app

2003

“Hello World”

Ajax

Page 22: Netapp Michael Galpin

Architectureclient server

pres app1998

client serverpres app

2003

client serverpres app

2008?

“Hello World”

Ajax

RIA

Page 23: Netapp Michael Galpin

Performance(seriously)

Page 24: Netapp Michael Galpin
Page 25: Netapp Michael Galpin
Page 26: Netapp Michael Galpin

$$$$$$$$$$$$$$

Page 27: Netapp Michael Galpin

$$$$$$$$$$$$$$

Less (Server)ProcessingLess ServersMore Money

Page 28: Netapp Michael Galpin

$$$$$$$$$$$$$$

Less (Server)ProcessingLess ServersMore Money

More (Client) ProcessingMore Cores

Free! (Thanks Users)

Page 29: Netapp Michael Galpin

$$$$$$$$$$$$$$

Less (Server)ProcessingLess ServersMore Money

More (Client) ProcessingMore Cores

Free! (Thanks Users)

Less Bandwidth More Money

Page 30: Netapp Michael Galpin

Mobility

Page 31: Netapp Michael Galpin

Mobility

a.com

a.app

Page 32: Netapp Michael Galpin

Mobility

a.com

a.app

b.com

a.app

Page 33: Netapp Michael Galpin

Mobility

a.com

a.app

b.com

a.app

facebook.com

a.app

Page 34: Netapp Michael Galpin

Mobility

a.com

a.app

b.com

a.app

facebook.com

a.app

a.air

a.app

Page 35: Netapp Michael Galpin

But What About Ajax?

Page 36: Netapp Michael Galpin

Ajax?

Page 37: Netapp Michael Galpin

Ajax?

Browser

Page 38: Netapp Michael Galpin

Ajax?

Browser

Request

Page 39: Netapp Michael Galpin

Ajax?

Browser App Server

Request

Page 40: Netapp Michael Galpin

Ajax?

Browser App Server

Request

Page 41: Netapp Michael Galpin

Ajax?

Browser App Server

Request

HTML+JS

Page 42: Netapp Michael Galpin

Ajax?

Browser App Server

Request

HTML+JS

Page 43: Netapp Michael Galpin

Ajax?

Browser App Server

Request

HTML+JS

XHR

Page 44: Netapp Michael Galpin

Ajax?

Browser App Server

Request

HTML+JS

XHR

???

Page 45: Netapp Michael Galpin

Ajax?

Browser App Server

Request

HTML+JS

XHR

HTML?

Page 46: Netapp Michael Galpin

Ajax?

Browser App Server

Request

HTML+JS

XHR

Data?

Page 47: Netapp Michael Galpin

Ajax?

Browser App Server

Request

HTML+JS

XHR

Data?

Page 48: Netapp Michael Galpin

How?

Page 49: Netapp Michael Galpin

JS Widget Kits

Page 50: Netapp Michael Galpin

JS Widget Kits

Page 51: Netapp Michael Galpin

JS Widget Kits

Page 52: Netapp Michael Galpin

Good

Page 53: Netapp Michael Galpin

Good

Functional Programming!

Page 54: Netapp Michael Galpin

Good

Functional Programming!

Frameworks!

Page 55: Netapp Michael Galpin

Good

Functional Programming!

Frameworks!

Choices!

Page 56: Netapp Michael Galpin

Bad

Page 57: Netapp Michael Galpin

Bad

Browsers

Page 58: Netapp Michael Galpin

Bad

Browsers

DOM APIs

Page 59: Netapp Michael Galpin

Bad

Browsers

DOM APIs

Mix-n-Match?

Page 60: Netapp Michael Galpin

Ugly

Page 61: Netapp Michael Galpin

Ugly

JavaScript is Sloooooow

Page 62: Netapp Michael Galpin

Ugly

JavaScript is Sloooooow

Cross Domains

Page 63: Netapp Michael Galpin

Ugly

JavaScript is Sloooooow

Ref Count

Cross Domains

Page 64: Netapp Michael Galpin

Google Web Toolkit

Page 65: Netapp Michael Galpin

Google Web Toolkit

Page 66: Netapp Michael Galpin

Google Web Toolkit

Page 67: Netapp Michael Galpin

Good

Page 68: Netapp Michael Galpin

GoodOOP

Page 69: Netapp Michael Galpin

GoodOOP

Static Typing

Page 70: Netapp Michael Galpin

GoodOOP

Killer JavaScriptStatic Typing

Page 71: Netapp Michael Galpin

GoodOOP

Killer JavaScriptStatic Typing

TOOLS

Page 72: Netapp Michael Galpin

Bad

Page 73: Netapp Michael Galpin

BadOOP

Page 74: Netapp Michael Galpin

BadOOP

Static Typing

Page 75: Netapp Michael Galpin

BadOOP

Killer JavaScript

Static Typing

Page 76: Netapp Michael Galpin

JavaScript

Page 77: Netapp Michael Galpin

Flex

Page 78: Netapp Michael Galpin

Good

Page 79: Netapp Michael Galpin

Good

MXML

Page 80: Netapp Michael Galpin

Good

ActionScript

MXML

Page 81: Netapp Michael Galpin

Good

ActionScript

MXML

Flash Player

Page 82: Netapp Michael Galpin

Good

ActionScript

MXML

Flash Player

Tools

Page 83: Netapp Michael Galpin

More Good

Page 84: Netapp Michael Galpin

More Good

Browser Independence

Page 85: Netapp Michael Galpin

More Good

Browser Independence

Evolves

Page 86: Netapp Michael Galpin

More Good

Browser Independence

Evolves

Handsome

Page 87: Netapp Michael Galpin

More Good

Browser Independence

Evolves

Handsome

Plays Well With Others

Page 88: Netapp Michael Galpin

Even More Good

Page 89: Netapp Michael Galpin

Even More Good

Speed

Page 90: Netapp Michael Galpin

Even More Good

Speed

Mark-Sweep

Page 91: Netapp Michael Galpin

Even More Good

Speed

Mark-Sweep

crossdomain.xml

Page 92: Netapp Michael Galpin

Not Good

Page 93: Netapp Michael Galpin

Not Good$$$

Page 94: Netapp Michael Galpin

Not Good$$$

Developers, Developers, Developers

Page 95: Netapp Michael Galpin

Not Good

500 KB

$$$

Developers, Developers, Developers

Page 96: Netapp Michael Galpin

But What About...

Page 97: Netapp Michael Galpin

But What About...

Page 98: Netapp Michael Galpin

But What About...