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

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

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

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


person Friedrich    schedule 24.03.2009    source источник


Ответы (3)


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

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

person Janko Mivšek    schedule 24.03.2009

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

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

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

Тем не менее, Seaside предлагает много других вещей:

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

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

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

person Julian    schedule 24.03.2009

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

Изменить-

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

person TStamper    schedule 24.03.2009
comment
Вопрос был не в том, что такое Seaside, а в том, чем он отличается от Seaside? - person Chuck; 25.03.2009
comment
это обновление уже было сделано, но по какой-то причине я только что получил минус? - person TStamper; 22.04.2009