Каковы основные отличия между: Seaside vs Aida vs Iliad

В чем разница между тремя инфраструктурами веб-приложений Smalltalk?

Некоторые отправные точки:

  • Что такое сладкое пятно для каждой структуры? в каком случае вы бы использовали один или другой?
  • Каковы их недостатки?
  • У кого есть самые чистые URL-адреса?
  • Как они обрабатывают Ajax?
  • Есть ли у них предпочтение в использовании настойчивости?

Я просто пытаюсь решить, какая структура подходит для каждого типа приложений.

Ответы

Ответ 1

Я могу ответить только на Seaside:

Цель: Приморье нацеливает сложные веб-приложения с упором на возможность повторного использования и повышения производительности. Существует автоматическое управление сеансом сеанса и поддержка кнопки "назад". Две бесплатные онлайн-книги Динамическая веб-разработка с видом на море и Учебник по морскому побережью предоставить документацию.

Слабость: Для URL-адресов RESTful вам нужно выполнить дополнительную работу.

Очистить URL-адреса:. Для URL-адресов RESTful вам нужно выполнить дополнительную работу, но это может быть полезно (например, Pier).

AJAX: В Seaside есть множество библиотек AJAX (jQuery, jQueryUI, Прототип, script.aculo.us,...). Интеграции дают вам полный доступ к этим библиотекам из Smalltalk. Новые библиотеки можно легко интегрировать, например. JQueryWidgetBox.

Постоянство:. Приморье - это структура веб-приложений, а не структура постоянной. Вы можете использовать любое решение для стойкости, которое наилучшим образом подходит вам, например. GemStone, ТОВАРЫ, GLORP,...

Также см. эти другие вопросы/обсуждения по StackOverflow:

Ответ 2

Я могу сказать что-то на стороне Илиады:

Sweet spot (s): Он безболезненно обрабатывает AJAX. Для меня это был поворотный момент, который заставил меня переключиться на Илиаду. Кроме того, он настолько мал и не вздувается, что вы можете прочитать весь код за один день и понять, как он работает.

Слабые стороны: Сообщество также очень мало. Это приводит к отсутствию документации, дополнительных модулей или готовых виджетах. OTOH, небольшие сообщества, как правило, готовы помочь друг другу более охотно, поэтому почти все ваши сомнения могут быть решены путем запроса в списке рассылки.

URL-адреса: Ну, так как все вызовы в Iliad по умолчанию AJAX, URL-адрес остается чистым все время.

Ajax: Да. Бесплатно и по умолчанию. Вы просто #markDirty виджет, и он будет обновляться автоматически. Зависимости так же легко определить, как отправить #addDependantWidget: в виджет, так что когда первый будет помечен как грязный, оба будут обновлены. Кроме того, если у клиента нет браузера, поддерживающего JavaScript, все вызовы автоматически возвращаются к обычным HTTP-запросам.

Стойкость: Нет предпочтений. Поскольку модель отделена от фреймворка (я думаю, что это относится к трем структурам), вы все равно можете следовать тем же рекомендациям, что и для Aida или Seaside.

Ответ 3

И для Aida/Web:

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

Слабые стороны: отсутствие документации, небольшое сообщество

URL-адреса: постоянно очищают URL-адреса REST, так как Aida следует с самого начала: каждый объект домена может иметь свой URL-адрес (также Алан Кей) и объект домена даже может выбрать его URL по умолчанию.

Ajax:. Непрерывно интегрированный, вы больше этого не видите, все просто. Чтобы обновить какой-либо элемент на веб-странице, вы просто вызываете e update. Не нужно знать какой-либо jQuery или какой-либо другой JavaScript. То же самое касается и веб-приложений реального времени. Протокол WebSocket является каналом связи по умолчанию в поддерживаемых браузерах для обмена сообщениями JSON между браузером и сервером Aida.

Стойкость: Постоянное сохранение изображений с автоматическим снимком каждый час включается по умолчанию. Поддержка Gemstone/GLASS обеспечила следующий шаг. Реляционная/другая БД является обязанностью уровня домена, если это необходимо.

Подробнее:

Ответ 4

Для некоторых решений настойчивости для Seaside есть страница . Большинство решений там независимы от Seaside.