Каковы основные отличия между: 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.