LINUX.ORG.RU

ChicagoBoss 0.8.0

 chicagoboss, ,


1

3

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

>>> Подробности

★★★★★

Проверено: maxcom ()
Последнее исправление: Silent (всего исправлений: 3)
Ответ на: комментарий от anonymous

И как на этом можно заработать?

Можно отлично заработать на чем угодно. Лишь бы руки прямые были.

shahid ★★★★★
() автор топика
Ответ на: комментарий от shahid

Согласен, но на мой взгляд фреймворк для web на erlang несёт такую же смысловую нагрузку как фреймворк на с++. Есть и ладно. имхо :-)

Nightmaster
()

а есть какие-либо относительно известные сайты чтобы посмотреть на него в действии

pylin ★★★★★
()
Ответ на: комментарий от static_lab

ну + api странички ) но они просто html файлики. Если они сами не посадили на него, то думаю сайтов тоже не найдется :-)

Nightmaster
()
Ответ на: комментарий от Nightmaster

фреймворк для web на erlang несёт такую же смысловую нагрузку как фреймворк на с++

В сабже код на эрланге писать почти не надо, БОльшая часть erlang-кода автогенеруется собственным препроцессором или просто абстрагирована. DTL-шаблоны компилируются в байт-код для ускорения.

shahid ★★★★★
() автор топика
Последнее исправление: shahid (всего исправлений: 1)

Поддержка WebSockets.
HTTP Streaming (генерация Chunked-ответа).
Возможность обработки запросов по регулярным выражениям.

Да вы что, там целых пару сотен строк на любом языке достаточно написать для поддержки такого чудо-функционала X-D

d9d9 ★★★★
()
Ответ на: комментарий от anonymous

И как на этом можно заработать?

Можете создать на этом фреймворке свой сайт по торговле людьми и героином.

buddhist ★★★★★
()
Ответ на: комментарий от delete83

Как оно в сравнении с ковбоем?

Тормоз. Наши ерлангисты шутят, что это самое тормозное что можно написать на ерланге, но то что цикл разработки быстрее - без вопросов. И сравнение не очень корректное, поскольку чикага - полноценный фрэймворк, а ковбоец - многопоточный сервер с зачатками фреймворка.

iBliss
()
Ответ на: комментарий от tensai_cirno

Наверное есть. Поспрашиваю. Там как бы епархия эрланговцев. Но как будут подтверждения - отпишусь. У нас есть некоторые ставки на эрланг, вот и посмотрим.

iBliss
()
Ответ на: комментарий от pylin

известных хз.

можешь мой заброшенный ныне mybook.guyvernk.com посмотреть.

а вообще MVC + DTL + встренный кейвалью = оче удобно

guyvernk
()
Ответ на: комментарий от iBliss

в чб по умолчанию - mochiweb. хотя можно и другие.

алсо мочивеб содержит много полезных либ

guyvernk
()
Ответ на: комментарий от iBliss

Наши ерлангисты шутят, что это самое тормозное что можно написать на ерланге

Подозреваю, что ваши эрлангисты - неосиляторы туториала, и запускали хелло-ворлд в development-mode без предварительного ./rebar compile. Разница в производительности там в 10-15 раз. Скомпиленный проект выдает в логах время рендера 1-3 мс на страницу, в то время как без компиляции - 40-50 мс.

shahid ★★★★★
() автор топика
Последнее исправление: shahid (всего исправлений: 1)
Ответ на: комментарий от shahid

Можно отлично заработать на чем угодно. Лишь бы руки прямые были.

Прецизионно прямые руки, коими живые люди не обладают.

tailgunner ★★★★★
()
Ответ на: комментарий от shahid

в предыдущей версии не было. добавили для поддержки websockets-же

guyvernk
()
Ответ на: комментарий от iBliss

Сейчас тестирую сабж версии 0.8. Вобщем, для быстрых ответов надо

./rebar compile
./init.sh start

Т.е. просто скомпилить и запустить в development-mode - теперь не катит, нужно запускать в режиме продакшена после сборки. Но это и правильно, имхо.

shahid ★★★★★
() автор топика
Ответ на: комментарий от shahid

скомпилить и запустить в development-mode

Так дев мод только для отладки и нужен, ибо в консольку сыпится лог.

А насчет перекомпиляции - раньше она была нужна только после добавления новых роутов. А так контроллеры на лету перекомпиливались в дев-моде же

guyvernk
()
Ответ на: комментарий от anonymous

Краткий синтаксис, обилие библиотек и фреймворков на все случаи жизни. Плюс, очень высока скорость исполнения даже если полностью отказаться от shared state.

anonymous
()
Ответ на: комментарий от guyvernk

Ну как бы да. Но раньше, если ./rebar compile и сделать init-dev, то с высокой вероятностью запускался продакшен под видом девелопмент-модэ с консолью. И тогда изменения в сорцах не отражались на работе в реал-тайме. А теперь этого нет, всё работает как ожидается.

shahid ★★★★★
() автор топика
Последнее исправление: shahid (всего исправлений: 1)
Ответ на: комментарий от anonymous

покормлю

Краткий синтаксис

Но у эрланга кратче.

обилие библиотек и фреймворков на все случаи жизни

А есть платформы, про которые этого нельзя? Ну кроме ассемблера и брейнфака.

очень высока скорость исполнения ...

... в синтетических тестах. Когда на сайт ляжет нагрузка хотя на n*10^3 запросов в секунду, то начнут всплывать особенности джавы:

- отсутсвие compiled-iolist в компиляторе шаблонов вызовут растущий оверхед на CPU и RAM при рендере оных. Конечно, это решается через java-way: покупкой сервака по-мощнее.

- отсутствие нормальных легковесных потоков. Сейчас конечно кто-то скажет, что есть Akka и целая тележка других костылей. Но зачем юзать костыли, заменяющие собой целую систему, если можно просто использовать другую систему?

shahid ★★★★★
() автор топика

Можно чуть точнее писать про JS? «Привязка» не даёт никакого смысла. Имелось ввиду, что сгенерённый интерфейс не нуждается в JS или что «можно использовать любые популярные JS библиотеки»?

matumba ★★★★★
()
Ответ на: комментарий от matumba

Это значит, что можно сделать все не используя JS. Но никто не мешает его использовать в любом виде.

anonymous
()
Ответ на: покормлю от shahid

что то они как то поломали boss_db

раньше find/3 отрабатывал так же как find/2

а сейчас внезапно

(mybook@localhost)6> boss_db:find(users,[{name,"test"}]).
[{users,"users-1","test",
        "778af09ce0b1760bb0dd0e7abef95984"}]
(mybook@localhost)7> boss_db:find(users,[{name,"test"}],1).
** exception error: no function clause matching
                    proplists:get_value(limit,1,all) (proplists.erl, line 222)
     in function  boss_db:find/3 (src/boss_db.erl, line 88)

guyvernk
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.