В чем разница между Seaside-программированием и другим веб-программированием?

Мне кажется, что основной смысл Seaside в том, что это больше похоже на обычное "настольное" программирование.

Поток управления больше похож на "традиционное" программирование, а не на "веб" программирование. Это правильное впечатление?

Я знаю, что это веб-программирование, но это не похоже на это со стороны программистов. Это выглядит намного больше, чем вождение "настольных" приложений. Это немного проясняет вопрос?

3 ответа

Решение

Ваше впечатление верно. Seaside предназначен для того, что я называю древовидным потоком управления, как это делают приложения для настольных графических интерфейсов. По сравнению с Aida/Web, другой веб-инфраструктурой Smalltalk, которая предназначена для графоподобного потока управления, и это фактически то, что у вас есть в Интернете.

Но древовидный поток управления очень полезен в таких случаях, как диалоги подтверждения, или для всплывающих окон, подобных тем, которые в наши дни очень часто встречаются на Facebook. Вот почему мы также вводим древовидный поток управления в Aida/Web, то есть объединяем оба потока управления вместе.

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

  1. используя продолжения, чтобы вы могли писать многошаговые процессы, которые запрашивают у пользователя информацию
  2. использование блоков (замыканий) для предоставления в вашем коде "обратных вызовов", подобных обработчикам событий, при каждом нажатии на ссылки, отправке форм и т. д.

Эти вещи значительно упрощают определенные задачи веб-разработки, хотя первое из них заканчивается на практике довольно редко.

Приморский предоставляет много других вещей, хотя:

  • Возможность писать веб-приложения в Smalltalk (очень продуктивно и приятно)
  • Композиционные, многоразовые "компоненты"
  • Компоненты могут делегировать другим компонентам, который заменяет только ту часть страницы
  • Простое управление состоянием сеанса и определенным состоянием может быть помечено для отката всякий раз, когда пользователь использует кнопку "Назад", поэтому оно всегда имеет правильное значение при выполнении обратных вызовов
  • Очень хороший Canvas API для программной генерации HTML, JQuery, Scriptaculous
  • Возможность отладки и исправления ошибок в реальном времени на работающем сайте

Большинство из них не являются уникальными для Приморья, но они несколько необычны. Так чем же он отличается от других веб-программ? Вы можете написать в Smalltalk. Вам не нужно мысленно переключать контекст между кодом и языком шаблонов. Вам не нужно беспокоиться об именах полей формы, URL-адресах и т. Д., Если вы не захотите. Вы, вероятно, не будете так сильно ненавидеть веб-программирование, если будете использовать Seaside.

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

Seaside - это фреймворк для разработки веб-приложений, написанных на smalltalk. Что вы подразумеваете под "традиционным" программированием?

Редактировать-

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

Другие вопросы по тегам