ФЭНДОМ


Seaside -- это современный фреймворк для разработки веб-приложений на языке Смолток. Seaside представляет веб-приложение как дерево компонентов, где каждый компонент выполняет небольшую локальную задачу.

Главные особенности Править

  • основан на сессиях и компонентах, каждый компонент хранит своё состояние, привязанное к сессии
  • концепция вызов/ответ
  • используются продолжения; например, с каждой показанной страницей связано продолжение, и переход на эту страницу через историю браузера восстанавливает это продолжение.
  • отказ от шаблонов: XHTML код генерируется программно
  • отказ от понятных URL

Достоинства Править

  • поддержка сессий
  • возможность горячей отладки и модификации
  • кнопки Назад/Вперёд работают правильно с минимальными усилиями со стороны разработчика
  • цельное приложение
  • возможность повторного использования компонент
  • расширяемость

Недостатки Править

  • URL привязаны к сессии: по истечению срока сессии они становятся недействительны (есть возможность назначения статических аресов отдельным страницам)
  • отсутствие документации: информацию приходится искать в блогах и списках рассылки

Дополнительные библиотеки Править

  • AJAX (с помощью библиотеки Scriptaculous)
  • Comet
  • Glorp -- ORM для Смолтока
  • набор компонентов ShoreComponents
  • RSRSS -- поддержка RSS
  • SeasideTesting -- поддержка тестов для Seaside

Пример Править

Метод выводит в браузере ссылку, при нажатии на которую пищит динамик сервера.

renderContentOn: html
    html anchor callback: [Smalltalk beep]; text: 'Beep!'

Поддерживаемые диалекты Править

Ссылки Править