Overview

1,731 views

Published on

Sheets of a lecture.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,731
On SlideShare
0
From Embeds
0
Number of Embeds
50
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Overview

  1. 1. Technical overview RIA projects RIA projects Raymond van Dongelen, NHL , www.webxy.nl
  2. 2. Characteristics of the web <ul><li>Unbound in space/time: Information provided on the Internet is available every day, around the clock, and around the world </li></ul><ul><li>Anything can be linked. Adding meaning to relations. </li></ul><ul><li>Distributed, non-hierarchical: There is no begin no end and no order. </li></ul>
  3. 3. Initial implementation <ul><li>HTML </li></ul><ul><li>HTTP </li></ul><ul><li>TCP/IP </li></ul>
  4. 4. Problems <ul><li>HTML is static </li></ul><ul><li>Need to change pages, need to automate small problems </li></ul><ul><li>Introduction CGI bin </li></ul><ul><li>Introduction JavaScript client </li></ul><ul><li>Introduction Java/ Flash plugins (plugin hell) </li></ul><ul><li>Gap between the web and good programming </li></ul>
  5. 5. Development problems <ul><li>Many disciplines involved </li></ul><ul><li>Easy to build a prototype, hard to build a working site </li></ul><ul><li>Interface changes frequently </li></ul><ul><li>Browser problems </li></ul><ul><li>Usability problems </li></ul><ul><li>Easy to store data, but how to manage it? </li></ul>
  6. 6. Solutions <ul><li>Find out how the roles should be distributed. </li></ul><ul><li>Find out what should be done in what order. </li></ul><ul><li>Use techniques that are designed to overcome common problems. </li></ul><ul><li>Use techniques that are targeted at professional software developers </li></ul>
  7. 7. What roles in a team? <ul><li>Server programmer </li></ul><ul><li>Client programmer </li></ul><ul><li>Technical lead </li></ul><ul><li>Visual designer </li></ul><ul><li>Information architect </li></ul><ul><li>Business architect </li></ul><ul><li>==> One person can have multiple roles! </li></ul>
  8. 9. Describe the roles <ul><li>Pick a step and describe how the step should be done. </li></ul>
  9. 10. Technical solutions <ul><li>Better usability: Flash (bad tool for developers), Flex, Ajax </li></ul><ul><li>Build faster: Ruby on rails, .Net, J2EE offer advanced data frameworks. </li></ul><ul><li>Build better: Agile development, eXtreme programming e.d. </li></ul>
  10. 11. Relational Databases <ul><li>Good at managing large amounts of data </li></ul><ul><li>Good at managing certain types of relations </li></ul><ul><li>Can become an information graveyard. </li></ul><ul><li>Can be a danger to privacy of users. </li></ul>
  11. 12. Selecting tools <ul><li>A tool or environment should support: </li></ul><ul><li>Working in teams (managing versions, concurrency problems) </li></ul><ul><li>Help find and prevent problems (meaningful errors and warnings, debugging, types) </li></ul><ul><li>Structuring your application in meaningful layers </li></ul><ul><li>Environment is designed to be object-oriented </li></ul><ul><li>Documenting your work </li></ul>
  12. 13. Because <ul><li>You make lots of mistakes </li></ul><ul><li>You are learning and need meaningful feedback to reflect </li></ul><ul><li>You always work in teams </li></ul><ul><li>You create applications that have to be supported </li></ul>
  13. 14. Hall of shame <ul><li>Fortran: DO 5 K = 1. 3 </li></ul><ul><li>Ignoring error construction (php, “on error resume next” basic) </li></ul><ul><li>Include </li></ul><ul><li>functions.php </li></ul>
  14. 15. Example 1 <ul><li>var x = 5; </li></ul><ul><li>var y = “10”; </li></ul><ul><li>var z = x + y; </li></ul><ul><li>trace (z); </li></ul>z = 510 (Type problem!)
  15. 16. Example 2 <ul><li>if (x > 3) { trace (“bla”);} </li></ul><ul><li>else if (x <= 3) {trace (“bla2”);} </li></ul><ul><li>else { trace (“This code is unreachable”);} </li></ul>Why doesn’t the environment give a warning?
  16. 17. How rich is “the rich web” <ul><li>Does not use many senses </li></ul><ul><li>It does not react on the context </li></ul><ul><li>Hard to protect what is your (privacy, security) </li></ul><ul><li>==> We have go a long long way to go </li></ul>

×