Skip to content

Latest commit

 

History

History
100 lines (63 loc) · 3.98 KB

File metadata and controls

100 lines (63 loc) · 3.98 KB

<!inputFile|path=Chapters/Introduction.md !>

Getting Started

This part shows you how to get a simple Seaside application up and running in less than 15 minutes. If you’re new to Pharo, have a look at the Pharo by Example Seaside Chapter. You can also have a look at the excellent Pharo Mooc http://mooc.pharo.org. Watch the first video and the development session about the counter.

<!inputFile|path=Chapters/01-Pharo/Pharo.md !> % should do a pass for Zinc, redo screenshots <!inputFile|path=Chapters/02-Gemstone/Gemstone.md !>

Gemstone version

% Should add Gemstone chapter

Fundamentals

In this part we will introduce you to the manipulation of basic elements such as texts, anchors and callbacks as well as forms. It presents the notion of brushes that is central to the Seaside API. Understanding these concepts will be fundamental to your use of Seaside.

<!inputFile|path=Chapters/02-RenderingComponents/RenderingComponents.md !> % ready to review and fix figures

<!inputFile|path=Chapters/03-CSS/css.md !> % ready to review and fix figures

<!inputFile|path=Chapters/04-Anchors/anchors.md !>

<!inputFile|path=Chapters/05-Forms/forms.md !>

Using Components

This part describes the core of Seaside: its component model. In Seaside, components are generally designed to have a direct relationship with the state of some part of the underlying model, and to take advantage of their state to change the way they display themselves and interact with the user. The fact that this state is encapsulated locally in the component, rather than stored globally as ``session state'', sets Seaside apart from most other web application development frameworks. For example, a list can be made responsible for holding the currently selected item or a calendar the currently selected date. In fact, you've already started building your applications this way: in the ContactView knew which contact it was editing. Understanding how best to use these stateful components, and how to build interactions between them, allows us to build widgets just as we would for desktop applications.

You have already seen how components can be created and how they can display themselves on the web page. This section will demonstrate how you can have more control over these processes and how components can interact with other components. You will see two forms of interaction. A component can embed content and functionality from other components into its own web page; alternatively, it can call other components, allowing them to take over its web page until they return a result to the main component. Tasks can be used to give more control over these interactions.

You will also see how a pre-defined component can be given different behaviour and appearance to allow it to be re-used in different ways. This reuse is achieved in Seaside via component decoration.

Finally, you will see a discussion of ``Slime'', which despite its name is an extremely useful library to check and validate your Seaside code.

<!inputFile|path=Chapters/06-CallingComponents/callingComponents.md !> <!inputFile|path=Chapters/07-EmbeddingComponents/embeddingComponents.md !> <!inputFile|path=Chapters/08-Tasks/tasks.md !> <!inputFile|path=Chapters/09-Slime/slime.md !>

Seaside in Action

<!inputFile|path=Chapters/04-ASimpleTodoApplication/ASimpleTodoApplication.md !> <!inputFile|path=Chapters/11-Sudoko/sudoko.md !> % I would group the two example together

<!inputFile|path=Chapters/12-Serving/serving.md !> <!inputFile|path=Chapters/13-Sessions/sessions.md !>

<!inputFile|path=Chapters/14-RSS/rss.md !> % We should move it close to the Simple App <!inputFile|path=Chapters/15-REST/rest.md !> <!inputFile|path=Chapters/16-Deploy/deploy.md !>

<!inputFile|path=Chapters/17-JQuery/jquery.md !>

Wish list of new chapter

Willow and more

Bootstrap

MDL

WebSockets