1 / 76

Best and Worst Practices Building R IA from Adobe and Microsoft

Best and Worst Practices Building R IA from Adobe and Microsoft. Contact. Josh Holmes RIA Evangelist josh.holmes@microsoft.com joshholmes.com. James Ward RIA Evangelist jaward@adobe.com jamesward.com. What is. by Kushal Das.

genna
Télécharger la présentation

Best and Worst Practices Building R IA from Adobe and Microsoft

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Best and Worst Practices BuildingRIAfrom Adobeand 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 experiencefor 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 siteshave 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 designedand 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? Christian Crumlish http://www.insideria.com/2008/01/what-is-ria-1.html

  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 stateof the program, the data, etc.) back on the application server. • RIAs typically: • run in aweb browser, or do not requiresoftware installation • run locally in a secure environment called a sandbox http://en.wikipedia.org/wiki/Rich_Internet_application

  7. What’s different with RIA? new for Desktop Developers new for Web Developer Browser Sandbox Business Logic in UI Hype Back Button and Refresh Non-text based layout Visual Vocabulary State management Service Orientation Animation Limited Runtime Component Level Logic

  8. Where does RIA Fit? Ubiquity Richness Next Generation Web Supplemented Web Platform Optimized

  9. Flex • Tour de Flex • http://www.adobe.com/devnet/flex/tourdeflex/

  10. Silverlight • http://silverlight.net • http://cmafest.com/bethisclose • http://www.iis.net/media/experiencesmoothstreaming1080p • http://mscui.net/patientjourneydemonstrator/ • http://linqtotwitter.codeplex.com/ • http://www.codeplex.com/

  11. Top 10 Best Practices

  12. 1

  13. Form follows function

  14. Taliesin West: Drafting Studio

  15. Taliesin West: Drafting Studio

  16. MVC

  17. MVP

  18. Head to head… • 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) • 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 

  19. 2

  20. Create a set of design tenets

  21. 3

  22. Use the appropriate level of fidelity

  23. ProtoXAML

  24. Forest for the trees

  25. 4

  26. Build with the customer and user’s input

  27. 5

  28. Build for ease of use … 70 20 10 ..but don’t forget the power users

  29. 6

  30. Plan for concurrency

  31. Optimistic or Pessimistic?

  32. 7

  33. Balance the computing load

  34. 8

  35. Balance security with usability

  36. Understanding Cookies and Cross-Site • 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

  37. Cross Domain Policy Flow

  38. Dos and Don'ts • “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

  39. 9

  40. Build for supportability &maintenance

  41. 10

  42. Remember your user’s context

  43. Are they mobile?

  44. Do they need Accessibility?

  45. What are some of your best practices?

  46. Top 10 Worst Practices

  47. 1

  48. by Caution Mike building web 1.0 sites with web 2.0 tech

  49. 2

  50. Forgetting page refresh

More Related