Mobile Native ️️
СтатистикаПолезные материалы по мобильной разработке. Статьи, подборки, нововведения, анонсы. Пробустить канал → https://t.me/mobile_native?boost Автор: @artemiygreg iOS / Swift: @swift_tips Библиотеки и инструменты: @mobile_dev_tools Митапы: @meetup_today
- Последний пост
- 23 июл.
- Последнее чтение
- 11:01
- Постов за неделю
- 0
- Всего постов
- 20
- Тип
- открытый
- Язык
- русский
- Категория
- Технологии (по похожим)
- В каталоге с
- 07:01
- 1/24сутки в ленте
- 1 346
- 1/48двое суток
- 1 542
- 1/72трое суток
- 1 663
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
Всем привет! Давненько меня не было в тг, давно уже ничего не публиковал в каналах – вот решил написать пост со своими мыслями, так сказать прояснить ситуацию. В последнее время я действительно подвыгорел от медийного IT-инфополя и полностью погрузился в основную работу. Это произошло не потому что я устал или мне надоело вести каналы, нет. Причина банальная – отсутствие по истине толковых, интересных полезных статей/материалов. В последнее время кругом ИИ, куда не плюнь, куда не зайди, всё про ИИ. И это не плохо, я всё понимаю, мир не стоит на месте, особенно ИТ, технологии стремительно развиваются и всё такое, но когда это прёт из каждого утюга, начинает раздражать. И раздражает тут не сам ИИ, а собственно то, как это преподносят. Чтобы написать какую-то интересную статью на тему ИИ, подготовить материал или сделать какой-то реально ценный продукт, в этом нужно разбираться. И вот вымораживает тут именно то, что многие, в том числе и медийные личности попросту хайпуют на этом – сами толком не разобрались, но при этом что-то публикуют, что-то продают, пытаются выступать «этакими экспертами». Я с ИИ пока ещё не разобрался, не являюсь экспертом, да и это не прямая тематика моих каналов, поэтому сюда пока и не лезу, но стараюсь держать руку на пульсе. Если вдруг кому-то интересно, сам поглядываю за тем, что делает Никита. Постить в день по 100500 бестолковых постов с новостями, по типу "вышла новая версия Compose", "что-то там в альфе", "Google заблочил...", "Google запретил..." и т.д., это тоже не мой формат, не вижу смысла в таких публикациях, такое вы можете почитать и в других каналах 🤷♂️ Что касается судьбы каналов. В ближайшее время однозначно буду возвращаться к публикациям, пока что в старом, привычном формате, но видимо пока что с более низкой частотой публикаций из-за отсутствия интересного/полезного – прррошу понять и пррростить 😃 Сделал отдельный канал – @it_grigorovich, в котором буду делиться своими мыслями о происходящем, подпишись по-братски, следующий пост будет про IT-блогеров, инфоциганство и меркантильность 😳 P.S. Всем добра и хорошего настроения!
Привет! Ну ты как там? Как дела, что нового? 😃
Kotlin Coroutine bridges: converting any callback-based Android API to suspend functions Полезная статья, в которой показывается, как можно преобразовывать любые коллбэк-ориентированные Android API в suspend-функции используя suspendCoroutine. 👉 The fundamental problem: Callbacks do not compose 👉 The core bridge: suspendCoroutine 👉 Success and error callbacks: The two-path bridge 👉 The callback factory: Abstracting interface boilerplate 👉 Multi-value callbacks: Wrapper classes 👉 Exception hierarchies: Preserving error semantics 👉 The Result<T> variant: Exceptions are not always what you want 👉 The lambda convenience layer: Bridging before the bridge 👉 Real-world application: Bridging Google Play Billing directly 👉 suspendCoroutine versus suspendCancellableCoroutine 👉 Applying the pattern beyond billing 👉 Common mistakes to avoid Читать (En)
Маяк в пустыне: Kotlin DSL для Android-шейдеров В статье автор рассказывает про сложности и неудобства работы с шейдерами в Android, из-за чего он заморочился и написал библиотеку, которая оборачивает всё это добро в типизированный Kotlin DSL. 👉 почему голый AGSL в Android-коде быстро начинает утомлять 👉 как выглядит тот же шейдер в RedByteFX 👉 четыре учебных примера - от простого к сложным эффектам 👉 как устроен DSL: координаты, uniform-ы, let(...), fn(...), sample(), sampleUv(), стандартная библиотека и интеграция с Compose; 👉 где библиотека реально выигрывает, а где у неё есть честные ограничения. Библиотека не подменяет исполнение, нативный AGSL по-прежнему исполняется на устройстве и работает по принципу Kotlin DSL → сгенерированный AGSL → RuntimeShader / RenderEffect. Библиотека на GitHub → RedByteFX Читать (Ru)
Разбираем Remote Compose: как Google предлагает строить BDUI Обзорная статья от ребят из Альфа-Банк про недавно анонсированный Remote Compose от Гугла. 👉 Что делает Remote Compose особенным 👉 Как устроен Remote Compose 👉 Практическое использование 👉 Плюсы / Минусы Читать (Ru)
Как я пытался чинить анимацию в Jetpack Compose LazyColumn Интересная статья от разработчика из ТБанка про то, как они решали проблему рассинхронизации анимаций айтемов в LazyColumn – когда один из айтемов меняет свои размеры, анимация второго айтема происходит с временным лагом. В статье разбирается, почему возникает рассинхрон, как устроен механизм анимаций внутри LazyColumn, почему кастомный animateItem обречен с самого начала и к какому решению в итоге пришли. Читать (Ru)
How Compose Preview Works Under the Hood Интересная статья, в которой подробно разбирается процесс отрисовки Compose Preview в Android Studio. 👉 The fundamental problem: Rendering the uncallable 👉 The @Preview annotation: Metadata, not behavior 👉 From annotation to XML: How Studio discovers previews 👉 ComposeViewAdapter: The orchestrator 👉 ComposableInvoker: Calling the uncallable 👉 Inspectable: Enabling the tooling bridge 👉 From composition to ViewInfo: Mapping pixels to source code 👉 Running previews on device: PreviewActivity Читать (En)
Как безопасно хранить и открывать пользовательские файлы локально в Android Статья про безопасное хранение и открытие пользовательских файлов локально в Android. 👉 Получаем файл от пользователя 👉 Сохранение в зашифрованном формате 👉 Как стороннее приложение может безопасно прочитать ваш зашифрованный файл 👉 Создание ParcelFileDescriptor 👉 Создание корректного URI для FileDecryptionContentProvider 👉 Рефлексия шифрования Читать (Ru)
Как заставить Android Studio ругаться на код по вашим правилам: создаем пользовательские Lint и Detekt Объемная и полезная статья про статические анализаторы кода Android Lint и Detekt. Как с их помощью упростить себе жизнь, заставив Android Studio ругаться на код по вашим правилам. В качестве примера показывается как создать практические правила для обоих инструментов и как их внедрить в проект. На примере Lint рассматривается контроль архитектуры пакетов и обязательную документацию с QuickFix, а на примере Detekt – проверка неизменяемого состояния представления без Android-зависимостей и миграцию с RxJava на Coroutines. P.S. Шёл 2026 год – RxJava 😳 Читать (Ru)
WWDC26 A week of technology, creativity, and community В этом году WWDC26 пройдёт с 8 по 12 июня. Посмотреть видео можно будет: На Youtube: AppleDeveloper На сайте: developer.apple.com В приложении для разработчиков: AppleDeveloper
Безопасный обмен данными между приложениями на Android: intents, URI schemes, shared preferences А вот небольшая, но полезная статья про межпроцессное взаимодействия в Android, в которой рассматриваются различные способы обмена данными между приложениями и как это делать безопасно. 👉 Intents: стандартный способ что-то сломать 👉 URI schemes: когда браузер становится посредником 👉 Shared Preferences: когда приватное становится публичным 👉 Content Providers для межпроцессного обмена Читать (Ru)
Ахиллесова пята SharedPreferences и стоит ли внедрять Datastore как альтернативу Всем привет! Ну что, как вы? Телегу обещают в скором времени заблочить, поэтому считаю это лучшим временем вернуться к публикациям 😃 На канале 2 месяца не было постов, пошёл я значится разгребать отложенные материалы, смотреть новые и знаете что я увидел? Правильно, ничего принципиально интересного 😃 Поэтому вот вам из свежего – полезная и интересная статья с исследованием производительности SharedPreferences и Datastore, графиками и сравнением обоих подходов. P.S. Странно, что такая, казалось бы технологичная компания и до сих пор не внедрила Datastore 🤔 Читать (Ru)
С наступающим Новым Годом!!! ❤️🎄🥂 Дорогие друзья и коллеги! Хочу начать этот пост со слов благодарности. От чистого сердца говорю вам спасибо за то, что этот год были со мной, с каналом, поддерживали, ставили реакции и писали комменты – вы крутые ❤️ Также поздравляю Вас всех с наступающим Новым Годом! Желаю в Новом Году покорить новые вершины, профессиональных успехов, достойной зарплаты, интересных проектов и чистого кода. Для канала год выдался непростым, где-то я подвыгорел, где-то погряз в работе из-за чего в этом году было относительно мало публикаций. Но и справедливости ради стоит сказать, что достойных материалов в последнее время становится меньше, а публиковать что-то ради публикации не очень хочется. В следующем году постараюсь собраться, войти в привычное русло и постараюсь найти возможности для развития каналов. Отдельное спасибо хочу выразить тем, кто поддерживает в ЛС и предлагает материалы для публикации ❤️. Многие сообщения видел, но не успел ответить из-за нехватки времени. Если вдруг я вам не ответил и вам важно именно моё мнение по какому-то вопросу, триггерните ещё раз в ЛС – обещаю посмотреть и ответить. P.S. Спасибо всем за поддержку и с наступающим Новым Годом!!! ❤️🎄🥂
Big O notation Статья с интерактивными примерами и разбором Big O нотаций. 🟢O(1) – constant time (best!) 🟢O(log n) – logarithmic time 🟢O(n) – linear time 🟢O(n^2) – quadratic time Читать (En)
Performance Spotlight Week В ноябре Гугл проводили неделю Performance Spotlight Week, в рамках которой рассказывали про лучшие практики и инструменты для повышения перформанса Android-приложений. Собрал все ссылки в один пост. 🟢Use R8 to shrink, optimize, and fast-track your app 🟢How Reddit used the R8 optimizer for high impact performance improvements 🟢Configure and troubleshoot R8 Keep Rules 🟢Deeper Performance Considerations 🟢Leveling Guide for your Performance Journey 🟢Fully Optimized: Wrapping up Performance Spotlight Week Читать (En)
Реверс-инжиниринг приложений на Android: знакомство с Frida Полезная статья как для разработчиков, так и для QA, в которой рассказывается про инструмент для динамического реверс-инжиниринга — Frida: как с ним работать, как исследовать приложения на телефоне без root-доступа и создавать свои моды. Frida — это инструмент, который позволяет вживлять небольшой кусок JavaScript-кода прямо в запущенное приложение и менять его поведение. Читать (Ru)
Гид по Git — глазами бывшего джуна Отличная статья-шпаргалка, в которой разбирается базовый минимум и чуть больше команд для ежедневной работы с Git`ом. Читать (Ru)
Джедайские техники Kotlin: inline-функции и reified-типы Свежая статья с примерами и детальным разбором inline-функций и reified-типов: зачем это нужно, как работают внутри и как использовать. Читать (Ru)
Create animated stripes in Jetpack Compose Ещё один материал про UI, с примером реализации анимированных полос с помощью градиента в Jetpack Compose. 👉 Manipulating Color Stops 👉 Drawing The Stripes 👉 Animating The Stripes 👉 A Little Helper Function Читать (En)
Создание кастомного Toolbar с Jetpack Compose. Подробный разбор всех попыток и решений Автор статьи рассказывает как делал кастомный компонент Toolbar в Jetpack Compose, с какими ограничениями столкнулся и какую в итоге реализацию выбрал, чтоб компонент был гибким, контролируемым и оптимизированным с точки зрения рекомпозиций. Читать (Ru)