В чем основные различия между: Seaside vs Aida vs Iliad

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

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

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

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


person elviejo79    schedule 09.01.2011    source источник


Ответы (4)


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

Цель: Seaside ориентируется на сложные веб-приложения с упором на возможность повторного использования и продуктивность разработки. Существует автоматическое управление состоянием сеанса и поддержка кнопки «Назад». Две бесплатные онлайн-книги Динамическая веб-разработка с Seaside и Seaside Tutorial содержит документацию.

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

Чистые URL-адреса. Для URL-адресов RESTful вам придется проделать дополнительную работу, но это может стоить того (например, Пирс).

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

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

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

person Lukas Renggli    schedule 09.01.2011

Я могу сказать кое-что об «Илиаде»:

Преимущества: безболезненно обрабатывает AJAX. Для меня это был поворотный момент, который заставил меня переключиться на «Илиаду». Кроме того, он настолько мал и не раздут, что вы можете прочитать весь код за день и понять, как он работает.

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

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

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

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

person Bernat Romagosa    schedule 20.09.2011

И для Aida/Web:

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

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

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

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

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

Для большего:

person Janko Mivšek    schedule 20.09.2011

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

person Stephan Eggermont    schedule 16.01.2011