Вопрос

Многие языки имеют MicroFrameWorks для написания очень крошечных веб -сайтов или веб -сервисов, таких как колба для Python или Sinatra для Ruby. На скрипе, кажется, нет никаких эквивалентных; Илиад, Seaside и AIDA очень тяжелые, чтобы просто иметь небольшой сервис. Как предпочитает это сделать? Прямо вводить Hanlder в Comanche или Swazoo?

Это было полезно?

Решение

Я хотел бы поделиться тем, что, как мне кажется, является более современной информацией (по состоянию на конец 2012 года).

Цинковые компоненты

В настоящее время в Pharo 1.4/2.0 стандарт De-Facto для HTTP Client/Server, по-видимому, является Цинк HTTP -компоненты. Анкет И последняя версия Seaside (3.0) также переключилась на цинк.

Конечно, вы можете использовать цинк напрямую для реализации веб-услуг или обслуживания веб-страниц.

Посмотрите особенно на занятия ZnServer и ищите такие занятия, как Zn*Delegate (как ZnDefaultServerDelegate или же ZnStaticFileServerDelegate)

Приморский отдых

Последние версии Приморский Включите поддержку для Restful Web-Services. Это можно использовать для реализации веб-сервисов или обслуживания веб-страниц. Это довольно просто.

Для получения дополнительной информации посмотрите на главу «Службы отдыха» онлайн -приморская книга. Анкет Эта глава посвящена реализации веб-услуг, но она также работает для веб-страниц.

Ratpack

Мне также рассказали о Ratpack, похожей на синатрой веб-раме, разработанной Тимом Фельгенрефом. Есть два репозитория. Я думаю, что GitHub One более позднее. Глянь сюда:

Эта информация поступает из Подобный вопрос Я опубликовал недавно.

Другие советы

«В этом конкретном случае у меня буквально есть три URL -адреса, которые должны делать вещи через HTTP Post; вот и все».

Для действительно простых случаев, вы можете просто зарегистрироваться в (или подкласс) Httpservice, как SO (из комментария класса, см. Для получения дополнительной информации/параметров):

    (HttpService on: 8080 named: 'Example Http Service')
    onRequestDo: [ :httpRequest | SomeGlobal processRequest: httpRequest ];
    start

Вы также можете использовать чайник. Анкет Teapot - это микро -веб -структура поверх компонентов Zinc HTTP, которая фокусируется на простоте и простоте использования. Это менее 500 строк кода, не считая тестов.

Teapot on
    GET: '/hi' -> 'Bonjour!';
    GET: '/hi/<user>' -> [:req | 'Hello ', (req at: #user)];
    GET: '/say/hi/*' -> (Send message: #greet: to: greeter);
    start.

(ZnEasy get: 'http://localhost:1701/hi/user1') entity string. "Hello user1"

Есть доступные шаблоны усов, выходные трансформаторы, перед фильтрами. Структура хорошо задокументирована.

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

То, что они тяжелые, возможно, просто впечатление и отсутствие лучшей документации об использовании для таких простых веб -сайтов. Кроме того, если вы посмотрите на Framework как Blackbox, которая сложна внутри, но проста внешне, то я бы сказал, что все веб -фреймворки Smalltalk довольно просты по сравнению с другими веб -структурами.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top