Seaside - Why should you care? (OSDC.fr 2010)

1,230 views

Published on

Published in: Technology, Education
5 Comments
1 Like
Statistics
Notes
  • Video is available at http://vimeo.com/17503969
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • elbeho
    Thank you for your work and I'll wait for it.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • I'm working on the video... sorry for the delay.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • It was videoed but I haven't seen it posted yet...
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Is there a video ofthis talk?
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
1,230
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
5
Likes
1
Embeds 0
No embeds

No notes for slide

Seaside - Why should you care? (OSDC.fr 2010)

  1. 1. Seaside Why should you care? TM TM Julian Fitzell Cincom Systems
  2. 2. What is Seaside?
  3. 3. A web framework TM
  4. 4. A web framework^ application TM
  5. 5. A web framework^ application ^ Smalltalk TM
  6. 6. A web framework^ application ^ heretical? TM
  7. 7. A web framework^ application ^ heretical? TM
  8. 8. A web framework^ application ^ template-free TM
  9. 9. A web framework^ application ^ open-source TM
  10. 10. WebObjects
  11. 11. Ruby
  12. 12. Photocourtesyofhttp://www.flickr.com/photos/pragdave/173643703/
  13. 13. The web is a language equalizer Photocourtesyofhttp://www.flickr.com/photos/pragdave/173643703/
  14. 14. Photocourtesyofhttp://www.flickr.com/photos/pragdave/173643703/ I can’t see anything wrong. Could you try again?
  15. 15. “Why should I care?”
  16. 16. Productivity
  17. 17. Productivity gag?
  18. 18. Programming costs money
  19. 19. Programming costs money lots of
  20. 20. Let’s optimize development
  21. 21. Let’s take away the pain
  22. 22. Let’s focus on the features that make our products truly exceptional
  23. 23. In business, there is nothing more valuable than a technical advantage your competitors don't understand. – Paul Graham
  24. 24. So what’s your pain? Courtesy of stock.xchng user Bubbels
  25. 25. <?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> XML Files?
  26. 26. Tag soup? Courtesy of stock.xchng user lusi
  27. 27. Spaghetti Templates? Courtesy of stock.xchng user TouTouke
  28. 28. Waiting for edit, compile, run? Courtesy of stock.xchng user matchstick
  29. 29. Code generation? Courtesy of stock.xchng users wildiexx and sundesigns
  30. 30. Mapping? Object-Relational Courtesy of stock.xchng user theswedish
  31. 31. Passing around IDs?
  32. 32. Security? Courtesy of stock.xchng user lusi
  33. 33. step Processes? Multi- Courtesy of stock.xchng user mexikids
  34. 34. Components
  35. 35. CBA
  36. 36. CBA
  37. 37. New Item Add
  38. 38. A B C
  39. 39. New Item Add
  40. 40. Demo
  41. 41. New Item Add ? A B C
  42. 42. New Item Add ?New Item Add A B C
  43. 43. New Item Add New Item Add item item A B C
  44. 44. a := self request: ‘A number?’. b := self request: ‘Another?’. self inform: a + b
  45. 45. a := self request: ‘A number?’. b := self request: ‘Another?’. self inform: a + b
  46. 46. Demo
  47. 47. ActionAction WebBrowser
  48. 48. WebBrowser TaskTask
  49. 49. WebBrowser TaskTask CONTINUATIONS
  50. 50. Single Tool-chain
  51. 51. “7 Things” Courtesy of stock.xchng user chux 3 21 4 5 6 7
  52. 52. In Smalltalk, everything is an object
  53. 53. In Smalltalk, everything is an object Seaside+
  54. 54. Templates aren’t OO
  55. 55. <h1><% print $title %><h1>
  56. 56. html heading: title
  57. 57. ✓Debugging
  58. 58. Refactoring ✓
  59. 59. Callbacks... ✓
  60. 60. <a href=“/deleteItem?id=<% print $item.id%>”>Delete</a>
  61. 61. html anchor callback: [ self delete: item ]; with: ‘Delete’
  62. 62. Security Courtesy of stock.xchng user julosstock
  63. 63. Cross-site scripting (XSS) © Mark Miller, from morguefile.com
  64. 64. Output is encoded by default
  65. 65. html heading: title
  66. 66. Parameter injection Courtesy of stock.xchng user foxumon
  67. 67. Parameter names are not meaningful
  68. 68. IDs are not passed around
  69. 69. Actions are bound to functions
  70. 70. html anchor callback: [ self delete: item ]; with: ‘Delete’
  71. 71. If you don’t expose it, your users can’t do it!
  72. 72. Replay attacks Courtesy of stock.xchng user ratnesh
  73. 73. Session (96-bit)
  74. 74. Page (96-bit)
  75. 75. Demo
  76. 76. Where can I find out more?
  77. 77. www.seaside.st
  78. 78. Mailing list
  79. 79. Examples
  80. 80. 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

×