Seaside — це вільне та відкрите програмне забезпечення для розробки вебзастосунків мовою Smalltalk. Складається з набору Smalltalk класів. Розробник може використовувати ці класи, а також розширювати їх на свій розсуд, для створення високодинамічних вебзастосунків, програм з потенційно складним потоком процесів і взаємодій з користувачем. Seaside робить веброзробку значно легшою, і допомагає будувати прості для розуміння застосунки, які легше обслуговувати.
Seaside-застосунки будуються на основі поєднання незалежних компонент. Кожна компонента відповідає за власні візуалізацію, стан і потік процесів. Seaside дозволяє вільно поєднувати такі компоненти, створюючи високорозвинені і динамічні за стосунки. Найбільш вагомою рисою є те, що потік керування застосунку написаний звичайним Smalltalk.
Seaside часто описується як фреймворк-єретик, бо він справді відрізняється від інших. Наприклад, він не використовує шаблонів чи ретельно підібраних URL-адрес з чіткою і зрозумілим вмістом. Seaside не слідує REST за замовчуванням (Representational State Transfer, «передача стану подання» — підхід до архітектури мережевих протоколів, які забезпечують доступ до інформаційних ресурсів).
В Seaside URL-адреси зберігають ключову інформацію сесії. Їх вміст генерується автоматично з певним кодуванням. Якщо потрібні URL-адреси з чітким і зрозумілим вмістом, то їх потрібно створити та передати.
При використанні шаблонних систем (PHP, JSP, ASP, ColdFusion, і т. д.), логічна складова розкидана по багатьох файлах, що створює складність у підтримці додатку. Повторне використання (якщо таке взагалі можливе) часто ґрунтується на копіюванні файлів. Філософія шаблонних систем полягає у розподіленні обов'язків дизайнерів та програмістів. Це хороша ідея, що також підтримується Seaside. CSS використовується дизайнерами для опису зовнішнього вигляду компоненти, а розробники мають можливість програмно генерувати коректну XHTML розмітку.
Seaside легко вивчати і використовувати. Для прикладу, JSF (JavaServer Faces) вимагає від розробника знання таких технологій як Servlets, XML, JSP, конфігурація навігації за допомогою faces.config файлів і т. д. У Seaside розробник повинен знати тільки Smalltalk, який набагато компактніший і простіший для вивчення ніж, наприклад, Java. Seaside дозволяє сконцентруватися на поточній проблемі, а не на поєднанні технологій. Також Seaside забезпечує генерацію коректного XHTML коду.
Таким чином, деякі аспекти дизайну Seaside відрізняються від більшості основних фреймворків для вебзастосунків. У Seaside
У сукупності ці особливості роблять роботу з Seaside майже аналогічною до написання десктопної програми, і навіть простішою, бо сервер забезпечує велику частину деталей роботи вебзастосунку.
Seaside підтримує Ajax завдяки інтеграції з script.aculo.us і jQuery. Seaside також підтримує Comet-стиль сервер-push технології (модель роботи, яка дозволяє реалізувати постійне HTTP-з'єднання і дає можливість відправляти дані з сервера за його ініціативою без додаткового запиту клієнта).
Для побудови та налаштування тегів можна використати каскадні повідомлення Smalltalk, коли декілька повідомлень надходять до одного отримувача (тегу). Кожне таке повідомлення встановлює певні параметри тегу. Наприклад, щоб створити заголовок 3го рівня в Seaside:
html heading level: 3; with: 'A third level heading'.
Що відповідає наступному HTML коду:
<h3>A third level heading</h3>
Наступні сайти створені з допомогою фреймворка Seaside:
Також відомо, що Seaside використовується в багатьох інтернет-додатках. Але це, зазвичай, непомітно. Адже, переглядаючи джерело сторінки ми бачимо лише те, що підключається певний скрипт, а його коду ми не бачимо.