An Introduction To Rich Internet Apllications

Post on 14-Dec-2014

8.750 views 2 download

description

This presentation tries to define what an RIA is and explores a generic architecture of a typical RIA platform

Transcript of An Introduction To Rich Internet Apllications

An Introduction to Rich Internet Applications

Mrinal Wadhwahttp://www.mrinalwadhwa.com

What is an RIA ?

in my opinion, its a ...

Rich Internet Application

Rich Internet Application

Rich Internet Application

takes input and processes it to produce valuable output

Rich Internet Application

Rich Internet Application

one or more of the inputs it consumes or outputs it produces live on the network

Rich Internet Application

Rich Internet Application

offers a rich experience to its users

now since most applications we build today, deal with data on the network, a rich user experience is

the key differentiator ...

Rich Experience ?

a user’s feelings while using and after he’s done using an application ...

optimize ...

Satisfaction

SatisfactionContent

SatisfactionContent

Happiness

SatisfactionContent

HappinessExcitement

SatisfactionContent

HappinessExcitement

Fun

SatisfactionContent

HappinessExcitement

FunWin

avoid ...

Disappointment

DisappointmentFrustration

DisappointmentFrustration

Tiredness

DisappointmentFrustration

TirednessBoredom

DisappointmentFrustration

TirednessBoredom

Defeat

DisappointmentFrustration

TirednessBoredom

DefeatAnger

since users experience an application via an interface ...

some modern user interface development technologies have been labeled ...

“RIA Technologies”

but, RIAs are not just about the interface, the whole application defines what a user experiences

google.com is a good example ...

also, using the so called “RIA technologies” is not required, a rich experience can be delivered in any technology

using an RIA technology does not guarantee that what you make with it is an RIA ...

using an RIA technology does not guarantee that what you make with it is an RIA ...

it is very easy to create a frustrating experience for a user even when using these technologies

what RIA technologies do is provide a good set of tools to build and deliver a rich experience

A typical RIA platform ...

Operating System

Operating System

API

the OS exposes some API

Operating System

an RIA runtime uses this API to create some functionality

Runtime

Operating System

typically ...

Runtime

Operating System

runtimes try to be cross platform ..

Runtime

Operating System

and have a small download size ...

Runtime

Operating System

typical functionality provided ...

Runtime

Operating System

a mechanism to do computations ..

Runtime

Computations

Operating System

rendering raster and vector graphics...

Runtime

RenderingComputations

Operating System

a coordinate system and positioning ...

Runtime

PositioningRenderingComputations

Operating System

keyboard, mouse input ...

Runtime

InputPositioningRenderingComputations

Operating System

text input and rendering ..

Runtime

TextInputPositioningRenderingComputations

Operating System

a way for dispatching and listening to events ...

Runtime

EventsTextInputPositioningRenderingComputations

Operating System

animation ...

Runtime

EventsTextInputPositioningRenderingComputations Animation

Operating System

networking with protocols like http, tcp, udp ..

Runtime

EventsTextInputPositioningRenderingComputations Animation Networking

Operating System

audio, video .. input and output

Runtime

EventsTextInputPositioningRenderingComputations Animation Networking

Audio/Video

Operating System

the functionality provided by the runtime forms the superset of what an application can do

Runtime

EventsTextInputPositioningRenderingComputations Animation Networking

Audio/Video

Operating System

you can write applications directly using the runtimes API ...

Runtime

EventsTextInputPositioningRenderingComputations Animation Networking

Audio/Video

Runtime

Operating System

Application Framework

application frameworks make it easier to write applications ...

Runtime

Operating System

Application Framework

typical functionality provided ...

Runtime

Operating System

Application Framework

A language to declaratively define UI

Declarative

Runtime

Operating System

Application Framework

A set of commonly used UI controls ..

Declarative Components

Runtime

Operating System

Application Framework

A framework to build new controls/components ...

Declarative Component FrameworkComponents

Runtime

Operating System

Application Framework

make it easy to layout and manage position of objects ...

Declarative Component FrameworkComponents Layouts

Runtime

Operating System

Application Framework

other higher level network protocols

Declarative Component FrameworkComponents Layouts SOAP/REST

Runtime

Operating System

Application Framework

data management libraries ..

Declarative Component FrameworkComponents Layouts SOAP/REST Collections

Runtime

Operating System

Application Framework

data binding ...

Declarative Component FrameworkComponents Layouts SOAP/REST Collections

Data Binding

Runtime

Operating System

Application Framework

skinning ...

Declarative Component FrameworkComponents Layouts SOAP/REST Collections

Data Binding Skinning

Runtime

Operating System

Application Framework

styling with CSS ..

Declarative Component FrameworkComponents Layouts SOAP/REST Collections

Data Binding Skinning CSS

Runtime

Operating System

Application Framework

Your Application

Flash Platform

Silverlight

JavaFx

HTML5

Some interesting examples ...

http://www.mrinalwadhwa.comhttp://twitter.com/mrinal

Mrinal Wadhwa