Миграция с 2.13 на 3.0 в целом:
- Дотти использует коллекции 2.13, поэтому не нужно ничего менять здесь - фактически 2.13 будет настолько близок к 3.0, что сопровождающие решили пропустить 2.14 релиз, который должен был послужить трамплином
- макросы, нужно будет переписать - это самая большая проблема, но у организаторов библиотеки есть время для этого, а некоторые переписывают вещи даже сейчас (см. quill )
- будет мало устаревших, например, пропадет синтаксис
forSome
для экзистенциальных типов (см .: Возможности удаления в документации ) - библиотеки могут нужно расширять себя для поддержки новых вещей (объединение / пересечение / непрозрачные типы), но до тех пор, пока вы не начнете использовать новые вещи в вашем коде, все будет работать, как раньше
- , за исключением того, что старый Scala код должен работать без каких-либо изменений
Scalafix используется на prod даже сейчас, например, Scala Steward может применять миграции при обновлении библиотек. в новую версию.
Scala. js уже поддерживается как бэкэнд Dotty рядом с JVM one.
Недавно Scala Центр занял Scala -native, поэтому следует ожидать, что Scala -распространенная разработка ускорится (она была немного застопорилась), и в конечном итоге она должна появиться в качестве другого поддерживаемого бэкэнда. Я не могу сказать, удастся ли им доставить до выхода Дотти, но я сомневаюсь в этом. На данный момент Scala -native сначала должен получить поддержку 2.12 и / или 2.13. Проследите эту проблему , если вы хотите узнать или спросить о Gitter.
Короче говоря: вам нужно подождать библиотек, которые вы используете, чтобы портировать на Dotty, а затем обновить ваши макросы, если вы написал любой, кроме того, что миграция должна быть довольно простой для JVM и JS backends. Scala native, вероятно, займет больше времени.