• Like
  • Save

Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

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

  • 10,353 views
Uploaded on

 

More in: Technology , Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
10,353
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. TM Seaside TM Why should you care? ~ Dynamic Stockholm 2010 ~ Julian Fitzell Cincom Systems Tuesday, November 2, 2010
  • 2. What is Seaside? Tuesday, November 2, 2010
  • 3. TM A web framework Tuesday, November 2, 2010
  • 4. TM applica tion A web^framework Tuesday, November 2, 2010
  • 5. TM applica tion A^web^framework Smallt a lk Tuesday, November 2, 2010
  • 6. TM applica tion A^web^framework hereti cal? Tuesday, November 2, 2010
  • 7. TM applica tion A^web^framework hereti cal? Tuesday, November 2, 2010
  • 8. TM applica tion A web ^ ^framework templa te -free Tuesday, November 2, 2010
  • 9. TM applica tion A web ^ ^framework open-s ou rce Tuesday, November 2, 2010
  • 10. WebObjects Tuesday, November 2, 2010
  • 11. Ruby Tuesday, November 2, 2010
  • 12. Tuesday, November 2, 2010 Photo courtesy of http://www.flickr.com/photos/pragdave/173643703/
  • 13. Tuesday, November 2, 2010 equalizer The web is a language Photo courtesy of http://www.flickr.com/photos/pragdave/173643703/
  • 14. I can’t see anything Photo courtesy of http://www.flickr.com/photos/pragdave/173643703/ wrong. Could you try again? Tuesday, November 2, 2010
  • 15. “Why should I care?” Tuesday, November 2, 2010
  • 16. Programming costs money Tuesday, November 2, 2010
  • 17. Programming costs lots of money Tuesday, November 2, 2010
  • 18. Let’s optimize development Tuesday, November 2, 2010
  • 19. Let’s take away the pain Tuesday, November 2, 2010
  • 20. Let’s focus on the features that make our products truly exceptional Tuesday, November 2, 2010
  • 21. So what’s your pain? Courtesy of stock.xchng user Bubbels Tuesday, November 2, 2010
  • 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> XML Files? <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> Tuesday, November 2, 2010
  • 23. Tag soup? Courtesy of stock.xchng user lusi Tuesday, November 2, 2010
  • 24. Spaghetti Templates? Courtesy of stock.xchng user TouTouke Tuesday, November 2, 2010
  • 25. Waiting for edit, compile, run? Courtesy of stock.xchng user matchstick Tuesday, November 2, 2010
  • 26. Code generation? Courtesy of stock.xchng users wildiexx and sundesigns Tuesday, November 2, 2010
  • 27. Object-Relational Mapping? Courtesy of stock.xchng user theswedish Tuesday, November 2, 2010
  • 28. Passing around IDs? Tuesday, November 2, 2010
  • 29. Security? Courtesy of stock.xchng user lusi Tuesday, November 2, 2010
  • 30. Multi- step Processes? Courtesy of stock.xchng user mexikids Tuesday, November 2, 2010
  • 31. Components Tuesday, November 2, 2010
  • 32. C A B Tuesday, November 2, 2010
  • 33. A B C Tuesday, November 2, 2010
  • 34. New Item Add Tuesday, November 2, 2010
  • 35. A B C Tuesday, November 2, 2010
  • 36. New Item Add Tuesday, November 2, 2010
  • 37. Demo Tuesday, November 2, 2010
  • 38. New Item A B C ? Add Tuesday, November 2, 2010
  • 39. New Item A B C Add New Item Add ? Tuesday, November 2, 2010
  • 40. New Item A B C Add item New Item Add item Tuesday, November 2, 2010
  • 41. a := self request: ‘A number?’. b := self request: ‘Another?’. self inform: a + b Tuesday, November 2, 2010
  • 42. a := self request: ‘A number?’. b := self request: ‘Another?’. self inform: a + b Tuesday, November 2, 2010
  • 43. Demo Tuesday, November 2, 2010
  • 44. Action Web Browser Action Tuesday, November 2, 2010
  • 45. Task Web Browser Task Tuesday, November 2, 2010
  • 46. IO NS AT Task NU Web Browser N TI CO Task Tuesday, November 2, 2010
  • 47. Single Tool-chain Tuesday, November 2, 2010
  • 48. Courtesy of stock.xchng user chux 1 2 “7 Things” 3 4 5 6 7 Tuesday, November 2, 2010
  • 49. In Smalltalk, everything is an object Tuesday, November 2, 2010
  • 50. Seaside + In Smalltalk, everything is an object Tuesday, November 2, 2010
  • 51. Templates aren’t OO Tuesday, November 2, 2010
  • 52. <h1><% print $title %><h1> Tuesday, November 2, 2010
  • 53. html heading: title Tuesday, November 2, 2010
  • 54. ✓ Debugging Tuesday, November 2, 2010
  • 55. ✓ Refactoring Tuesday, November 2, 2010
  • 56. ✓ Callbacks... Tuesday, November 2, 2010
  • 57. <a href=“/deleteItem?id=<% print $item.id%>”>Delete</a> Tuesday, November 2, 2010
  • 58. html anchor callback: [ self delete: item ]; with: ‘Delete’ Tuesday, November 2, 2010
  • 59. Security Courtesy of stock.xchng user julosstock Tuesday, November 2, 2010
  • 60. Cross-site scripting (XSS) © Mark Miller, from morguefile.com Tuesday, November 2, 2010
  • 61. Output is encoded by default Tuesday, November 2, 2010
  • 62. html heading: title Tuesday, November 2, 2010
  • 63. Parameter injection Courtesy of stock.xchng user foxumon Tuesday, November 2, 2010
  • 64. Parameter names are not meaningful Tuesday, November 2, 2010
  • 65. IDs are not passed around Tuesday, November 2, 2010
  • 66. Actions are bound to functions Tuesday, November 2, 2010
  • 67. html anchor callback: [ self delete: item ]; with: ‘Delete’ Tuesday, November 2, 2010
  • 68. If you don’t expose it, your users can’t do it! Tuesday, November 2, 2010
  • 69. Replay attacks Courtesy of stock.xchng user ratnesh Tuesday, November 2, 2010
  • 70. Tuesday, November 2, 2010
  • 71. 6-b it) (9 ess ion S Tuesday, November 2, 2010
  • 72. 6-b it) ge (9 Pa Tuesday, November 2, 2010
  • 73. Tuesday, November 2, 2010
  • 74. Demo Tuesday, November 2, 2010
  • 75. Where can I find out more? Tuesday, November 2, 2010
  • 76. www.seaside.st Tuesday, November 2, 2010
  • 77. Tuesday, November 2, 2010
  • 78. Mailing list Tuesday, November 2, 2010
  • 79. Examples Tuesday, November 2, 2010
  • 80. Tuesday, November 2, 2010
  • 81. Tuesday, November 2, 2010
  • 82. Tuesday, November 2, 2010
  • 83. In business, there is nothing more valuable than a technical advantage your competitors don't understand. – Paul Graham Tuesday, November 2, 2010
  • 84. Julian Fitzell jfitzell@cincom.com blog.fitzell.ca Twitter: @jfitzell www.seaside.st Seaside is a trademark of Avi Bryant and Julian Fitzell © 2010 Cincom Systems, Inc. CINCOM and the Quadrant Logo are registered trademarks of Cincom Systems, Inc. © 2009 Julian Fitzell All other trademarks belong to their respective companies. All rights reserved Tuesday, November 2, 2010