Download presentation
Presentation is loading. Please wait.
Published byMegan Hodge Modified over 9 years ago
1
Best and Worst Practices Building RIA from Adobe and Microsoft
2
Contact Josh Holmes RIA Evangelist josh.holmes@microsoft.com joshholmes.com James Ward RIA Evangelist jaward@adobe.com jamesward.com
3
What is by Kushal Das
4
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 Camden http://www.insideria.com/2008/01/what-is-ria-1.html
5
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
6
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
7
Back Button and Refresh Visual Vocabulary State management Browser Sandbox Business Logic in UI Component Level Logic Animation new for Desktop Developersnew for Web Developer What’s different with RIA? Limited Runtime Service Orientation Non-text based layout Hype
8
UbiquityRichnessNext Generation
9
Tour de Flex http://www.adobe.com/devnet/flex/tourdefle x/ http://www.adobe.com/devnet/flex/tourdefle x/
10
http://silverlight.net http://silverlight.net http://cmafest.com/bethisclose http://cmafest.com/bethisclose http://www.iis.net/media/experiencesmoothstr eaming1080p http://www.iis.net/media/experiencesmoothstr eaming1080p http://mscui.net/patientjourneydemonstrator/ http://mscui.net/patientjourneydemonstrator/ http://linqtotwitter.codeplex.com/ http://linqtotwitter.codeplex.com/ http://www.codeplex.com/ http://www.codeplex.com/
15
Taliesin West: Drafting Studio
18
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)
28
..but don’t forget the power users 702010
35
with usability
36
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 secure storing user data in cookies Prevent cross-site forgery Exploits a sites trust for a user
38
“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
45
1.0 minimal Accessibility support We only provide some root “alt” information No focus and keyboard support 2.0 Accessibility greatly improved Full keyboard support Decorate XAML UI elements with Accessibility info Add accessibility to custom controls Accessibility reader support (AT) Accessibility tree exposition for UIA Note - UIA on Windows, OS X does not support accessible plug-ins
49
by Caution MikeCaution Mike
52
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'."); }
56
by billadaybilladay
65
by joeltelling
73
by mikeyexists
77
Best and Worst Practices Building RIA from Adobe and Microsoft
78
Contact Josh Holmes RIA Evangelist josh.holmes@microsoft.com joshholmes.com James Ward RIA Evangelist jaward@adobe.com jamesward.com
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.