В чем разница между Seaside-программированием и другим веб-программированием? - PullRequest
10 голосов
/ 24 марта 2009

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

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

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

Ответы [ 3 ]

15 голосов
/ 25 марта 2009

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

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

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

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

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

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

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

9 голосов
/ 25 марта 2009

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

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

1 голос
/ 24 марта 2009

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

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

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

...