5 Steps to Mastering the Art of Seaside

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

    5 Steps to Mastering the Art of Seaside - Presentation Transcript

    1. www.seaside.st www.lukas-renggli.ch
    2. Lukas Renggli Academics PhD Student, University of Bern Industry Independent Software Consultant Communities Core-developer of Seaside Author of Magritte and Pier
    3. Web Application Framework
    4. MIT License
    5. Seaside is different by design
    6. We share as much state as possible
    7. We don’t use meaningful URLs
    8. We don’t use templates
    9. Seaside Applications are written in Smalltalk
    10. 5 Steps to Mastering The Art of Seaside
    11. Agenda Getting Started — 15 min Components — 15 min Callbacks — 15 min Control Flow — 15 min Outlook — 15 min
    12. Getting Started
    13. } Squeak, Seaside, Application } (Platform Independent) Demo VM
    14. Demo
    15. Classes Methods Demo Save & Compile (Command+S) Source Code
    16. Smalltalk Everything is an object Single inheritance Method invokation is late bound Methods are public Instance variables are private
    17. Syntactic Elements Comment \"a lovely comment\" Character $a String 'a nice string' Symbol #something Integer 123 Float 2.718 Array #( 1 2 3 ) Receiver self super Boolean true false Undefined nil
    18. Syntax (I) Temporary Variable | var | Assignment var := aNumber Block Closures [ stmts ... ] [ :arg1 | stmts ... ] [ :arg1 :arg2 | stmts ... ] 1. Unary message receiver doThis 2. Binary message receiver + arg 3. Keyword message receiver doThis: arg receiver doThis: 2 andThat: 1
    19. Syntax (II) Cascade receiver doThis: 123; doThat Statement stmt1. stmt2 stmt1. stmt2. stmt3 Return ^ stmt Parenthesis (stmt)
    20. Demo
    21. Your Turn
    22. Components
    23. We don’t think in pages ...
    24. ..., but in stateful components
    25. Demo
    26. Demo
    27. Widgets
    28. View + Controller
    29. Persistent
    30. WAComponent HelloWorld
    31. Canvas and Brush Source: stock.xchng, Maarten Uilenbroek
    32. CSS Designer
    33. XHTML Developer & Seaside
    34. DSL
    35. HelloWorld renderContentOn: html html render: 'Hello World'
    36. html div id: ‘title’; with: ‘Title’ <div id=”title”>Title</div>
    37. 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>
    38. Your Turn
    39. 3 Interaction
    40. No freaking request parsing
    41. I call you Don’t ask me, Source: stock.xchng, Levi Szekeres
    42. Callbacks
    43. html anchor callback: [ self inform: ‘Hello World’ ]; with: ‘Show Message’
    44. html textInput value: name; callback: [ :value | name := value ]
    45. Callbacks Anchors Form Elements Text Fields Text Area Radio Buttons Check Boxes Selectable List Buttons
    46. 3 Your Turn
    47. Control Flow
    48. Demo
    49. <form action=\"second.html\"> <input type=\"text\" name=\"value1\"> <input type=\"submit\" value=\"OK\"> </form> <form action=\"result.html\"> <form action=\"result.html\"> <input type=\"hidden\" name=\"value1\" value=\"<% value1 %>\"> <input type=\"text\" name=\"value2\"> <input type=\"text\" name=\"value2\"> <input type=\"submit\" value=\"OK\"> <input type=\"submit\" value=\"OK\"> </form> </form> <p> <% value1 + value2 %> </p>
    50. /first /second /result parsing parsing parsing processing processing processing value1, value2 formatting formatting formatting value1 value1 result Web Browser
    51. Who cares about HTTP anyway?
    52. Seaside is different
    53. | value1 value2 | value1 := self request: ‘First Number’. value2 := self request: ‘Second Number’. self inform: value1 asNumber + value2 asNumber.
    54. x := A call: B A B
    55. B answer: A B
    56. x := A
    57. Your Turn
    58. 5 Outlook
    59. Web 2.0
    60. ✓ XHTML
    61. ✓ CSS
    62. ✓ RSS
    63. AJAX Source: Flickr, Benjamin Jackson
    64. Tight, but optional integration
    65. Feature complete and up-to-date
    66. Say it in Smalltalk
    67. Demo
    68. Comet Source: Flickr, psrman's
    69. Server Push
    70. Demo
    71. Applications
    72. In productive use since 2002
    73. Demo
    74. Demo
    75. Demo
    76. Demo
    77. Demo http://www.seasidehosting.st
    78. Did you notice?
    79. Web applications
    80. No URL fiddling
    81. No request parsing
    82. Development tools at your fingertips
    83. Control flow at ease
    84. www.seaside.st www.lukas-renggli.ch

    + Lukas RenggliLukas Renggli, 3 years ago

    custom

    2858 views, 2 favs, 5 embeds more stats

    Seaside does things differently from what is consid more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 2858
      • 2574 on SlideShare
      • 284 from embeds
    • Comments 0
    • Favorites 2
    • Downloads 134
    Most viewed embeds
    • 272 views on http://www.lukas-renggli.ch
    • 5 views on http://udos.seasidehosting.st
    • 4 views on http://lukas-renggli.ch
    • 2 views on http://www.squidoo.com
    • 1 views on http://64.233.183.104

    more

    All embeds
    • 272 views on http://www.lukas-renggli.ch
    • 5 views on http://udos.seasidehosting.st
    • 4 views on http://lukas-renggli.ch
    • 2 views on http://www.squidoo.com
    • 1 views on http://64.233.183.104

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

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

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories