Your SlideShare is downloading. ×
Seaside - Why should you care? (Dynamic Stockholm 2010)
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

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

10,429

Published on

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

No Downloads
Views
Total Views
10,429
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
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. Seaside Why should you care? ~ Dynamic Stockholm 2010 ~ TM TM Julian Fitzell Cincom Systems Tuesday, November 2, 2010
  • 2. What is Seaside? Tuesday, November 2, 2010
  • 3. A web framework TM Tuesday, November 2, 2010
  • 4. A web framework^ application TM Tuesday, November 2, 2010
  • 5. A web framework^ application ^ Smalltalk TM Tuesday, November 2, 2010
  • 6. A web framework^ application ^ heretical? TM Tuesday, November 2, 2010
  • 7. A web framework^ application ^ heretical? TM Tuesday, November 2, 2010
  • 8. A web framework^ application ^ template-free TM Tuesday, November 2, 2010
  • 9. A web framework^ application ^ open-source TM Tuesday, November 2, 2010
  • 10. WebObjects Tuesday, November 2, 2010
  • 11. Ruby Tuesday, November 2, 2010
  • 12. Photocourtesyofhttp://www.flickr.com/photos/pragdave/173643703/ Tuesday, November 2, 2010
  • 13. The web is a language equalizer Photocourtesyofhttp://www.flickr.com/photos/pragdave/173643703/ Tuesday, November 2, 2010
  • 14. Photocourtesyofhttp://www.flickr.com/photos/pragdave/173643703/ I can’t see anything 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 money lots of 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> <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. 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. Mapping? Object-Relational 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. step Processes? Multi- Courtesy of stock.xchng user mexikids Tuesday, November 2, 2010
  • 31. Components Tuesday, November 2, 2010
  • 32. CBA Tuesday, November 2, 2010
  • 33. CBA 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 Add ? A B C Tuesday, November 2, 2010
  • 39. New Item Add ?New Item Add A B C Tuesday, November 2, 2010
  • 40. New Item Add New Item Add item item A B C 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. ActionAction WebBrowser Tuesday, November 2, 2010
  • 45. WebBrowser TaskTask Tuesday, November 2, 2010
  • 46. WebBrowser TaskTask CONTINUATIONS Tuesday, November 2, 2010
  • 47. Single Tool-chain Tuesday, November 2, 2010
  • 48. “7 Things” Courtesy of stock.xchng user chux 3 21 4 5 6 7 Tuesday, November 2, 2010
  • 49. In Smalltalk, everything is an object Tuesday, November 2, 2010
  • 50. In Smalltalk, everything is an object Seaside+ 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. Session (96-bit) Tuesday, November 2, 2010
  • 72. Page (96-bit) 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 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

×