ce419
play

CE419 Session 1: Fundamentals Web Programming Let's begin with the - PowerPoint PPT Presentation

CE419 Session 1: Fundamentals Web Programming Let's begin with the premise that everything you've known up to this point is wrong. 4 Story of the Web The World Wide Web has gone from never heard of it to cant live without


  1. CE419 Session 1: Fundamentals Web Programming

  2. Let's begin with the premise that everything you've known up to this point is wrong. � 4

  3. Story of the Web • The World Wide Web has gone from “never heard of it” to “can’t live without it” in 25 years. • Let’s take a look at its defining moments. � 5

  4. The Early Years 1989 — 1995 AOL, CompuServe, BBS � 6

  5. Tim Berners-Lee 1989 “Vague but exciting” � 7

  6. Mosaic web browser 1993 1.0 � 8

  7. The Early Web Brands 1994 yahoo.com, match.com � 9

  8. Netscape & Web 1994 Standards � 10

  9. The Biggest Launch in 1995 Software History � 11

  10. From Boom to Bust 1995 — 2000 � 12

  11. The e-Commerce Era 1995 � 13

  12. Google is Born 1997 � 14

  13. Browser Wars 1997 Internet Explorer 5.0 � 15

  14. Napster & File Sharing 1999 � 16

  15. The Dot-Com Crash 2000 The bubble has burst. � 17

  16. People-Powered Web 2000 — 2004 � 18

  17. The Web Speeds Up 2000 First Broadband Access � 19

  18. Social Knowledge 2001 Sharing � 20

  19. The First Social 2003 Networks � 21

  20. Voice & Video Call 2003 Skype � 22

  21. The Pirate Bay 2003 Illegal Downloading � 23

  22. Web 2.0 2004 — 2007 Collaborative Web � 24

  23. The Dawn of Facebook 2004 1.2 billion users now. � 25

  24. Google, Google, Google! 2004 Gmail, Google Maps � 26

  25. Video Moves Online 2005 YouTube � 27

  26. The Twitter Age Begins 2006 Hand cannot erase. � 28

  27. The Mobile Web 2007 — 2010 � 29

  28. Cloud Gets Serious 2007 SaaS � 30

  29. Smartphones Take 2007 Center Stage � 31

  30. First Working Draft of 2008 HTML5 � 32

  31. Photo Sharing 2010 — 2013 Instagram, Pinterest, Selfie � 33

  32. Security & Privacy Today Concerns � 34

  33. It’s huge. � 35

  34. Key Layers of the Internet � 36

  35. Application Architectures • Terminals & Mainframes • Traditional Applications � 37

  36. Client-Server Architecture � 38

  37. � 39

  38. Uniform Resource Locator � 40

  39. Request & Response • http://ce.sharif.edu/courses/40419-1/home/ Request GET /courses/40419-1/home/ HTTP/1.1 Host: ce.sharif.edu HTTP/1.1 200 OK Date: Sun, 01 Feb 2015 07:13:09 GMT Content-Type: text/html <!DOCTYPE html> <html> <head> <title>Welcome to CE419</title> <meta content="i'm bored" /> </head> Response � 41

  40. Request & Response HTTP Protocol HTTP Protocol � 42

  41. Why use web apps? • Only need a HTML-capable browser, everything else is done by the server. • Zero client administration cost. • Access everywhere (with an internet connection) • Instantaneous application updates. � 43

  42. Web Browser A deeper look HTML, CSS, JS � 44

  43. Client Side: HTML The Matrix Plot Thomas Anderson is a computer programmer who maintains a double life as "Neo" the hacker. Another hacker named Trinity contacts Neo and informs him that a man named Morpheus can tell him the meaning of "the Matrix”. Cast Keanu Reeves as Thomas A. Anderson / Neo Laurence Fishburne as Morpheus Production In 1994, the Wachowskis presented the script for the film Assassins to Warner Brothers. � 45

  44. Client Side: HTML <h1>The Matrix</h1> <h2>Plot</h2> <p>Thomas Anderson is a computer programmer who maintains a double life as "Neo" the hacker. Another hacker named <strong>Trinity</strong> contacts Neo and informs him that a man named Morpheus can tell him the meaning of <em>the Matrix</em>.</p> <h2>Cast</h2> <ul> <li>Keanu Reeves as Thomas A. Anderson / Neo</li> <li>Laurence Fishburne as Morpheus</li> </ul> <h2>Production</h2> <p>In 1994, the Wachowskis presented the script for the film Assassins to � 46

  45. Client Side: HTML � 47

  46. Client Side: CSS html { font-family: Georgia; } h1 { color:#00FF00; background:black; font-family:Monaco; } h2 { color: blue; border-bottom: 3px double blue; } � 48

  47. Client Side: CSS � 49

  48. Client Side: Javascript object.onclick = function(){ alert('Why are you clicking?!'); }; � 50

  49. Server Side � 51

  50. Server Side • Programming languages, frameworks, web servers, database engines, cache servers, etc. � 52

  51. Server Side • A computer code that generates a response. def hello_world(request): name = request.GET['name'] return """HTTP/1.1 200 OK Content-Type: text/html Hello, {}""".format(name) � 53

  52. Let’s talk about the course! � 55

  53. Course Structure • Client-side Programming: HTML, CSS, Javascript • Quick Overview of Python Programming Language • Server-side Programming • Django Web Framework • Modern Web Development: Real-time applications • Advanced Databases: MongoDB, Redis • A bunch of advanced topics! � 56

Recommend


More recommend