76
Building RIA from Adobe and Microsof t

Best And Worst Practices Building Ria with Adobe and Microsoft

Embed Size (px)

DESCRIPTION

Come listen to leading Rich Internet Applications (RIA) experts from Microsoft and Adobe discuss many of the best and worst practices when building RIAs. RIAs provide a similar user experience to traditional desktop applications combined with the ease of deployment of web/browser based applications. This produces a fair amount of confusion because there are a number of potentially conflicting practices depending on whether you approach your RIA as a desktop or a web application. This session dives into the definition of RIA and walks through the best and worst practices that have appeared over and over again. We will explore architectural patterns and practices such as state management, fault tolerance, service composition, communications protocols and message formats and goes into details on how RIAs can be developed using runtime environments such as Adobe AIR or Microsoft Silverlight. For more read our blogs at http://www.jamesward.com http://www.joshholmes.com

Citation preview

Page 1: Best And Worst Practices Building Ria with Adobe and Microsoft

Best and Worst Practices Building

RIAfrom

Adobe and

Microsoft

Page 2: Best And Worst Practices Building Ria with Adobe and Microsoft

ContactJosh HolmesRIA [email protected]

James WardRIA [email protected]

Page 3: Best And Worst Practices Building Ria with Adobe and Microsoft

What is

by Kushal Das

Page 4: Best And Worst Practices Building Ria with Adobe and Microsoft

RIA for me is all about expanding the experience for the user. Those "gray beards" amongst us remember the old days of just being happy seeing plain, static text show up in the browser. We've come a long way since then. While dynamic web sites have pushed us way beyond the simple pages of the old days, RIA is helping us now provide the same level of dynamic interaction on the client side as well. I think this is wonderful as it improves the entire process (server and client)!

While we have a great opportunity here to help users, the challenge is to not actually make things more difficult. Like any new feature, the web is rife with examples of poorly designed and hard to use applications. It is not enough to learn how to make HTTP requests and change content dynamically, but rather how to do it well in ways that help the user and not scare them off.

Raymond Camdenhttp://www.insideria.com/2008/01/what-is-ria-

1.html

Page 5: Best And Worst Practices Building Ria with Adobe and Microsoft

But the term still begs the question: Rich in what sense? Responsiveness, immediacy, convenience? production values, chrome, animation?

http://www.insideria.com/2008/01/what-is-ria-1.html

Christian Crumlish

Page 6: Best And Worst Practices Building Ria with Adobe and Microsoft

Rich Internet applications (RIA) are web applications that have the features and functionality of traditional desktop applications. RIAs typically transfer the processing necessary for the user interface to the web client but keep the bulk of the data (i.e., maintaining the state of the program, the data, etc.) back on the application server.

RIAs typically:•run in a web browser, or do not require software installation•run locally in a secure environment called a sandbox

http://en.wikipedia.org/wiki/Rich_Internet_application

Page 7: Best And Worst Practices Building Ria with Adobe and Microsoft

Back Button and Refresh Visual VocabularyState management

Browser Sandbox Business Logic in UI

Component Level Logic

Animation

new for Desktop Developers

new for Web Developer

What’s different with RIA?

Limited Runtime

Service Orientation

Non-text based layoutHype

Page 8: Best And Worst Practices Building Ria with Adobe and Microsoft

Ubiquity Richness Next Generation

Page 9: Best And Worst Practices Building Ria with Adobe and Microsoft

Tour de Flexhttp://www.adobe.com/devnet/flex/

tourdeflex/

Page 10: Best And Worst Practices Building Ria with Adobe and Microsoft

http://silverlight.nethttp://cmafest.com/bethisclosehttp://www.iis.net/media/

experiencesmoothstreaming1080phttp://mscui.net/

patientjourneydemonstrator/ http://linqtotwitter.codeplex.com/ http://www.codeplex.com/

Page 11: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 12: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 13: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 14: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 15: Best And Worst Practices Building Ria with Adobe and Microsoft

Taliesin West: Drafting Studio

Page 16: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 17: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 18: Best And Worst Practices Building Ria with Adobe and Microsoft

MVP Pattern View is more loosely

coupled to the model Easier to unit test Usually view to

presenter map one to one

Complex views may have multi presenters 

MVC Pattern Controller are

based on behaviors and can be shared across views

Can be responsible for determining which view to display (Front Controller Pattern)

Page 19: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 20: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 21: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 22: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 23: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 24: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 25: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 26: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 27: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 28: Best And Worst Practices Building Ria with Adobe and Microsoft

..but don’t forget the power users

70 20 10

Page 29: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 30: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 31: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 32: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 33: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 34: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 35: Best And Worst Practices Building Ria with Adobe and Microsoft

with usability

Page 36: Best And Worst Practices Building Ria with Adobe and Microsoft

• Cookies are on a domain level• bar.com cannot access foo.com cookies…• Same domain - http://foo.com  is different

than http://bar.foo.com or http://www.foo.com • Same protocol - http://foo.com is different

than https://foo.com • Same port - http://foo.com is

different than http://foo.com:8080

• foo.com should feel securestoring user data in cookies

• Prevent cross-site forgery• Exploits a sites trust for a user

Page 37: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 38: Best And Worst Practices Building Ria with Adobe and Microsoft

• “Private” services (for your own app)• DO use browser-based authentication • Cookies, HTTP Auth, etc. • DO NOT enable public access via cross-domain policy file

• “Public” services (for 3rd-party apps)• DO NOT use browser-based authentication • DO publish cross-domain policy files • DO use “cross-domain-safe” authentication • E.g. URL signatures

• DO separate public services in their own domain• E.g. api.flickr.com vs. www.flickr.com

Page 39: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 40: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 41: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 42: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 43: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 44: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 45: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 46: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 47: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 48: Best And Worst Practices Building Ria with Adobe and Microsoft

by Caution Mike

Page 49: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 50: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 51: Best And Worst Practices Building Ria with Adobe and Microsoft

private void Application_Startup(object sender, StartupEventArgs e){string startPageParameter = "/StartPage"; if (!e.InitParams.ContainsKey(startPageParameter)) { this.RootVisual = new DefaultStartPage(); } else { switch (e.InitParams[startPageParameter]) { case "DefaultStartPage": this.RootVisual = new DefaultStartPage(); break; case "NonDefaultStartPage": this.RootVisual = new NonDefaultStartPage(); break; default: throw new Exception(

"/StartPage must be 'DefaultStartPage' or 'NonDefaultStartPage'."); } }}

Page 52: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 53: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 54: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 55: Best And Worst Practices Building Ria with Adobe and Microsoft

by billaday

Page 56: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 57: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 58: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 59: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 60: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 61: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 62: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 63: Best And Worst Practices Building Ria with Adobe and Microsoft

by joeltelling

Page 64: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 65: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 66: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 67: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 68: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 69: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 70: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 71: Best And Worst Practices Building Ria with Adobe and Microsoft

by mikeyexists

Page 72: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 73: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 74: Best And Worst Practices Building Ria with Adobe and Microsoft
Page 75: Best And Worst Practices Building Ria with Adobe and Microsoft

Best and Worst Practices Building

RIAfrom

Adobe and

Microsoft

Page 76: Best And Worst Practices Building Ria with Adobe and Microsoft

ContactJosh HolmesRIA [email protected]

James WardRIA [email protected]