Подтвердить что ты не робот

Является ли Seaside по-прежнему действительным вариантом?

Seaside только что выпустил кандидат на выпуск предстоящей версии 3.0, поэтому он снова появился на моем радаре. Поскольку я сейчас размышляю над тем, какую веб-инфраструктуру использовать для будущего проекта, мне интересно, стоит ли это рассматривать. Увы, большая часть рекламы для Seaside - от '07, что, вероятно, одно или два поколения для Интернета. Поэтому я надеюсь, что сообщество может ответить на некоторые вопросы.

  • Структуры, основанные на продолжении, были очень хороши, когда большая часть вашего рабочего процесса была в основном в HTML, например. формы. На сегодняшний день среда с тяжелыми характеристиками JavaScript, которая вряд ли кажется стоящей больше.

  • Может ли Squeak обрабатывать разумную рабочую нагрузку? Из других вопросов здесь и в других местах, кажется, что для правильного масштабирования другая реализация (Gemstone и т.д.), Вероятно, будет лучше работать в долгосрочной перспективе, но у меня нет правильного представления о том, как далеко это. Сессии кажутся довольно дорогими.

  • Я знаю, что сравнения трудны, но большинство статей, которые вы найдете в сети Set Seaside и Rails бок о бок. Каким образом вместо таких комбинаций, как Scala/Lift, Clojure/Compojure или Erlang/Nitrogen?

4b9b3361

Ответ 1

У меня есть ответы на вопрос один-два:

  • Это верно. Однако, поскольку версия 2.8 Seaside больше не является строго "основанной на продолжении". Приморье использует продолжения только в модуле потока. Начиная с Seaside 3.0, модуль потока даже необязателен. Также обратите внимание, что Seaside имеет сильную поддержку Javascript с 2005 года, это задолго до того, как основные платформы начали добавлять функциональность Javascript. Сегодня Seaside поставляется с поддержкой JQuery и JQueryUI.
  • Конечно, это зависит от того, что вы храните в своих объектах сеанса, но обычно сеансы небольшие (менее 20 KiB). Используйте профилировщик памяти в своем приложении, чтобы определить точное потребление памяти.

Ответ 3

В Smalltalk у нас теперь есть три веб-фреймворка, помимо Seaside также

Оба позже эффективно решают трехполюсный поток управления, но без необходимости продолжения. Оба они также имеют очень сильную интеграцию Ajax, на самом деле вы уже не понимаете, что работаете с Ajax.

Оба также хорошо масштабируются в потреблении памяти. 10.000 сеансов тратят 220 МБ в Aida/Web, что составляет около 23 КБ за сеанс, что может быть дополнительно оптимизировано до 400 В на сеанс. Это означает, что вы можете запускать не только, но и множество сайтов с одного изображения Smalltalk. Конечно, вы всегда можете обновить решение для балансировки нагрузки, когда вам действительно нужно. Что из моего опыта очень редко требуется.

Сравнивая с Ruby on Rails, мой друг пожаловался, что сначала ему требуется 50 МБ памяти для каждого сайта интернет-магазина, который он продает. Затем он обратился к решению Aida/Web, где ему нужен примерно один MB для изображения, но затем всего несколько килобайт для каждого дополнительного веб-сайта.

Ответ 4

Я считаю, что производительность работы в среде Smalltalk IDE с хорошим набором абстракций перевешивает все остальные проблемы в проектах, связанных с проектированием. Он хорошо работает как корпоративная система для небольшой компании с примерно 100 (одновременно, но не тяжелыми) пользователями на одном сервере (без перехода на SSD). С 2007 года:

  • Seaside показал, что можно сделать переход от html workflows к javascript;
  • Приморский порт перенесен на множество разных Smalltalks;
  • Посмотрел Gemstone release GLASS;

Новый "cog" vm с улучшенной производительностью был выпущен несколько недель назад и демонстрирует большие перспективы для повышения производительности.

Ответ 5

Ави Брайант, разработчик Seaside, сказал, что AJAX торжествует в почти всех ситуациях. Тем не менее, вы можете создавать достаточно мощные приложения с Seaside и AJAX.

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

Я думаю, что в настоящее время отсутствует встроенная платформа Smalltalk-to-Javascript Seaside, такая как Cappuccino-for-Clamato. Я хотел бы иметь возможность создавать реальные Javascript-приложения с помощью Smalltalk.

Ответ 6

  • Javascript является удивительным, но способность справляться со сложным рабочим процессом в чистом дешевом виде на стороне сервера (как позволяет Seaside) мешает ему устареть. Экономика и полезность - это вещи, которые дают отдачу в краткосрочной и долгосрочной перспективе. Но говорить об этом абстрактно не имеет никакого значения. Вы должны говорить о точном применении и решать, является ли морская сторона частью вашей совокупности конкурентных преимуществ, чтобы сформировать уравнение, которое порождает (и знает почему).
  • Что касается масштабирования рабочей нагрузки с помощью Seaside, то короткий ответ заключается в том, что вы можете масштабировать его, как черт возьми (для долгого ответа проверьте мой ответ здесь: Имеет ли масштаб моря?).
  • слишком неопровержимый мужчина:) rty вариант того, что вы действительно пытаетесь спросить

Я думаю, что лучшее, что вы можете сделать, это прототип чего-то в выходные.

Если вы можете сделать прототип через два дня, и вы можете привлечь некоторое внимание, и вам понравился развивающийся опыт работы с ним, то у вас будет фундамент вашей следующей вещи.

Это стоит только вашего времени (вы можете публиковать на сервере amazon).

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