В чем разница между Seaside-программированием и другим веб-программированием?
Мне кажется, что основной смысл Seaside в том, что это больше похоже на обычное "настольное" программирование.
Поток управления больше похож на "традиционное" программирование, а не на "веб" программирование. Это правильное впечатление?
Я знаю, что это веб-программирование, но это не похоже на это со стороны программистов. Это выглядит намного больше, чем вождение "настольных" приложений. Это немного проясняет вопрос?
3 ответа
Ваше впечатление верно. Seaside предназначен для того, что я называю древовидным потоком управления, как это делают приложения для настольных графических интерфейсов. По сравнению с Aida/Web, другой веб-инфраструктурой Smalltalk, которая предназначена для графоподобного потока управления, и это фактически то, что у вас есть в Интернете.
Но древовидный поток управления очень полезен в таких случаях, как диалоги подтверждения, или для всплывающих окон, подобных тем, которые в наши дни очень часто встречаются на Facebook. Вот почему мы также вводим древовидный поток управления в Aida/Web, то есть объединяем оба потока управления вместе.
Смысл Seaside на самом деле не в том, чтобы быть похожим на программирование на десктопе, хотя он старается избавиться от большей части веб-разработки. Seaside известен двумя вещами, которые вы можете считать "настольными приложениями":
- используя продолжения, чтобы вы могли писать многошаговые процессы, которые запрашивают у пользователя информацию
- использование блоков (замыканий) для предоставления в вашем коде "обратных вызовов", подобных обработчикам событий, при каждом нажатии на ссылки, отправке форм и т. д.
Эти вещи значительно упрощают определенные задачи веб-разработки, хотя первое из них заканчивается на практике довольно редко.
Приморский предоставляет много других вещей, хотя:
- Возможность писать веб-приложения в Smalltalk (очень продуктивно и приятно)
- Композиционные, многоразовые "компоненты"
- Компоненты могут делегировать другим компонентам, который заменяет только ту часть страницы
- Простое управление состоянием сеанса и определенным состоянием может быть помечено для отката всякий раз, когда пользователь использует кнопку "Назад", поэтому оно всегда имеет правильное значение при выполнении обратных вызовов
- Очень хороший Canvas API для программной генерации HTML, JQuery, Scriptaculous
- Возможность отладки и исправления ошибок в реальном времени на работающем сайте
Большинство из них не являются уникальными для Приморья, но они несколько необычны. Так чем же он отличается от других веб-программ? Вы можете написать в Smalltalk. Вам не нужно мысленно переключать контекст между кодом и языком шаблонов. Вам не нужно беспокоиться об именах полей формы, URL-адресах и т. Д., Если вы не захотите. Вы, вероятно, не будете так сильно ненавидеть веб-программирование, если будете использовать Seaside.
Люди могут открыть для себя Seaside из-за его "функций программирования на рабочем столе", но обычно они тусуются по всему остальному.
Seaside - это фреймворк для разработки веб-приложений, написанных на smalltalk. Что вы подразумеваете под "традиционным" программированием?
Редактировать-
Приморская архитектура отличается от того, в которой ее веб-страницы построены как деревья отдельных компонентов с состоянием, каждый из которых инкапсулирует небольшую часть страницы.