Будущее зеркал в Dart

Я разрабатываю приложение в Dart и планирую поддерживать динамически загружаемые плагины. Я не могу сделать это в зеркалах, поскольку они не поддерживают создание экземпляров классов из внешних источников, перечисление классов из внешних файлов и т. д. Планируете ли вы расширить зеркала для поддержки отражений, подобных Java? Спасибо, Скоки.


person Skoky    schedule 15.11.2014    source источник
comment
На самом деле это не платформа для расспросов о планах Dart на будущее, я думаю. И какие-то механизмы отражения Java уже доступны. Я думаю, вы ищете что-то вроде загрузчика классов?   -  person Robert    schedule 15.11.2014
comment
Вы можете сделать это без зеркал. Произвольная загрузка кода выполняется через Isolate.spawnUri(), это может загрузить исходный файл в новый изолят. Связь с кодом плагина в изоляте должна осуществляться через API передачи сообщений. Я бы не стал ждать, пока зеркала будут поддерживать загрузку произвольного кода, поскольку это имеет огромную производительность и последствия для безопасности.   -  person Greg Lowe    schedule 16.11.2014


Ответы (1)


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

В настоящее время вы можете запускать дополнительные изоляты из внешних файлов кода. В настоящее время это неудобно в браузере, потому что изолят в браузере не предоставляет доступ не только к DOM, но и к любому API браузера, что крайне ограничивает. Но насколько я понимаю там планируются доработки или возможно уже ведутся работы.

person Günter Zöchbauer    schedule 15.11.2014
comment
Только что заметил это: spawnDomUri. - person Greg Lowe; 16.11.2014