Seaside - Web Development As You Like It

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.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    2 Favorites

    Seaside - Web Development As You Like It - Presentation Transcript

    1. Web development, as you it
    2. Lukas Renggli Academics PhD Student, University of Bern Industry Independent Software Consultant Communities Core-developer of Seaside Author of Magritte and Pier
    3. Agenda Natural Flow Reusable Components Secure by Default Web 2.0 Applications
    4. 1 Natural Flow
    5. Demo
    6. <form action=\"second.html\"> <input type=\"text\" name=\"value1\"> <input type=\"submit\" value=\"OK\"> </form>
    7. <form action=\"second.html\"> <input type=\"text\" name=\"value1\"> <input type=\"submit\" value=\"OK\"> </form> <form action=\"result.html\"> <input type=\"text\" name=\"value2\"> <input type=\"submit\" value=\"OK\"> </form>
    8. <form action=\"second.html\"> <input type=\"text\" name=\"value1\"> <input type=\"submit\" value=\"OK\"> </form> <form action=\"result.html\"> <input type=\"text\" name=\"value2\"> <input type=\"submit\" value=\"OK\"> </form> <p> <% value1 + value2 %> </p>
    9. <form action=\"second.html\"> <input type=\"text\" name=\"value1\"> <input type=\"submit\" value=\"OK\"> </form> <form action=\"result.html\"> <input type=\"text\" name=\"value2\"> <input type=\"submit\" value=\"OK\"> </form> <p> <% value1 + value2 %> </p>
    10. <form action=\"second.html\"> <input type=\"text\" name=\"value1\"> <input type=\"submit\" value=\"OK\"> </form> <form action=\"result.html\"> <input type=\"text\" name=\"value2\"> <input type=\"submit\" value=\"OK\"> </form> <p> <% value1 + value2 %> </p>
    11. <form action=\"second.html\"> <input type=\"text\" name=\"value1\"> <input type=\"submit\" value=\"OK\"> </form> <form action=\"result.html\"> <input type=\"text\" name=\"value2\"> <input type=\"submit\" value=\"OK\"> </form> <p> <% value1 + value2 %> </p>
    12. <form action=\"second.html\"> <input type=\"text\" name=\"value1\"> <input type=\"submit\" value=\"OK\"> </form> <form action=\"result.html\"> <input type=\"hidden\" name=\"value1\" value=\"<% value1 %>\"> <input type=\"text\" name=\"value2\"> <input type=\"submit\" value=\"OK\"> </form> <p> <% value1 + value2 %> </p>
    13. <form action=\"second.html\"> <input type=\"text\" name=\"value1\"> <input type=\"submit\" value=\"OK\"> </form> <form action=\"result.html\"> <input type=\"hidden\" name=\"value1\" value=\"<% value1 %>\"> <input type=\"text\" name=\"value2\"> <input type=\"submit\" value=\"OK\"> </form> <p> <% value1 + value2 %> </p>
    14. Web Browser
    15. Web Browser
    16. /first parsing processing formatting Web Browser
    17. /first parsing processing formatting value1 Web Browser
    18. /first /second parsing parsing processing processing formatting formatting value1 value1 Web Browser
    19. /first /second parsing parsing processing processing value1, value2 formatting formatting value1 value1 Web Browser
    20. /first /second /result parsing parsing parsing processing processing processing value1, value2 formatting formatting formatting value1 value1 result Web Browser
    21. Who cares about HTTP anyway?
    22. is different
    23. Concentrate on your application ...
    24. ... no manual request parsing
    25. ... no XML configuration files
    26. 3 user interactions
    27. 3 lines of code
    28. value1 := self request: ‘First Number’.
    29. value1 := self request: ‘First Number’. value2 := self request: ‘Second Number’.
    30. value1 := self request: ‘First Number’. value2 := self request: ‘Second Number’. self inform: value1 + value2.
    31. Demo
    32. Reusable Components
    33. We don’t think in pages ...
    34. ..., but in stateful components
    35. Demo
    36. Demo
    37. Components are c! l !
    38. Reuseable
    39. Model View Controller Model, View, Controller
    40. Persistent
    41. Valid Source: stock.xchng, Al Nakib
    42. CSS Designer
    43. XHTML Developer & Seaside
    44. DRY Don't Repeat Yourself
    45. Domain Specific Language
    46. html div id: ‘title’; with: ‘Title’ <div id=”title”>Title</div>
    47. html div id: ‘list’; with: [ html span class: ‘item’; with: ‘Item 1’. html span class: ‘item’; with: ‘Item 2’ ] <div id=”list”> <span class=”item”>Item 1</span> <span class=”item”>Item 2</span> </div>
    48. Demo
    49. 3 Secure by Default
    50. Cross Site Scripting Source: stock.xchng, Afonso Lima
    51. Output is encoded by default
    52. html text: '<script>alert(''xss'')</script>' &lt;script&gt;alert('xss');&lt;/script&gt;
    53. Replay Attacks Source: stock.xchng, Afonso Lima
    54. Session _s=Ru8ZKgqjy0uDX3kf 96-bit
    55. Page _k=K5EQyqKE 48-bit
    56. Parameter Tampering Source: stock.xchng, Afonso Lima
    57. Names are generated automatically
    58. Names are bound to functions
    59. No manual request parsing
    60. Don’t call Seaside, Seaside will call you Source: stock.xchng, Pawel Zawistowski
    61. html anchor ! callback: [ self inform: ‘Hello World’ ]; ! with: ‘Show Message’ <a href=”/seaside/example1 \" ?_s=Ru8ZKgqjy0uDX3kf \" &_k=K5EQyqKE ! &32”>Show Message</a>
    62. Web 2.0
    63. Source: Flickr, Benjamin Jackson
    64. AJAX Source: Flickr, Benjamin Jackson
    65. Tight, but optional integration
    66. Feature complete and up-to-date
    67. Say it in Smalltalk
    68. Source: Flickr, psrman's
    69. Comet Source: Flickr, psrman's
    70. Demo scriptaculous.seasidehosting.st
    71. 5 Applications
    72. In productive use since 2002
    73. Demo
    74. Seaside
    75. MIT License
    76. www.seaside.st www.lukas-renggli.ch

    + Lukas RenggliLukas Renggli, 2 years ago

    custom

    3001 views, 2 favs, 5 embeds more stats

    Seaside does different to what is considered as bes more

    More Info

    © All Rights Reserved

    Go to text version
    • Total Views 3001
      • 2730 on SlideShare
      • 271 from embeds
    • Comments 0
    • Favorites 2
    • Downloads 71
    Most viewed embeds
    • 263 views on http://www.lukas-renggli.ch
    • 4 views on http://lukas-renggli.ch
    • 2 views on http://udos.seasidehosting.st
    • 1 views on http://www.mensagenspowerpoint.com
    • 1 views on http://www.patric.lukas-renggli.ch

    more

    All embeds
    • 263 views on http://www.lukas-renggli.ch
    • 4 views on http://lukas-renggli.ch
    • 2 views on http://udos.seasidehosting.st
    • 1 views on http://www.mensagenspowerpoint.com
    • 1 views on http://www.patric.lukas-renggli.ch

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as innappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel

    Categories