Jump to content

Приморский (программное обеспечение)

(Перенаправлено с веб-фреймворка Seaside )
Приморский
Разработчик(и) Приморская команда [ 1 ]
Первоначальный выпуск 2002 год ; 22 года назад ( 2002 )
Стабильная версия
3.5.5 / 8 октября 2023 г .; 11 месяцев назад ( 08.10.2023 ) [ 2 ]
Репозиторий
Написано в Смолток
Операционная система Кросс-платформенный
Платформа ИА-32 , x86-64 , ARM
Доступно в Английский
Тип Веб-фреймворк
Лицензия С
Веб-сайт www .море .ст  Edit this on Wikidata

Seaside , аббревиатура, которая расшифровывается как «Squeak Enterprise Aubergines Server с интегрированной средой разработки», — это компьютерное программное обеспечение , веб-фреймворк для разработки веб-приложений на языке программирования Smalltalk . Он распространяется как бесплатное программное обеспечение с открытым исходным кодом под лицензией MIT .

Seaside предоставляет компонентную архитектуру, в которой веб-страницы строятся в виде деревьев отдельных компонентов с отслеживанием состояния , каждый из которых инкапсулирует небольшую часть страницы. Seaside использует продолжения для моделирования нескольких независимых потоков между различными компонентами. [ 3 ] Таким образом, это веб-фреймворк, основанный на продолжении. [ 4 ] основан на возможности манипулировать стеком выполнения некоторых реализаций Smalltalk .

Ключевые особенности

[ редактировать ]

Хотя последующее улучшение обработки состояний в движках JavaScript веб-браузера привело к тому, что сегодня этот аспект менее важен, [ нужна ссылка ] Метод Seaside обработки состояния браузера (через продолжения ) был первоначальным объектом интереса в первые годы после его выпуска в 2002 году. Этот механизм обеспечивает откат и возобновление, решая многие распространенные проблемы, возникающие при запуске веб-приложений, адекватно поддерживая состояние на стороне сервера, даже когда используются кнопки веб-браузера «Назад», «Вперед» или «Обновить». Серверы на основе продолжения дают разработчику возможность поддерживать состояние сервера масштабируемым образом. [ 5 ]

Отличительной особенностью Seaside является интегрированная среда разработки, обеспечивающая доступ к инструментам разработки и поддержку отладки внутри приложения. В режиме разработки на веб-страницу сообщается о необработанных ошибках; разработчики могут получать доступ к коду и состоянию программы и изменять их непосредственно с веб-страницы, что позволяет выполнять процессы выявления и исправления ошибок в интегрированной среде разработки (IDE). [ 6 ]

Приложение Seaside — это набор взаимодействующих компонентов. Каждый из них сохраняет состояние при просмотре страниц и может отображать себя в потоке HTML . Таким образом, легко написать компонент один раз, а затем повторно использовать его в другом месте приложения. Seaside также поддерживает понятие задач, которые позволяют программисту описывать высокоуровневую логику взаимодействия компонентов.

Seaside не ориентирован на шаблоны и не предлагает создание или использование шаблонов HTML; HTML- разметка создается программно. на базе Seaside (Среда управления контентом Pier предлагает синтаксис вики-разметки для шаблонов.) Seaside использует обратные вызовы при замыканиях , чтобы указать действия, которые необходимо предпринять при нажатии на ссылку или отправке формы. Разработчики и пользователи Seaside утверждают, что это помогает обеспечить разделение структуры (разметки) от контента и представления ( каскадные таблицы стилей (CSS)). [ 7 ] Сочетание компонентов, обратных вызовов и замыканий Seaside может значительно сократить семантический разрыв между сложным рабочим процессом и его представлением в коде. [ 8 ]

Seaside поддерживает Ajax посредством интеграции со script.aculo.us и jQuery . Seaside также поддерживает Comet . технологию передачи серверов в стиле [ 9 ] Seaside может работать как с реализациями веб-серверов на основе Smalltalk, так и с другими реализациями, отличными от Smalltalk (Nginx, Apache).

Философия

[ редактировать ]

За последние несколько лет некоторые лучшие практики получили широкое признание в области веб-разработки:

  • Делитесь как можно меньшим количеством состояний.
  • Используйте чистые, тщательно выбранные и содержательные URL-адреса .
  • Используйте шаблоны, чтобы отделить модель от презентации.

Сисайд намеренно нарушает все эти правила. Ави Брайант, тогда работавший в Dabble DB, в 2006 году назвал ее «еретической» структурой, утверждая, что этот осторожный и аргументированный отказ от общепринятых принципов веб-разработки привел к созданию очень эффективной модели разработки веб-приложений. [ 10 ]

Основная разработка Seaside реализована на Pharo Smalltalk. [ 11 ] Существуют порты для других диалектов Smalltalk. Первоначальная разработка Seaside велась на Squeak в начале 2000-х. Мишель Бани реализовал порты на VisualWorks через Seaside версии 2.7; Cincom Systems поддерживает Seaside как часть VisualWorks с начала 2008 года. Компания Instantiations объявила о поддержке Seaside в своей платформе VAST (VA Smalltalk) версии 8.0 в 2009 году. Платформа VAST продолжает поддерживать Seaside в своей последней версии. Эстебан Маринголо сохранил порт 2.8, а также некоторые другие дополнения (например, script.aculo.us ) для Dolphin Smalltalk X6. [ 12 ] Gemstone Systems реализовала порт на Gemstone/S . [ 13 ] Завершен порт версии 2.8 для GemStone, [ 14 ] а предварительная версия 3.0 работает на GNU Smalltalk 3.0a и более поздних версиях. [ 15 ]

Пакет веб-сервера в стандартной библиотеке Racket (язык программирования) использует очень похожую философию, также основанную на продолжениях. [ 16 ]

Проекты с открытым исходным кодом, использующие его

[ редактировать ]

Многие проекты с открытым исходным кодом используют Seaside, вот некоторые из них:

  • Магритт - структура метаописания с тесной интеграцией в Seaside.
  • Pier — система управления контентом и платформа приложений высокого уровня для Seaside.
  • Проект АДК

Собственные проекты, использующие его

[ редактировать ]

Многие собственные проекты используют Seaside, вот некоторые из них:

См. также

[ редактировать ]
  1. ^ Приморская команда
  2. ^ «Выпуски · SeasideSt/Seaside» . Гитхаб .
  3. ^ Seaside - платформа веб-приложений с множественным потоком управления
  4. ^ IBM DeveloperWorks: Пересечение границ: продолжение, веб-разработка, программирование на Java.
  5. ^ Seaside: гибкая среда для создания динамических веб-приложений
  6. ^ Отладка морских приложений
  7. ^ Ави Брайант объясняет, почему Seaside не использует шаблоны.
  8. ^ Платформы веб-приложений: сравнительное исследование
  9. ^ Скринкаст: Приложение Seaside Comet Chat
  10. ^ « Интернет-ереси: The Seaside Framework», заметки о сессии, OSCON 2006» . Архивировано из оригинала 30 августа 2014 г. {{cite web}}: CS1 maint: bot: исходный статус URL неизвестен ( ссылка )
  11. ^ «В настоящее время на Pharo реализована версия Seaside 2.9, которая служит эталонной реализацией».
  12. ^ Блог Seaside for Dolphin Smalltalk
  13. ^ Приморский2.6г
  14. ^ Приморский 2.8
  15. ^ Работает ли Seaside на GNU Smalltalk , Часто задаваемые вопросы по GNU Smalltalk
  16. ^ «Продолжение: веб-приложения в рэкете» .
  17. ^ Статья Джона Уделла в InfoWorld. Архивировано 12 февраля 2007 г. в Wayback Machine.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 6f6bc9cb96d1aff840155ba0cbe90373__1723897800
URL1:https://arc.ask3.ru/arc/aa/6f/73/6f6bc9cb96d1aff840155ba0cbe90373.html
Заголовок, (Title) документа по адресу, URL1:
Seaside (software) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)