Legacy Shmegacy
#code
Legacy — популярное слово, которое часто ассоциируется с «плохим» кодом. В проектах часто есть участки кода, куда не хочется заглядывать или править баги, но до переписывания руки так и не доходят. Но задумывались ли вы, как появляется legacy? Ведь в большинстве команд опытные и умные инженеры, которые хотят, чтобы их проект был только лучше.
Автор статьи смотрит на legacy не как на код, а как на наше отношение к этому коду.
Например, несколько любопытных тезисов:
🔴 чем дольше разработчики работают в одной команде, тем меньше появляется legacy-кода, так как авторы могут поддерживать и улучшать его сами;
🔴 хорошая документация и покрытие тестами снижают вероятность превращения кода в legacy, так как увеличивают шансы, что автор или коллеги смогут в нём разобраться в далёком или не очень будущем;
🔴 использование стандартных инструментов и библиотек в команде снижает риск превращения кода в legacy.
В статье рассказывается, как избежать появления legacy-кода в проектах и сделать жизнь команды проще. Так что — не плодите legacy, а потихоньку избавляйтесь от него, делая код чище и проще.🥰
#code
Legacy — популярное слово, которое часто ассоциируется с «плохим» кодом. В проектах часто есть участки кода, куда не хочется заглядывать или править баги, но до переписывания руки так и не доходят. Но задумывались ли вы, как появляется legacy? Ведь в большинстве команд опытные и умные инженеры, которые хотят, чтобы их проект был только лучше.
Автор статьи смотрит на legacy не как на код, а как на наше отношение к этому коду.
Например, несколько любопытных тезисов:
В статье рассказывается, как избежать появления legacy-кода в проектах и сделать жизнь команды проще. Так что — не плодите legacy, а потихоньку избавляйтесь от него, делая код чище и проще.
Please open Telegram to view this post
VIEW IN TELEGRAM
Substack
Legacy Shmegacy
Understanding legacy code, how to prevent it, and how to fix it
👍8🔥6🥰3
ViewModel под капотом
#viewmodel #code
Полезная статья, объясняющая, как устроен всем известный ViewModel под капотом.
После изучения вы сможете легко написать собственный аналог ViewModel (но лучше не использовать его в боевых проектах) или разобраться, как внутренние компоненты связаны со скоупом, что такое AutoCloseable и CloseableCoroutineScope.
Люблю подобные статьи про внутренние части всем известных компонентов.
#viewmodel #code
Полезная статья, объясняющая, как устроен всем известный ViewModel под капотом.
После изучения вы сможете легко написать собственный аналог ViewModel (но лучше не использовать его в боевых проектах) или разобраться, как внутренние компоненты связаны со скоупом, что такое AutoCloseable и CloseableCoroutineScope.
Люблю подобные статьи про внутренние части всем известных компонентов.
Medium
Exploring ViewModel Internals
At Google I/O 2017, Google introduced Architecture Components, a collection of libraries designed to address core challenges in Android…
👍15❤4🔥4🙈3🥱2
Media Performance Class Level
#google
Google опубликовали статью о своём опыте использования Media Performance Class (MPC) в контексте работы Google Maps.
Недавно вышел стабильный релиз Jetpack Core Performance library, который позволяет получить актуальный MPC для текущего устройства.
Под капотом — класс PlayServicesDevicePerformance, который запрашивает Google Play Services о текущем уровне MPC. По сути, всё довольно просто.
В статье описан кейс Google Maps, где разработчики начали использовать полупрозрачные окна только на высокопроизводительных устройствах, чтобы обеспечить лучший UX для разных категорий пользователей. Вероятно, у вас тоже есть подобные высокотребовательные фичи?
Не уверен, что у этого подхода нет альтернатив, особенно учитывая обязательное наличие Play Services для работы. Что думаете?🤔
Google опубликовали статью о своём опыте использования Media Performance Class (MPC) в контексте работы Google Maps.
Недавно вышел стабильный релиз Jetpack Core Performance library, который позволяет получить актуальный MPC для текущего устройства.
Под капотом — класс PlayServicesDevicePerformance, который запрашивает Google Play Services о текущем уровне MPC. По сути, всё довольно просто.
В статье описан кейс Google Maps, где разработчики начали использовать полупрозрачные окна только на высокопроизводительных устройствах, чтобы обеспечить лучший UX для разных категорий пользователей. Вероятно, у вас тоже есть подобные высокотребовательные фичи?
Не уверен, что у этого подхода нет альтернатив, особенно учитывая обязательное наличие Play Services для работы. Что думаете?
Please open Telegram to view this post
VIEW IN TELEGRAM
Android Developers Blog
Performance Class helps Google Maps deliver premium experiences
The Media Performance Class (MPC) standard helps developers understand a device's capabilities and tailor user experience accordingly.
👍7❤3🔥3
Screenshots detecting
#android
Раньше для детектирования скриншотов в Android приходилось использовать довольно сложные решения, требующие разрешений на чтение файлов или изображений.
Но оказывается, есть гораздо более простой путь, который появился совсем недавно. Для этого достаточно добавить в
и сделать вызов методов:
Главный недостаток этого метода в том, что работает он только с Android 14. Ну что ж, подождём, пока все обновятся.🫡
Эта функция может быть полезна, если в вашем приложении есть более удобный способ поделиться содержимым экрана, чем просто делать скриншот.
#android
Раньше для детектирования скриншотов в Android приходилось использовать довольно сложные решения, требующие разрешений на чтение файлов или изображений.
Но оказывается, есть гораздо более простой путь, который появился совсем недавно. Для этого достаточно добавить в
AndroidManifest.xml
:
<uses-permission android:name="android.permission.DETECT_SCREEN_CAPTURE" />
и сделать вызов методов:
val screenCaptureCallback = Activity.ScreenCaptureCallback {
// Add logic to take action in your app.
}
registerScreenCaptureCallback(mainExecutor, screenCaptureCallback)
////
unregisterScreenCaptureCallback(screenCaptureCallback)
Главный недостаток этого метода в том, что работает он только с Android 14. Ну что ж, подождём, пока все обновятся.
Эта функция может быть полезна, если в вашем приложении есть более удобный способ поделиться содержимым экрана, чем просто делать скриншот.
Please open Telegram to view this post
VIEW IN TELEGRAM
Android Developers
Detect when users take device screenshots | Android Developers
👍15❤3🔥3😁1👌1
Что нового в Android 16?
#android #google
Что же, в этом году нас ждёт свежий Android, и к его нововведениям стоит подготовиться. Давайте разберём основные изменения, опираясь на официальную документацию Google.
🔴 Progress-centric Notifications — фактически аналог Live Activities на iOS, где теперь у нас добавляется Notification.ProgressStyle для отображения прогресса текущего процесса. Полезно для приложений с загрузками, доставками и навигацией. Выглядит здорово, одобряем.
🔴 Predictive back updates — новые API для предсказуемого поведения жестов "назад". Теперь onBackInvokedCallback позволяет точнее обрабатывать нажатия. Пока неясно, насколько это улучшит UX — навигация жестами и так работает достаточно стабильно.
🔴 Richer Haptics — более классная обработка haptic-эффектов. В VibrationEffect.Compositions, добавили более точную настройку вибрационных эффектов. Одобряю, очень мало приложений хорошо используют haptic-эффект.
🔴 System-triggered profiling — обновлённый ProfilingManager, появившийся в Android 15, теперь собирает ещё больше данных о производительности приложений. Не тестировал, если пробовали — расскажите, как вам?
🔴 Better job introspection — полезное обновление, призванное улучшить дебаг запущенных Job. Теперь можно просматривать их историю и анализировать причины задержек или неудачного выполнения. Круто.
🔴 Photo picker improvements — Google активно продвигает использование Photo Picker, а в новой версии API добавляет Embedded Photo Picker который делает выбор изображений ещё более естественным и встроенным в приложение. Отличное обновление.
🔴 Vertical text — небольшая, но любопытная доработка: теперь Paint поддерживает вертикальный текст. Не знаю, можно ли было раньше сделать это без библиотек, но Google решил это подстветить как фичу. Подсвечу и я.
Тут только некоторые из фичей, хотя и основные, а все можно увидеть тут.
#android #google
Что же, в этом году нас ждёт свежий Android, и к его нововведениям стоит подготовиться. Давайте разберём основные изменения, опираясь на официальную документацию Google.
Тут только некоторые из фичей, хотя и основные, а все можно увидеть тут.
Please open Telegram to view this post
VIEW IN TELEGRAM
Android Developers
Features and APIs | Android Developers
Learn about the new features and APIs for developers in Android 16.
❤13🔥9🥰5
SQLite Parallelism
#android
Отличная статья с неочевидными советами по работе с SQLite в Android, особенно в контексте параллельных запросов (а это встречается довольно часто).
Основная идея в том, что использование Dispatchers.IO по умолчанию для работы с базой может привести к переполнению пула потоков. В результате другие задачи, запущенные на нём, могут быть приостановлены.
Это может стать неприятным сюрпризом, если параллельных запросов слишком много.
Автор объясняет, как добиться корректного поведения, ограничивая число потоков, которые SQLite может использовать. Кстати, все эти рекомендации подходят и для Room.
Ещё узнал про Bundled SQLite — его можно использовать без переживаний о том, как база работает на старых версиях Android, при этом поддерживая последние возможности либы.
Признавайтесь кто-нибудь из вас использует Bundled SQLite? Есть ли от него реальный профит?
#android
Отличная статья с неочевидными советами по работе с SQLite в Android, особенно в контексте параллельных запросов (а это встречается довольно часто).
Основная идея в том, что использование Dispatchers.IO по умолчанию для работы с базой может привести к переполнению пула потоков. В результате другие задачи, запущенные на нём, могут быть приостановлены.
Это может стать неприятным сюрпризом, если параллельных запросов слишком много.
Автор объясняет, как добиться корректного поведения, ограничивая число потоков, которые SQLite может использовать. Кстати, все эти рекомендации подходят и для Room.
Ещё узнал про Bundled SQLite — его можно использовать без переживаний о том, как база работает на старых версиях Android, при этом поддерживая последние возможности либы.
Признавайтесь кто-нибудь из вас использует Bundled SQLite? Есть ли от него реальный профит?
P-Y's blog
Parallelism with Android SQLite
The SQLDelight documentation provides this example:
val players: Flow<List<HockeyPlayer>> =
playerQueries.selectAll()
.asFlow()
.mapToList(Dispatchers.IO)
This looks reasonable, right? In the Square Point Of Sale application, we recently ...
val players: Flow<List<HockeyPlayer>> =
playerQueries.selectAll()
.asFlow()
.mapToList(Dispatchers.IO)
This looks reasonable, right? In the Square Point Of Sale application, we recently ...
👍7❤3🫡1
Firebender
#ai #androidstudio
AI уже прочно вошёл в нашу жизнь, и, кажется, отказаться от него будет непросто.
Я, например, попробовал Firebender в Android Studio — выглядит очень достойно. Под капотом — целый набор моделей, работает прямо внутри Android Studio, выдаёт неплохие ответы и, что приятно, всё это бесплатно.
По своему опыту скажу: активно использую агентов для генерации документации и тестов — именно те задачи, которые руками обычно делать лениво. Недавно попробовал и рефакторинг легаси-кода — выглядит многообещающе, но пока требует ручной проверки. Если довериться агенту, то придётся фиксить много багов.🫨
А как вы относитесь к AI-агентам? Уже внедрили в рабочие процессы?
#ai #androidstudio
AI уже прочно вошёл в нашу жизнь, и, кажется, отказаться от него будет непросто.
Я, например, попробовал Firebender в Android Studio — выглядит очень достойно. Под капотом — целый набор моделей, работает прямо внутри Android Studio, выдаёт неплохие ответы и, что приятно, всё это бесплатно.
По своему опыту скажу: активно использую агентов для генерации документации и тестов — именно те задачи, которые руками обычно делать лениво. Недавно попробовал и рефакторинг легаси-кода — выглядит многообещающе, но пока требует ручной проверки. Если довериться агенту, то придётся фиксить много багов.
А как вы относитесь к AI-агентам? Уже внедрили в рабочие процессы?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍7🐳1
Android Activity Lifecycle от 8ksec
#android
Про жизненный цикл Activity не знает только ленивый, но мне попалась небольшая статья, где ребята из 8ksec рассматривают его с точки зрения уязвимостей и безопасности.
Если что, у 8ksec вообще много толковых статей и обучающих материалов по безопасности Android-приложений. И радует, что на привычные вещи можно взглянуть по-новому — с позиции безопасности и анализа уязвимостей.
#android
Про жизненный цикл Activity не знает только ленивый, но мне попалась небольшая статья, где ребята из 8ksec рассматривают его с точки зрения уязвимостей и безопасности.
Если что, у 8ksec вообще много толковых статей и обучающих материалов по безопасности Android-приложений. И радует, что на привычные вещи можно взглянуть по-новому — с позиции безопасности и анализа уязвимостей.
8kSec - 8kSec is a cybersecurity research & training company. We provide high-quality training & consulting services.
A Blueprint of Android Activity Lifecycle - 8kSec
Introduction The Android Activity lifecycle is a sequence of state changes and callbacks that every Android Activity goes through from creation to destruction.Understanding the Android Activity lifecycle is important not only for developers aiming to build…
👍10❤5🔥3
Compose Multiplatform — в проде!
#compose
Отличная новость: Compose Multiplatform 1.8.0 вышел в релиз, и Compose для iOS теперь в stable!
Сам анонс тут, кратко что обещают:
🟢 все основные API стабильны, глобальных ломающих изменений не планируется;
🟢 Compose на iOS ощущается как нативный фреймворк: скроллы, навигация, шрифты — всё учитывается;
🟢 с производительностью тоже всё в порядке, очень близок к SwiftUI;
🟢 Compose Preview работает наравне с Compose Hot Reload;
Больше изменений тут.
Поздравляю команду JetBrains, теперь надо команду iOS уговорить попробовать новую технологию.😄
А вы уже пробовали? Как впечатления?
#compose
Отличная новость: Compose Multiplatform 1.8.0 вышел в релиз, и Compose для iOS теперь в stable!
Сам анонс тут, кратко что обещают:
Больше изменений тут.
Поздравляю команду JetBrains, теперь надо команду iOS уговорить попробовать новую технологию.
А вы уже пробовали? Как впечатления?
Please open Telegram to view this post
VIEW IN TELEGRAM
The JetBrains Blog
Compose Multiplatform 1.8.0 Released: Compose Multiplatform for iOS Is Stable and Production-Ready | The Kotlin Blog
Kotlin Multiplatform becomes a complete solution for mobile development, enabling flexible code sharing across both business logic and UI without compromising app quality or losing control over platform-specific capabilities.
👍18🔥5🤔3
Memory Indicator в Android Studio
Не знаю, знали ли вы, но в Android Studio можно посмотреть, сколько оперативки она съедает прямо сейчас. И без дополнительных плагинов.Фича появилась в Android Studio Giraffe. Появилась давно, но мне попалась только сейчас.
Достаточно кликнуть правой кнопкой по нижней панели и включить Memory Indicator.
Хотя мы и знали, что IDE прожорливая, но теперь у нас есть цифры, подтверждающие это.😄
Не знаю, знали ли вы, но в Android Studio можно посмотреть, сколько оперативки она съедает прямо сейчас. И без дополнительных плагинов.
Достаточно кликнуть правой кнопкой по нижней панели и включить Memory Indicator.
Хотя мы и знали, что IDE прожорливая, но теперь у нас есть цифры, подтверждающие это.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥4🥱3👎2👌2
On-device GenAI APIs
#google #io
Слышали ли вы, но недавно Google анонсировали API для интеграции Gemini Nano в Android-приложения. Что появилось:
- Summarization — для краткого пересказа статей, диалогов и других текстов;
- Proofreading — для вычитки и полировки текстов;
- Rewriting — переформулировка текстов в разных стилях и форматах;
- Image Description — генерация описаний для изображений;
Главная фишка в том, что всё обрабатываются без похода в сеть, а это значит:
- никаких затрат на API-вызовы;
- всё работает оффлайн;
- данные не покидают устройство — критично для многих приложений.
API выглядят круто — даже если приложение не про тексты или картинки, с их помощью можно добавить полезные фичи для улучшения UX.
Все детали и тесты можно взять тут.
#google #io
Слышали ли вы, но недавно Google анонсировали API для интеграции Gemini Nano в Android-приложения. Что появилось:
- Summarization — для краткого пересказа статей, диалогов и других текстов;
- Proofreading — для вычитки и полировки текстов;
- Rewriting — переформулировка текстов в разных стилях и форматах;
- Image Description — генерация описаний для изображений;
Главная фишка в том, что всё обрабатываются без похода в сеть, а это значит:
- никаких затрат на API-вызовы;
- всё работает оффлайн;
- данные не покидают устройство — критично для многих приложений.
API выглядят круто — даже если приложение не про тексты или картинки, с их помощью можно добавить полезные фичи для улучшения UX.
Все детали и тесты можно взять тут.
Android Developers Blog
On-device GenAI APIs as part of ML Kit help you easily build with Gemini Nano
Integrate Gemini Nano into your Android apps with ML Kit's on-device gen AI APIs for summarization, proofreading, rewriting, and image descriptions.
❤8🔥5👍4💘1
Firebase AI-Powered App Testing Agent
#firebase #google
AI-инструменты всё активнее входят в нашу разработческую жизнь — и сегодня расскажу про ещё один от Google.
Если вы используете App Distribution для раскатки тестовых билдов, то могли заметить вкладку «Test cases». По сути, вы добавляете шаги теста, а Gemini проходит их автоматически и показывает результат.
Выглядит многообещающе, ведь:
- тесты можно писать на естественном языке — например: «нажми кнопку логина, введи такие-то данные»;
- хорошая альтернатива ручной проверке QA: агент выполняет базовые действия вместо тестировщика;
- альтернатива автоматизированным тестам: при рефакторинге экранов не нужно менять шаги и поддерживать тест-код.
Пробуйте, пока это бесплатно😄
Больше информации тут.
#firebase #google
AI-инструменты всё активнее входят в нашу разработческую жизнь — и сегодня расскажу про ещё один от Google.
Если вы используете App Distribution для раскатки тестовых билдов, то могли заметить вкладку «Test cases». По сути, вы добавляете шаги теста, а Gemini проходит их автоматически и показывает результат.
Выглядит многообещающе, ведь:
- тесты можно писать на естественном языке — например: «нажми кнопку логина, введи такие-то данные»;
- хорошая альтернатива ручной проверке QA: агент выполняет базовые действия вместо тестировщика;
- альтернатива автоматизированным тестам: при рефакторинге экранов не нужно менять шаги и поддерживать тест-код.
Пробуйте, пока это бесплатно
Больше информации тут.
Please open Telegram to view this post
VIEW IN TELEGRAM
The Firebase Blog
Introducing the AI-Powered App Testing Agent
News, tutorials, and updates from the Firebase team.
❤5👍5👌2
Вайбкодинг vs Метакодинг
С распространением нейросетей в жизни разработчиков появился новый термин — «вайбкодинг». По сути, это бездумное программирование с помощью нейросетей. Когда ты просишь AI сгенерировать код и слепо доверяешь результату.
В профессиональной среде вайбкодинг не любят: качество такого кода часто оставляет желать лучшего. На мой взгляд, для быстрых прототипов он подходит отлично, но точно не для продакшена.
Есть и другой, менее известный термин — «метакодинг». Хотя в обоих случаях используется нейросеть, подходы кардинально разные.
Метакодинг — это вдумчивая работа с нейросетью в процессе программирования. Ты просишь нейросеть написать тесты перед реализацией, задаёшь уточняющие вопросы, если видишь непонятный участок, и вникаешь в предложенную архитектуру. Ты не внедряешь предложения бездумно — наоборот, задаёшь правила и указываешь документацию, которой стоит придерживаться. Короче, такой джун на максималках😄
Считаю, что второй способ — это база для профессионалов будущего. Это новый инструмент, который заметно ускоряет скорость разработки при правильном использовании, но не заменяет её пока что . Уже сейчас стоит внедрять такие подходы в повседневную разработку.
Хорошее определение и немного более подробное объяснение — вот тут.
А что думаете вы?
С распространением нейросетей в жизни разработчиков появился новый термин — «вайбкодинг». По сути, это бездумное программирование с помощью нейросетей. Когда ты просишь AI сгенерировать код и слепо доверяешь результату.
В профессиональной среде вайбкодинг не любят: качество такого кода часто оставляет желать лучшего. На мой взгляд, для быстрых прототипов он подходит отлично, но точно не для продакшена.
Есть и другой, менее известный термин — «метакодинг». Хотя в обоих случаях используется нейросеть, подходы кардинально разные.
Метакодинг — это вдумчивая работа с нейросетью в процессе программирования. Ты просишь нейросеть написать тесты перед реализацией, задаёшь уточняющие вопросы, если видишь непонятный участок, и вникаешь в предложенную архитектуру. Ты не внедряешь предложения бездумно — наоборот, задаёшь правила и указываешь документацию, которой стоит придерживаться. Короче, такой джун на максималках
Считаю, что второй способ — это база для профессионалов будущего. Это новый инструмент, который заметно ускоряет скорость разработки при правильном использовании, но не заменяет её
Хорошее определение и немного более подробное объяснение — вот тут.
А что думаете вы?
Please open Telegram to view this post
VIEW IN TELEGRAM
Reddit
From the vibecoding community on Reddit
Explore this post and more from the vibecoding community
🔥12❤6🤓3
Если вдруг интересно — Telegram анонсировал свежий конкурс для Android-разработчиков.
Детали вот тут.🙃
Детали вот тут.
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Telegram Contests
🏆 Telegram Android Contest 2025, Round 1
Prize fund: $50,000
Deadline: 23:59 on July 11 (Dubai time)
Who can participate: Everyone
Results: July 2025
Telegram is hosting a contest for Android developers to implement a redesigned profile appearance.
In…
Prize fund: $50,000
Deadline: 23:59 on July 11 (Dubai time)
Who can participate: Everyone
Results: July 2025
Telegram is hosting a contest for Android developers to implement a redesigned profile appearance.
In…
🔥6❤4😁3😢1
Agent Mode в Android Studio
#ai
Ещё одна новость про AI: в последней версии Android Studio появилась возможность включить Agent Mode с Gemini.
Из прикольных фичей:
- можно использовать свой API-ключ для Gemini Pro (по умолчанию есть квоты, и размер окна лимитирован);
- есть поддержка MCP-серверов.
Детальнее — тут и тут.
Интересно, за сколько минут уйдёт дневная квота, если попросить пофиксить баг в Telegram-клиенте или запилить анимацию из последнего конкурса?😄
#ai
Ещё одна новость про AI: в последней версии Android Studio появилась возможность включить Agent Mode с Gemini.
Из прикольных фичей:
- можно использовать свой API-ключ для Gemini Pro (по умолчанию есть квоты, и размер окна лимитирован);
- есть поддержка MCP-серверов.
Детальнее — тут и тут.
Интересно, за сколько минут уйдёт дневная квота, если попросить пофиксить баг в Telegram-клиенте или запилить анимацию из последнего конкурса?
Please open Telegram to view this post
VIEW IN TELEGRAM
Android Developers
Agent Mode | Android Studio | Android Developers
Learn about AI-assisted coding features powered by Gemini.
😁17👍3💘2❤1🤯1
Git Secrets
#git
Скорее всего, в вашем репозитории есть приватные данные, необходимые для работы: например, secret-ключи для сторонних сервисов, API-ключи или конфиги для сборки проекта.
Обычно такие файлы добавляют в gitignore, чтобы не хранить их в общей репе.
Но дальнейшее управление ими становится затруднительным: при изменениях приходится пересылать новую версию вручную или использовать сторонние инструменты.
Вдруг вы не знали, но есть такая утилита, как
Он шифрует файлы прямо в вашем репозитории, сохраняет историю коммитов и позволяет легко управлять доступами.
Пользуйтесь, если раньше не знали о таком хорошем инструменте. Хорошая инструкция для настройки тут.
#git
Скорее всего, в вашем репозитории есть приватные данные, необходимые для работы: например, secret-ключи для сторонних сервисов, API-ключи или конфиги для сборки проекта.
Обычно такие файлы добавляют в gitignore, чтобы не хранить их в общей репе.
Но дальнейшее управление ими становится затруднительным: при изменениях приходится пересылать новую версию вручную или использовать сторонние инструменты.
Вдруг вы не знали, но есть такая утилита, как
git-secret
, которая решает все эти проблемы. Он шифрует файлы прямо в вашем репозитории, сохраняет историю коммитов и позволяет легко управлять доступами.
Пользуйтесь, если раньше не знали о таком хорошем инструменте. Хорошая инструкция для настройки тут.
🔥17👍10❤2
Уже перешли на 16kb в NDK?
Anonymous Poll
9%
Полностью перешёл
20%
Перешёл, но некоторые сторонние библиотеки — нет
18%
Ещё нет, успею
23%
Нет нативного кода
30%
Хочу просто посмотреть ответы
Говорят, что следующая версия Android 17 будет называться Cinnamon Bun, или «Булочка с корицей». 🍩
После проекта Trunk Stable алфавитный порядок нарушился, и теперь идёт с самого начала алфавита ну почти .
После Android 16 Baklava нужно было выбрать десерт на «C». Надеемся, что теперь этот подход сохранится.
После проекта Trunk Stable алфавитный порядок нарушился, и теперь идёт с самого начала алфавита
После Android 16 Baklava нужно было выбрать десерт на «C». Надеемся, что теперь этот подход сохранится.
Please open Telegram to view this post
VIEW IN TELEGRAM
Android Authority
This is the Android 17 codename, and it's not what you guessed
We've got the scoop on the codename for Android 17, the next major version of Android that Google will release in 2026.
🔥10👍6❤1
Gradle 9.0.0: почему стоит переходить?
#gradle
На днях вышел Gradle 9.0.0 — значимый релиз, потому что теперь у нас будет но не точно ещё более быстрая сборка. Всё это благодаря Configuration Cache.
Если быстро пройтись по теории, то при сборке есть этапы Initialization, Configuration и Execution. Первый сам по себе довольно быстрый, а последний — кэшируется за счёт Build Cache. Таким образом, остался один из самых долгих этапов сборки, который теперь тоже может кэшироваться.
Начиная с Gradle 10 эта фича будет включена по умолчанию, но уже сейчас стоит перейти на свежий Gradle, чтобы получить прирост в скорости.
Остальные минорные изменения описаны здесь.
#gradle
На днях вышел Gradle 9.0.0 — значимый релиз, потому что теперь у нас будет
Если быстро пройтись по теории, то при сборке есть этапы Initialization, Configuration и Execution. Первый сам по себе довольно быстрый, а последний — кэшируется за счёт Build Cache. Таким образом, остался один из самых долгих этапов сборки, который теперь тоже может кэшироваться.
Начиная с Gradle 10 эта фича будет включена по умолчанию, но уже сейчас стоит перейти на свежий Gradle, чтобы получить прирост в скорости.
Остальные минорные изменения описаны здесь.
blog.gradle.org
State of the Configuration Cache - On the Road to Gradle 9
Introduction
👍16❤5🔥4🤡1
А кто-нибудь пробовал GrapheneOS? 🤔
Интересует личный опыт:
🔴 насколько сложно использовать привычные приложения?
🔴 что напрягает?
🔴 какой девайс используете?
🔴 остаётесь на этой OS или хотите обратно?
Кажется, попробовать её — неплохой эксперимент, но нужно больше информации и личного опыта.🔍
Интересует личный опыт:
Кажется, попробовать её — неплохой эксперимент, но нужно больше информации и личного опыта.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3👀2❤1