netapp michael galpin

Post on 07-May-2015

1.205 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Networked ApplicationsAn Emerging Pattern in RIA Development

Who am I?

Michael Galpin

http://fupeg.blogspot.com

eBay -- Application Architecture

Writer -- developerWorks, TSS, JDJ

Traditional Web Applications

Traditional Web Applications

Browser

Traditional Web Applications

Browser

Request

Traditional Web Applications

BrowserServer

Request

Traditional Web Applications

BrowserServer

HTML

Request

Traditional Web Applications

BrowserServer

HTML

Request

Networked Applications

Networked Applications

Browser

Networked Applications

Browser

Request

Networked Applications

Browser

Request Web Server

Networked Applications

Browser

Request Web Server

App

Networked Applications

Browser

Request Web Server

App

Networked Applications

Browser

Request Web Server

App

Networked Applications

Browser

Request Web Server

App

Request

Networked Applications

Browser App Server

Request Web Server

App

Request

Data

Why?

Architecture

Architectureclient server

pres app1998

“Hello World”

Architectureclient server

pres app1998

client serverpres app

2003

“Hello World”

Ajax

Architectureclient server

pres app1998

client serverpres app

2003

client serverpres app

2008?

“Hello World”

Ajax

RIA

Performance(seriously)

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

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

Less (Server)ProcessingLess ServersMore Money

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

Less (Server)ProcessingLess ServersMore Money

More (Client) ProcessingMore Cores

Free! (Thanks Users)

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

Less (Server)ProcessingLess ServersMore Money

More (Client) ProcessingMore Cores

Free! (Thanks Users)

Less Bandwidth More Money

Mobility

Mobility

a.com

a.app

Mobility

a.com

a.app

b.com

a.app

Mobility

a.com

a.app

b.com

a.app

facebook.com

a.app

Mobility

a.com

a.app

b.com

a.app

facebook.com

a.app

a.air

a.app

But What About Ajax?

Ajax?

Ajax?

Browser

Ajax?

Browser

Request

Ajax?

Browser App Server

Request

Ajax?

Browser App Server

Request

Ajax?

Browser App Server

Request

HTML+JS

Ajax?

Browser App Server

Request

HTML+JS

Ajax?

Browser App Server

Request

HTML+JS

XHR

Ajax?

Browser App Server

Request

HTML+JS

XHR

???

Ajax?

Browser App Server

Request

HTML+JS

XHR

HTML?

Ajax?

Browser App Server

Request

HTML+JS

XHR

Data?

Ajax?

Browser App Server

Request

HTML+JS

XHR

Data?

How?

JS Widget Kits

JS Widget Kits

JS Widget Kits

Good

Good

Functional Programming!

Good

Functional Programming!

Frameworks!

Good

Functional Programming!

Frameworks!

Choices!

Bad

Bad

Browsers

Bad

Browsers

DOM APIs

Bad

Browsers

DOM APIs

Mix-n-Match?

Ugly

Ugly

JavaScript is Sloooooow

Ugly

JavaScript is Sloooooow

Cross Domains

Ugly

JavaScript is Sloooooow

Ref Count

Cross Domains

Google Web Toolkit

Google Web Toolkit

Google Web Toolkit

Good

GoodOOP

GoodOOP

Static Typing

GoodOOP

Killer JavaScriptStatic Typing

GoodOOP

Killer JavaScriptStatic Typing

TOOLS

Bad

BadOOP

BadOOP

Static Typing

BadOOP

Killer JavaScript

Static Typing

JavaScript

Flex

Good

Good

MXML

Good

ActionScript

MXML

Good

ActionScript

MXML

Flash Player

Good

ActionScript

MXML

Flash Player

Tools

More Good

More Good

Browser Independence

More Good

Browser Independence

Evolves

More Good

Browser Independence

Evolves

Handsome

More Good

Browser Independence

Evolves

Handsome

Plays Well With Others

Even More Good

Even More Good

Speed

Even More Good

Speed

Mark-Sweep

Even More Good

Speed

Mark-Sweep

crossdomain.xml

Not Good

Not Good$$$

Not Good$$$

Developers, Developers, Developers

Not Good

500 KB

$$$

Developers, Developers, Developers

But What About...

But What About...

But What About...

top related