nerevar / jmc

JMC - Jaba Mud Client
25 stars 15 forks source link

развитие JMC #73

Open Liscar opened 4 years ago

Liscar commented 4 years ago

Привет! @konelav @nerevar

Я тут поэкспериментировал со стримом мада из jmc и несколько наблюдений:

В идеале конечно в онлайн-клиент как-то портировать, хотя бы на вин-эмуляции и тп Сильно не хватает браузерного онлайн-клиента.

стрим песочница здесь если что: https://www.youtube.com/channel/UCUgAyDm72kgOyKhkQiJOOEA

konelav commented 4 years ago

... не прошло и года (%

На счёт портирования: по-хорошему в JMC надо полностью переделать GUI-часть на кроссплатформенном фреймфорке и выкинуть костыли (wine); изначально закладывалось какое-то подобие разделения логики и интерфейса (ttcoreex/MFC), но со временем всё это тесно переплелось (с этими статусами, треями, дополнительными окнами и т.д.), однако мне всё равно кажется, что разделение сохранилось достаточно комфортное.

Первое что надо сделать -- это определиться с, собственно, заменой MFC. И уже тут всё как-то неоднозначно. Qt и в меньшей степени GTK+ отлично подошли бы, но они убивают всю "легковесность" жабы, без которой вообще не ясно зачем она нужна. Выбор мог бы пасть на FLTK, пожалуй, но он и более трудоёмок, и по легковесности ещё не ясно, что получится.

Во-вторых, кроме GUI/MFC есть в жабе ещё одна часть, намертво прибитая к Windows -- это поддержка скриптов через Microsoft Script Engine. Конечно, есть куча альтернатив типа Lua или открытых реализаций Javascript (сразу несколько на выбор), но они в лучшем случае будут совместимы с "чистыми" скриптами, т.е. не использующими всякие виндовые ActiveX (типа new ActiveXObject("Scripting.FileSystemObject");). Не знаю у кого как, а у меня этого добра в скриптах навалом. Хотя может список разных используемых объектов и невелик, и можно заделать прослоек на каждый, но это ещё надо разбираться.

Ну, это только те проблемы, что я вижу. Сколько там подводных ещё не известно.