[Homeros] I: Linux Journal о Luwrain

Michael Pozhidaev msp на altlinux.ru
Ср Июл 8 09:34:13 MSK 2015


"Nikita" writes:

> Огласите весь список, пожалуйста. :-)
> Я явных минусов не вижу.

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

С одной стороны, если пользовательские скрипты будут всего лишь
ещё одним расширением, это не так мало, но с другой, другие
приложения/расширения могут нуждаться в возможности скриптования для
своих собственныхъ задач. Пример - возможность иметь скрипты для
популярных ресурсов, чтобы они в приложении reader убирали бы из
страницы ненужный незрячему человеку декор. Если ядро не будет
предоставлять общие функции скриптования, reader'у придётся таскать свою
собственную инфраструктуру скриптов. 

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

Вообще, над Luwrain тяготеет одна большая неясность - сейчас весь UI
живёт в одном потоке. То есть когда управление переходит в приложения,
оно продолжает жить в том же потоке, что и ядро системы. Плюсы просты -
стабильность и простота реализации. Но нечто подобное является каким-то
хитрым косяком Android'а, где, как я понимаю, народ поплатился особенной
гладкостью отрисовки.  Кто сможет сказать, актуально ли это для нас,
полагая, что гладкость отрисовки UI нам неважна, может взять с полки
пирожок.

При этом с фичей прибить подвисшую операцию в приложении (аналог Ctrl+g
в emacs'е) всё нормально. В отдельный поток мы вынесем вызов
Environment.eventQueue(), и сможем по специальной команде перезапускать
очередь событий в том же наборе запущенных приложений.

> В конце концов, может я хочу скриптом читать/писать конфигурационный
> файл.

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

-- 
Michael Pozhidaev. Tomsk, Russia.
Russian info page: http://www.marigostra.ru/
English info page: http://www.marigostra.com/


Подробная информация о списке рассылки Homeros