Почему разработка на Java под Android считается «нативной», а на том же Dart нет?

Чем принципиально разработка под Android на Dart отличается от разработки на Java? И там и там же VM-ка.
  • Вопрос задан
  • 1328 просмотров
Пригласить эксперта
Ответы на вопрос 2
Beshere
@Beshere
Разработчик
Dart - это замена Java Script. А Java - это Java, ей на замену Kotlin придумали.
Ответ написан
@tutuborg
1. В Dart нет VM, строго говоря. VM используется в Dart только для отладки. А готовое приложение - компилируется в машинный код, что даже еще ниже и быстрее, чем Java VM.

2. Как бы есть большая разница - Java VM в Android - это основная базовая ведь. Она всегда есть, она всегда запущена, львиная часть приложений работает с этой VM. Если, гипотетически, у вас будет еще какая то другая дополнительная VM, кроме основной VM Андроида только под одно приложение - это и объем приложения при скачивании большой и место в оперативной памяти больше нужно, и на диске место больше потребуется.

3. Ненативностью можно считать ограничения Dart по использованию API. Обычному нативному приложению на Java/Kotlin в Android доступно 99,99% API. Но приложению на Dart сделанному доступны только те API, что или встроены в Dart или под какие реализован слой совместимости (написанный на Java/Kotlin) - а это далеко даже не 80%

Чем принципиально разработка под Android на Dart отличается от разработки на Java?

  1. Hot reload прежде всего
  2. Ну и разделение на два слоя - собственно Dart и куски-бриджи к API (что пишутся на Java/Kotlin)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы