Posted on Leave a comment

Kotlin Symbol Processing API

[https://github.com/android/kotlin/tree/ksp/libraries/tools/kotlin-symbol-processing-api]

Compiler plugins are powerful metaprogramming tools that can greatly enhance how you write code. Compiler plugins call compilers directly as libraries to analyze and edit input programs. These plugins can also generate output for various uses. For example, they can generate boilerplate code, and they can even generate full implementations for specially-marked program elements, such as Parcelable. Plugins have a variety of other uses and can even be used to implement and fine-tune features that are not provided directly in a language.

While compiler plugins are powerful, this power comes at a price. To write even the simplest plugin, you need to have some compiler background knowledge, as well as a certain level of familiarity with the implementation details of your specific compiler. Another practical issue is that plugins are often closely tied to specific compiler versions, meaning you might need to update your plugin each time you want to support a newer version of the compiler.

Posted on Leave a comment

Android App Startup

[https://developer.android.com/topic/libraries/app-startup]

The App Startup library provides a straightforward, performant way to initialize components at application startup. Both library developers and app developers can use App Startup to streamline startup sequences and explicitly set the order of initialization.

Instead of defining separate content providers for each component you need to initialize, App Startup allows you to define component initializers that share a single content provider. This can significantly improve app startup time.

AndroidX: App Startup
[https://proandroiddev.com/androidx-app-startup-698855342f80]
[https://github.com/husaynhakeem/android-playground/tree/master/StartupSample]

Posted on Leave a comment

What’s new in Jetpack

What’s new in Jetpack by Florina Muntenescu
[https://medium.com/androiddevelopers/whats-new-in-jetpack-1891d205e136]

[https://t.me/android_broadcast/1864]

👉 Hilt (https://dagger.dev/hilt/) (Alpha) – новый рекомендованный DI фреймворк. Работает поверх Dagger и имеет интеграцию с основными компонентами Android приложения, а так же библиотеками Jetpack, такими как ViewModel и WorkManager
👉 Paging 3 (https://developer.android.com/topic/libraries/architecture/paging/v3-overview) (Alpha) – новая версия библиотеки для пагинации. Теперь написана полностью на Kotlin, работает поверх Coroutine и поддерживает ошибки, повторы, обновления, а также хэдеры и футеры
👉 App Startup (https://developer.android.com/topic/libraries/app-startup) (Alpha)- библиотека для инициализации компонентов при запуске приложения
👉 WindowManager (https://developer.android.com/jetpack/androidx/releases/window) – библиотека для помощи в поддержке устройств с нестандартными форматами, например складываемые смартфоны

Continue reading What’s new in Jetpack