Я разрабатываю приложение в Dart и планирую поддерживать динамически загружаемые плагины. Я не могу сделать это в зеркалах, поскольку они не поддерживают создание экземпляров классов из внешних источников, перечисление классов из внешних файлов и т. д. Планируете ли вы расширить зеркала для поддержки отражений, подобных Java? Спасибо, Скоки.
Будущее зеркал в Dart
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
Только что заметил это: spawnDomUri.
- person Greg Lowe; 16.11.2014