LINUX.ORG.RU

Lisp : GUI


0

0

Вопрос про GUI под LISP. Сразу скажу, что на cliki.net был, видел там
гуёв разных. Отсюда вопрос: кто что _реально_ пользует для своих
проектов ? И почему ? Поделитесь плз. впечатлениями.
Хотелось бы такого:
 1. Чтоб в lisp интегрировался хорошо (ну как родной чтоб был).
 2. Не тормоз.
 3. Эстетичен.
 4. Чтоб проект не мёртвый был, а развивался. 

Я вот McCLIM попробовал, вроде ничего, но что-то уж сильно на
примерах у меня тормозит, возможно из-за рук, просто стоит ли его
копать дальше ?

Ну в общем подскажите кто чего может.
anonymous

Я сам пока не писал, но из лежащего на cliki наиболее жизнеспособным показался cells-gtk

mv ★★★★★
()

>1. Чтоб в lisp интегрировался хорошо (ну как родной чтоб был).

Э-э-э, нельзя ли пояснить?

>3. Эстетичен.

Э-э-э, нельзя ли пояснить?

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

 >1. Чтоб в lisp интегрировался хорошо (ну как родной чтоб был). 
 >> Э-э-э, нельзя ли пояснить?

Н-у-у-у, вот Qt (вернее C++), например, для биндингования не очень
подходит, так надо чтоб наоборот...

>3. Эстетичен. 
 Э-э-э, нельзя ли пояснить?

Внешне не страшен...

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

>Н-у-у-у, вот Qt (вернее C++), например, для биндингования не очень подходит, так надо чтоб наоборот...

Еще больше не понял. "Наоборот" -- это куда? Там всего лишь одна привязка к Qt. Остальное либо к Си через FFI, либо без FFI вообще на чистом Common Lisp, либо через сокет. Какой из этих методов, на твой взгляд, как родной и хорошо интегрируется?

>Внешне не страшен...

McCLIM внешне страшен был или нет (с бэкэндом CLX)? А Tk страшен внешне? Мне вот даже Athena нравится, и я не считаю этот тулкит страшным. А вот в твоей фразе "Внешне не страшен..." нет даже намека на предпочтения.

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

> либо без FFI вообще на чистом Common Lisp

Вот. Хотелось бы так. По-моему McCLIM этому удовлетворяет.

Вообще на счёт не страшности и эстетичности - это просто как пожелание. McCLIM, Motif - страшноваты, на мой вкус, но этот критерий только в самую последнюю очередь при прочих равных. Даже лучше так - требование к внешнему виду - ПОХ, аскетичность - нормально.

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

>Вот. Хотелось бы так. По-моему McCLIM этому удовлетворяет.

McCLIM этому удовлетворяет, но только с бэкэндом CLX. А там еще имеются Graphic-Forms, GTK/Cairo, OpenGL, PostScript и т. д. Думаю, этим дело не ограничится. Это все уже через FFI. И большая часть в состоянии альфа, пре-альфа. Хорошо то, что спецификация CLIM II (McCLIM -- это ее свободная реализация) поддерживается такими компаниями, как Franz (http://www.franz.com/support/documentation/6.2/doc/clim-ug.pdf) и LW (http://www.lispworks.com/documentation/lw445/CLIM/html/climguide.htm , этот документ есть и в pdf). Однако хочу предупредить, что в CLIM своя концепция построения GUI, и она может понравиться далеко не всем. Я пока на McCLIM ориентируюсь. Но рекомендовать его не буду. Вопрос вкуса.

А еще есть Garnet, CLUE, CLIE и пр. Это тоже на CLX, но это все уже тоже мертво, по большому счету.

Через сокет есть LTK, например. А там уже можно с Tk играться на тему Tile, чтобы привести его другой, отличный от умолчательного, вид. Еще есть Cells/Tk (http://tilton-technology.com/) , но ты обязательно обрати внимания на лицензии (я просто не смотрел). Он ярый противник GPL и не любит RMS, и при случае его пинает, поэтому я не знаю, какая там лицензия. :)

Остальные варианты -- это биндинги к Gtk и т. п. clg -- более высокоуровневый и развивается. Умеет, говорят, файлы Glade кушать даже; lambda-gtk -- это тупой биндинг к GTK. Развитие lambda-gtk вроде не идет, но то, что есть -- это автоматически сгенеренный биндинг из хидеров GTK. Если чего-то будет не хватать, то вот и будешь развивать :). То есть он подойдет, если будешь ковырять GUI на уровне прямых вызовов.

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

> Я пока на McCLIM ориентируюсь.

Я так понял, ты реально используеш McCLIM в проектах. Можешь, в двух словах, какие у него приемущества/недостатки перед различными биндингами ? И стоит ли использовать ? Посмотрел, вроде, ничего...

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

> Вообще на счёт не страшности и эстетичности - это просто как пожелание.

Дык страшных тулкитов не бывает вообще. Есть либо гломурные либо готишные.

bugmaker ★★★★☆
()

можеш в сторону ltk глянуть, не мертв, ну а остальные критерии в сравнении смотреть надо, зато в использовании довольно прост, хотя у меня опыта пользования других гуев практически небыло

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

>Я так понял, ты реально используеш McCLIM в проектах. Можешь, в двух словах, какие у него приемущества/недостатки перед различными биндингами ? И стоит ли использовать ? Посмотрел, вроде, ничего...

В двух словах будет тяжело. Сейчас я его рассматриваю в рамках proof-of-concept. Пишу world canvas, но еще не закончил. Сейчас еще результатов нет. Использования в реальном крупном приложении нет, только тестовые окошки, отслеживание мышки, меню и пр. Лучше сам почитай. Я не хочу пока брать на себя брать роль адвоката McCLIM. Вот закончу, и тогда можно будет более подробно поговорить. :)

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

> Использования в реальном крупном приложении нет, только тестовые окошки, отслеживание мышки, меню и пр.

А реальных приложениях что пользовал ?

> Вот закончу, и тогда можно будет более подробно поговорить. :)

Новый топик создай тогда :) Опиши потробно плз.

anonymous
()

Пока довольно грустно у CL с GUI. CFFI до сих пор не умеет работать с уникодом. UFFI умеет с utf-8, но гуя на UFFI я не видел, да и callback-ов у него нет. Так что ежели в пакете нет собственной перекодировки - только 256 символов. До кучи - CFFI "не умеет" безымянные callback's. Это то что касается ffi.

С сокетами с одной стороны проще - кодировка не зависит от поддержки ffi. С другой стороны - работа с гуем через сокет, но не на уровне X-ов, а на уровне навороченных виджетов с собственными буферами и т.п. с последующей реализацией всего этого богатства "на уровне языка" - некоторый "оверхед".

Так что "идеологически" (Mc)CLIM мне больше "по нраву", вот только под офтопиком я... :(

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

> CFFI до сих пор не умеет работать с уникодом

Но очень легко встраивается trivial-utf8 (или любая другая юникодная библиотека).

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

> Но очень легко встраивается trivial-utf8 (или любая другая юникодная библиотека).

Ты это не мне - ты это строителям либ на CFFI скажи :)

Да, и одно замечание - сия библиотека не умеет z-строки конвертить - придётся лишний раз "бежать" в поисках нуля.

P.S. Я не о том, что что-то нельзя сделать, я о том, что такие "простые" вещи всё ещё никак не станут стандартными (де-факто).

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

А Lisp вообще в реальных приложениях использовал? То-то же... ;)

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

> Это backend Gtkairo.
Если McCLIM и вправду может так выглядеть, непонятно, зачем разные lambda-gtk пишут...

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