Seaside - Why should you care? (Dynamic Stockholm 2010)

10,814 views

Published on

Published in: Technology, Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
10,814
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Seaside - Why should you care? (Dynamic Stockholm 2010)

  1. 1. Seaside Why should you care? ~ Dynamic Stockholm 2010 ~ TM TM Julian Fitzell Cincom Systems Tuesday, November 2, 2010
  2. 2. What is Seaside? Tuesday, November 2, 2010
  3. 3. A web framework TM Tuesday, November 2, 2010
  4. 4. A web framework^ application TM Tuesday, November 2, 2010
  5. 5. A web framework^ application ^ Smalltalk TM Tuesday, November 2, 2010
  6. 6. A web framework^ application ^ heretical? TM Tuesday, November 2, 2010
  7. 7. A web framework^ application ^ heretical? TM Tuesday, November 2, 2010
  8. 8. A web framework^ application ^ template-free TM Tuesday, November 2, 2010
  9. 9. A web framework^ application ^ open-source TM Tuesday, November 2, 2010
  10. 10. WebObjects Tuesday, November 2, 2010
  11. 11. Ruby Tuesday, November 2, 2010
  12. 12. Photocourtesyofhttp://www.flickr.com/photos/pragdave/173643703/ Tuesday, November 2, 2010
  13. 13. The web is a language equalizer Photocourtesyofhttp://www.flickr.com/photos/pragdave/173643703/ Tuesday, November 2, 2010
  14. 14. Photocourtesyofhttp://www.flickr.com/photos/pragdave/173643703/ I can’t see anything wrong. Could you try again? Tuesday, November 2, 2010
  15. 15. “Why should I care?” Tuesday, November 2, 2010
  16. 16. Programming costs money Tuesday, November 2, 2010
  17. 17. Programming costs money lots of Tuesday, November 2, 2010
  18. 18. Let’s optimize development Tuesday, November 2, 2010
  19. 19. Let’s take away the pain Tuesday, November 2, 2010
  20. 20. Let’s focus on the features that make our products truly exceptional Tuesday, November 2, 2010
  21. 21. So what’s your pain? Courtesy of stock.xchng user Bubbels Tuesday, November 2, 2010
  22. 22. <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="mailreader-support" namespace="/" extends="mailreader-default"> <action name="Tour"> <result>/tour.html</result> <interceptor-ref name="guest"/> </action> <action name="Welcome" class="mailreader2.Welcome"> <result>/Welcome.jsp</result> <interceptor-ref name="guest"/> </action> <action name="Logout" class="mailreader2.Logout"> <result type="redirectAction">Welcome</result> </action> <action name="Login_*" method="{1}" class="mailreader2.Login"> <result name="input">/Login.jsp</result> <result name="cancel" type="redirectAction">Welcome</result> <result type="redirectAction">MainMenu</result> <result name="expired" type="chain">ChangePassword</result> <exception-mapping exception="org.apache.struts.apps.mailreader.dao.ExpiredPasswordException" result="expired"/> <interceptor-ref name="guest"/> </action> <action name="Registration_*" method="{1}" class="mailreader2.Registration"> <result name="input">/Registration.jsp</result> <result type="redirectAction">MainMenu</result> <interceptor-ref name="guest"/> </action> </package> XML Files? Tuesday, November 2, 2010
  23. 23. Tag soup? Courtesy of stock.xchng user lusi Tuesday, November 2, 2010
  24. 24. Spaghetti Templates? Courtesy of stock.xchng user TouTouke Tuesday, November 2, 2010
  25. 25. Waiting for edit, compile, run? Courtesy of stock.xchng user matchstick Tuesday, November 2, 2010
  26. 26. Code generation? Courtesy of stock.xchng users wildiexx and sundesigns Tuesday, November 2, 2010
  27. 27. Mapping? Object-Relational Courtesy of stock.xchng user theswedish Tuesday, November 2, 2010
  28. 28. Passing around IDs? Tuesday, November 2, 2010
  29. 29. Security? Courtesy of stock.xchng user lusi Tuesday, November 2, 2010
  30. 30. step Processes? Multi- Courtesy of stock.xchng user mexikids Tuesday, November 2, 2010
  31. 31. Components Tuesday, November 2, 2010
  32. 32. CBA Tuesday, November 2, 2010
  33. 33. CBA Tuesday, November 2, 2010
  34. 34. New Item Add Tuesday, November 2, 2010
  35. 35. A B C Tuesday, November 2, 2010
  36. 36. New Item Add Tuesday, November 2, 2010
  37. 37. Demo Tuesday, November 2, 2010
  38. 38. New Item Add ? A B C Tuesday, November 2, 2010
  39. 39. New Item Add ?New Item Add A B C Tuesday, November 2, 2010
  40. 40. New Item Add New Item Add item item A B C Tuesday, November 2, 2010
  41. 41. a := self request: ‘A number?’. b := self request: ‘Another?’. self inform: a + b Tuesday, November 2, 2010
  42. 42. a := self request: ‘A number?’. b := self request: ‘Another?’. self inform: a + b Tuesday, November 2, 2010
  43. 43. Demo Tuesday, November 2, 2010
  44. 44. ActionAction WebBrowser Tuesday, November 2, 2010
  45. 45. WebBrowser TaskTask Tuesday, November 2, 2010
  46. 46. WebBrowser TaskTask CONTINUATIONS Tuesday, November 2, 2010
  47. 47. Single Tool-chain Tuesday, November 2, 2010
  48. 48. “7 Things” Courtesy of stock.xchng user chux 3 21 4 5 6 7 Tuesday, November 2, 2010
  49. 49. In Smalltalk, everything is an object Tuesday, November 2, 2010
  50. 50. In Smalltalk, everything is an object Seaside+ Tuesday, November 2, 2010
  51. 51. Templates aren’t OO Tuesday, November 2, 2010
  52. 52. <h1><% print $title %><h1> Tuesday, November 2, 2010
  53. 53. html heading: title Tuesday, November 2, 2010
  54. 54. ✓Debugging Tuesday, November 2, 2010
  55. 55. Refactoring ✓ Tuesday, November 2, 2010
  56. 56. Callbacks... ✓ Tuesday, November 2, 2010
  57. 57. <a href=“/deleteItem?id=<% print $item.id%>”>Delete</a> Tuesday, November 2, 2010
  58. 58. html anchor callback: [ self delete: item ]; with: ‘Delete’ Tuesday, November 2, 2010
  59. 59. Security Courtesy of stock.xchng user julosstock Tuesday, November 2, 2010
  60. 60. Cross-site scripting (XSS) © Mark Miller, from morguefile.com Tuesday, November 2, 2010
  61. 61. Output is encoded by default Tuesday, November 2, 2010
  62. 62. html heading: title Tuesday, November 2, 2010
  63. 63. Parameter injection Courtesy of stock.xchng user foxumon Tuesday, November 2, 2010
  64. 64. Parameter names are not meaningful Tuesday, November 2, 2010
  65. 65. IDs are not passed around Tuesday, November 2, 2010
  66. 66. Actions are bound to functions Tuesday, November 2, 2010
  67. 67. html anchor callback: [ self delete: item ]; with: ‘Delete’ Tuesday, November 2, 2010
  68. 68. If you don’t expose it, your users can’t do it! Tuesday, November 2, 2010
  69. 69. Replay attacks Courtesy of stock.xchng user ratnesh Tuesday, November 2, 2010
  70. 70. Tuesday, November 2, 2010
  71. 71. Session (96-bit) Tuesday, November 2, 2010
  72. 72. Page (96-bit) Tuesday, November 2, 2010
  73. 73. Tuesday, November 2, 2010
  74. 74. Demo Tuesday, November 2, 2010
  75. 75. Where can I find out more? Tuesday, November 2, 2010
  76. 76. www.seaside.st Tuesday, November 2, 2010
  77. 77. Tuesday, November 2, 2010
  78. 78. Mailing list Tuesday, November 2, 2010
  79. 79. Examples Tuesday, November 2, 2010
  80. 80. Tuesday, November 2, 2010
  81. 81. Tuesday, November 2, 2010
  82. 82. Tuesday, November 2, 2010
  83. 83. In business, there is nothing more valuable than a technical advantage your competitors don't understand. – Paul Graham Tuesday, November 2, 2010
  84. 84. Julian Fitzell jfitzell@cincom.com blog.fitzell.ca Twitter: @jfitzell www.seaside.st Seaside is a trademark of Avi Bryant and Julian Fitzell CINCOM and the Quadrant Logo are registered trademarks of Cincom Systems, Inc. All other trademarks belong to their respective companies. © 2010 Cincom Systems, Inc. © 2009 Julian Fitzell All rights reserved Tuesday, November 2, 2010

×