LINUX.ORG.RU

Crystal для REST серисов

 , , ,


0

2

Коллеги, добрый день!

Интересует сабж. На сколько пригоден для написания API, в чём оно лучше D/Vibe.d для этого же. Аналогично про Elixir/Phoenix.

Как по производительности? Как по удобству?

Суть проекта - масса большая микросервисов, которые проксируются NodeJS/Moleculer в последствии.

★★

Последнее исправление: silver-bullet-bfg (всего исправлений: 1)

Я знаю контору, которая пару лет назад внедряла crystal экпериментально, но потом отказались из-за проблем с GC. Еще там очень медленная компиляция. Это уже на хеловордах ощущается, и много жалоб читал именно на этот аспект. Ну и язык по-прежнему далек от версии 1 со всеми вытекающими. Сообщество крошечное и предпосылок к росту не видно.

В общем, риски высоки. А так язык приятный, пишется легко и быстро. Фреймворки мне правда совсем не понравились: amber это такой зародыш рельсов т.е. жирный монолит из прошлого века; kemal - синатра на минималках; lucky очень своеобразный и замороченный на типобезопасности и ООП, но пожалуй самый живой из всех. В принципе можно и без фреймворка. Раз уж такая маргинальщина, то в самый раз велосипедить.

bread
()

Нужно что-то ещё менее популярное и пригодное для прода, бери vlang/Pony и тебя никогда не уволят, сам так делаю.

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

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

anonymous
()

Аналогично про Elixir/Phoenix

Для написания API пригоден, для числодробилок не подходит, удобен, по сравнению с D/Vibe.d сказать ничего не могу.

theNamelessOne ★★★★★
()

Crystal довольно приятный язык программирования, особенно если вы знакомы с синтаксисом Ruby. В последние версии завезли параллелизм. Из недостатков это медленная компиляцию, хотя для микросервисив это не должно быть проблемой. С веб-фреймворков можно взять Kemal (https://github.com/kemalcr/kemal), или его форк grip (https://github.com/grkek/grip), который модульный и ориентирован на работу с JSON. Есть пара вменяемых ORM, если вам нужна работа с базой данных.

mamantoha
()

Знаешь, руби даже выгоднее смотрится. Пока во всяком случае. Для руби есть roda, sequel, dry-rb стек и еще тьма обкатанных гемов. С кристалом можно только на стдлибу полагаться, остальное все сырое и сомнительное. С производительностью тоже не все так однозначно. Вот посмотри как кристал проваливает работу с БД. Результаты хуже чем у рубиновых микрофреймворков на пуме. Компиляция это тоже адок. Особенно если работаешь с шаблонами, которые безальтернативно вкомпиливаются в бинарь. Поправил шаблон -> пересобирай весь проект. Еще нет репла, это тоже очень неудобно.

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

Анонимус прав

Спасибо, про roda я забыл. Правда, для меня нужен был Mongoid, т.к. всё же мне нужна MongoDB.

Пока для не тяжеловесных сервисов остановились на Ruby + Rod + Mongoid.

silver-bullet-bfg ★★
() автор топика

А мне нравится elixir. Язык красивый, читаемый, даже питон рядом не стоял. Кстати grabr.io на эликсире написан.

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