#Java8 #Desugar #D8
Для любителей покапаться в том, что происходит под капотом у тулз, советую обратить внимание на статью от Jake Warton о том как работает Java 8 код на Android
https://jakewharton.com/androids-java-8-support/
Для любителей покапаться в том, что происходит под капотом у тулз, советую обратить внимание на статью от Jake Warton о том как работает Java 8 код на Android
https://jakewharton.com/androids-java-8-support/
#Android #Java #D8
"Android's Java 9, 10, 11, and 12 Support" - Jake Wharton
Печально признавать, но Android всегда оставал в поддержке Java от всего сообщества большого брата. Уже релизнулась Java 11, а мы все наслаждается синтаксическим сахаром от Java 8. С этим все смирились, но что будет если попробовать с помощью D8 обеспечить поддержку синтаксиса Java 9+ на Android?
В своей статье Jake продолжил раскрывать особенности работы Java на Android. По ссылке вы найдете информацию о том на какой стадии находится работа поддержки Java 9, которая уже ведется в AOSP, какие функции из Java 9+ можно завести на Android и надеемся что это скоро будет.
"Android's Java 9, 10, 11, and 12 Support" - Jake Wharton
Печально признавать, но Android всегда оставал в поддержке Java от всего сообщества большого брата. Уже релизнулась Java 11, а мы все наслаждается синтаксическим сахаром от Java 8. С этим все смирились, но что будет если попробовать с помощью D8 обеспечить поддержку синтаксиса Java 9+ на Android?
В своей статье Jake продолжил раскрывать особенности работы Java на Android. По ссылке вы найдете информацию о том на какой стадии находится работа поддержки Java 9, которая уже ведется в AOSP, какие функции из Java 9+ можно завести на Android и надеемся что это скоро будет.
#D8 #Dexing #Compiler
Part 3 (final): "Avoiding Vendor- and Version-Specific VM Bugs"
Part 2: "Android's Java 9, 10, 11, and 12 Support"
Part 1: "Android's Java 8 Support"
Заключительная хардокрная статья о D8 от Jake Warton в которой он рассказывает о том как D8 отличается в dexing кода от DX и исправляет разные баги на старых версий Android и баги от корявых рук производителей устройств, которые любят переизобрести Android ОС.
О чем сможете узнать:
👉 Использование более оптимальных инструкций в D8
👉 Как D8 позволяет обходить баги, на примере OkHttp и Okio, на устрйоствах отдельных производителей
👉 Фикс бага ART ahead-of-time компилятора в Android 6.0
Вас ждет много байткода и тулинга, пристегнитесь и наберитесь терпения перед прочтением.
Part 3 (final): "Avoiding Vendor- and Version-Specific VM Bugs"
Part 2: "Android's Java 9, 10, 11, and 12 Support"
Part 1: "Android's Java 8 Support"
Заключительная хардокрная статья о D8 от Jake Warton в которой он рассказывает о том как D8 отличается в dexing кода от DX и исправляет разные баги на старых версий Android и баги от корявых рук производителей устройств, которые любят переизобрести Android ОС.
О чем сможете узнать:
👉 Использование более оптимальных инструкций в D8
👉 Как D8 позволяет обходить баги, на примере OkHttp и Okio, на устрйоствах отдельных производителей
👉 Фикс бага ART ahead-of-time компилятора в Android 6.0
Вас ждет много байткода и тулинга, пристегнитесь и наберитесь терпения перед прочтением.
#D8 #R8 #CPU #JVM
Android CPU, Compilers, D8 & R8
Статья о компиляции кода в Android и как Google улучшает процесс. В ней вы найдете:
👉 JVM и ее связи с Android
👉 Как работает JVM
👉 DEX
👉 Как читать байткод
👉 Как происходит сборка Android приложения
👉 Android Runtime (ART)
👉 D8 & R8
Android CPU, Compilers, D8 & R8
Статья о компиляции кода в Android и как Google улучшает процесс. В ней вы найдете:
👉 JVM и ее связи с Android
👉 Как работает JVM
👉 DEX
👉 Как читать байткод
👉 Как происходит сборка Android приложения
👉 Android Runtime (ART)
👉 D8 & R8
Medium
Android CPU, Compilers, D8 & R8
Imagine you have an important space mission ahead. You need a spacecraft that won’t get you into much trouble on the way. You may opt in a…
👍1
#Java #D8 #Desugarung #JakeWharton
D8 Library Desugaring
Все Android разработчики знакомы с фрагментированностью платформы, что не дает нам использовать последнии версии Android SDK в приложениях. Google помогла в решение этой проблемы, предоставля библиотеки AndroidX.
Есть одно "НО" - проблема не решена для Java API. Android разработчики стали чувствовать проблему меньше с приходом Kotlin, но все же в JDK есть интересные API:
👉 Java 8 Stream Collection (API 24)
👉 Java 8 Date Time (API 26)
👉 Optional (API 24)
👉 CompletableFuture (API 24)
Использовать в большинстве приложений не получится т.к. наиболее распространенные minSdk - это 21 или 23.
В Android Studio 4.0 (а точнее в Android Gradle Plugin и D8) была добавлена новая возможность “core library desugaring”, которая позволяет делать бэкпорт этих API, а также новых методов, появившиеся в других API (более подробный список здесь) и исправлять баги в Java API на старых версиях Android.
В своей статье Jake разбирается как устроена новая фича в D8
D8 Library Desugaring
Все Android разработчики знакомы с фрагментированностью платформы, что не дает нам использовать последнии версии Android SDK в приложениях. Google помогла в решение этой проблемы, предоставля библиотеки AndroidX.
Есть одно "НО" - проблема не решена для Java API. Android разработчики стали чувствовать проблему меньше с приходом Kotlin, но все же в JDK есть интересные API:
👉 Java 8 Stream Collection (API 24)
👉 Java 8 Date Time (API 26)
👉 Optional (API 24)
👉 CompletableFuture (API 24)
Использовать в большинстве приложений не получится т.к. наиболее распространенные minSdk - это 21 или 23.
В Android Studio 4.0 (а точнее в Android Gradle Plugin и D8) была добавлена новая возможность “core library desugaring”, которая позволяет делать бэкпорт этих API, а также новых методов, появившиеся в других API (более подробный список здесь) и исправлять баги в Java API на старых версиях Android.
В своей статье Jake разбирается как устроена новая фича в D8
#Dx #D8
The path to DX deprecation
Google объявила о 3 фазах миграции с Dx на D8, причем в фазу 2 мы уже успели войти. Во второй фазе Dx остаётся доступным, но помечается как deprecated. Баги в нем больше исправляться не будут. Пора переходить на D8.
Третья фаза начнется 1 февраля 2021 - полное удаление Dx из Android Studio и всех других инструментов сборки.
Справка: Dx и D8 - это компиляторы Java байт кода в Dex, формат байт кода для ART
The path to DX deprecation
Google объявила о 3 фазах миграции с Dx на D8, причем в фазу 2 мы уже успели войти. Во второй фазе Dx остаётся доступным, но помечается как deprecated. Баги в нем больше исправляться не будут. Пора переходить на D8.
Третья фаза начнется 1 февраля 2021 - полное удаление Dx из Android Studio и всех других инструментов сборки.
Справка: Dx и D8 - это компиляторы Java байт кода в Dex, формат байт кода для ART
Android Developers Blog
The path to DX deprecation
Posted by Leo Sei, Product Manager on Android Back in 2017, we released D8, a new faster dexing compiler to replace DX, producing s...
#R8 #D8
When using enums and R8…
Chet Haase делиться с нами какую пользу может оказать R8 и убрать лишний JVM байткод, который генерируется Kotlin, когда вы используете его для компиляции кода на примере enum.
When using enums and R8…
Chet Haase делиться с нами какую пользу может оказать R8 и убрать лишний JVM байткод, который генерируется Kotlin, когда вы используете его для компиляции кода на примере enum.
Medium
When using enums and R8…
Kotlin Vocabulary — switching on enums, and R8 optimization
#Java8 #D8 #R8
Support for newer Java language APIs
Android Gradle Plugin 4.0 дал нам возможность вызывать Java API, которые появились в более поздних версиях Android SDK на всех предыдущих.
В статье вы найдете подробности о D8/R8 Java API Desugaring: как работает и какие API теперь стали доступны
Support for newer Java language APIs
Android Gradle Plugin 4.0 дал нам возможность вызывать Java API, которые появились в более поздних версиях Android SDK на всех предыдущих.
В статье вы найдете подробности о D8/R8 Java API Desugaring: как работает и какие API теперь стали доступны
Medium
Support for newer Java language APIs
Imagine developing an app where you need to deal with time calculations. After some googling, you’ll most likely end up finding great…