1) Dart VM и dart2js не поддерживают генерацию кода во время выполнения.
Одним из способов является создание кода в файл и загрузка его в новый изолятор (также может быть URI данных). Приложение может связываться с сгенерированным кодом, запущенным в другом изоляте, только путем передачи сообщений.
2) Это то, для чего предназначены transformers, но трансформаторы применяются только к dart2js (или пабе в течение времени разработки), но не для запуска кода на стороне сервера Dart VM.
https://github.com/dart-lang/build (в настоящее время только в предварительном просмотре разработчика) может использоваться для генерации кода для браузера и кода на стороне сервера. Это инструмент, который контролирует исходные файлы и обновляет сгенерированный код при изменении исходного файла.
Я вижу. Я подумал о первом подходе. Есть ли у вас какое-либо понимание накладных расходов на изоляцию и сообщение? Я не мог найти много информации об эффективности изоляции, которая была актуальной – spierce7
Я бы предположил, что она намного медленнее, чем передача значений в одном изоляте, но она по-прежнему остается только в памяти, поэтому намного быстрее, чем сетевой запрос , Для получения правильных результатов вам нужно будет сделать некоторые тесты для вашего конкретного случая использования. Я думаю, что это также сильно зависит от типов отправляемых вами ценностей (примитивных значений, карт или списков или экземпляров пользовательского класса или деревьев экземпляров пользовательского класса. –