uz
Feedback

Firibgarlarga uchmang! Telemetrio bunday kanallarni topadi va belgilaydi 👉 Belgini ko‘rmoqchi bo‘lsangiz, obuna bo‘ling

Библиотека мобильного разработчика | Android, iOS, Swift, Retrofit, Moshi, Chuck

Библиотека мобильного разработчика | Android, iOS, Swift, Retrofit, Moshi, Chuck

Kanalga Telegram’da o‘tish

Все самое полезное для мобильного разработчика в одном канале. По рекламе: @tproger_sales_bot Учиться у нас: clc.to/QSTQcA Для обратной связи: @proglibrary_feeedback_bot РКН: https://gos

Ko'proq ko'rsatish
9 112
Obunachilar
-324 soatlar
-57 kun
-4430 kun
Postlar arxiv
📱 Android CLI даёт доступ к удалённым физическим устройствам через Device Streaming Ошибка проявляется только на определённом телефоне, которого нет под рукой. Эмулятор помогает проверить многое, но не воспроизводит все особенности реального устройства. Android CLI получил доступ к Android Device Streaming. Теперь работать с удалённым физическим устройством можно через командные инструменты, включая сценарии с агентом разработки. Это дополняет возможности CLI для сборки, тестирования и управления Android-проектами. Для проверки поведения на устройстве больше не обязательно начинать с ручной работы в интерфейсе IDE. Удалённое устройство не равно локальному эмулятору Доступ зависит от сервиса Device Streaming, подключения и доступных устройств. Стоит заранее проверить условия использования и квоты, особенно если планируете регулярные прогоны. И проверка на одном телефоне не заменяет матрицу устройств. Версия ОС, архитектура, объём памяти и особенности производителя могут влиять на поведение приложения по-разному. Полезный сценарий — воспроизвести конкретный дефект на нужном устройстве, собрать данные и затем закрепить исправление тестом. 🔗 Что добавили в Android CLI #Android 🐸 Библиотека мобильного разработчика

🖥 Swift 6.4 позволяет постепенно переносить проверки между XCTest и Swift Testing В проекте сотни тестов на XCTest, а новые хочется писать через Swift Testing. Переписывать весь набор за один подход необязательно. Swift 6.4 добавляет совместимость проверок: XCTAssert можно использовать в тестах Swift Testing, а #expect — внутри XCTest. Это помогает переносить тесты небольшими частями, сохраняя знакомые проверки там, где их пока нет смысла менять. Смешивание проверок не превращает фреймворки в один У XCTest и Swift Testing остаются собственные способы объявления тестов, настройки запуска и организации жизненного цикла. Совместимость утверждений не означает, что любую инфраструктуру одного фреймворка можно без изменений перенести в другой. Практический путь — выбрать небольшой модуль, перенести несколько тестов и проверить результат локально и в CI. Отдельно убедитесь, что падения корректно отображаются в отчётах. Эта возможность относится к Swift 6.4. Перед использованием проверьте версию инструментов, которой тесты действительно собираются на машине разработчика и в CI. 🔗 Изменения тестирования в Swift 6.4 #iOS 🐸 Библиотека мобильного разработчика

📌 Один курс — хорошее вложение в себя. Два по той же цене — ещё лучше. В Proglib Academy действует акция: покупаешь один кур
📌 Один курс — хорошее вложение в себя. Два по той же цене — ещё лучше. В Proglib Academy действует акция: покупаешь один курс, а второй получаешь в подарок. Например, можно совместить два направления по работе с ИИ:
💥 ИИ для разработчиков — применение нейросетей в повседневной разработке: работа с кодом, тестирование и ревью. 💥 Разработка ИИ-агентов — архитектура агентов и создание собственных AI-решений.
📍 Разница в цене — почти 50 тысяч рублей. Можно освоить больше, не выходя за рамки запланированного бюджета. А если тебе интереснее Python, алгоритмы, backend или DevOps — выбирай другую пару курсов из каталога. Акция действует до 31 октября включительно ⏳ ⏮️ Пора прокачать свой стек

⚙️ Kotlin Toolchain 0.13 упрощает создание KMP-проекта и подготовку iOS-окружения Для первого KMP-приложения мало написать общий код. Нужны SDK, корректно настроенный Xcode, симулятор и сборка для каждой платформы. Kotlin Toolchain предлагает единый вход через CLI и декларативную конфигурацию. В версии 0.13 появилась интерактивная команда создания проекта:
kotlin new
Она предлагает выбрать тип приложения и целевые платформы. Команда kotlin init тоже остаётся: она создаёт файлы непосредственно в текущем каталоге. Для iOS улучшили диагностику принятия лицензии Xcode и первоначальной настройки. Нужные среды симулятора могут загружаться автоматически; если симулятора нет, инструмент создаёт его. На Android недостающие компоненты SDK теперь подготавливаются и при импорте проекта в IDE, а не только после запуска сборки из терминала. Рекомендация относится прежде всего к новым проектам Toolchain сохраняет статус Alpha. Рекомендация JetBrains для большинства новых KMP-проектов не означает, что существующий Gradle-проект нужно немедленно переносить. Для текущего приложения сначала проверьте поддержку зависимостей и привычного процесса сборки. 🔗 Что изменилось в Kotlin Toolchain 0.13 🐸 Библиотека мобильного разработчика

⚙️ Android Studio переносит анализ утечек LeakCanary с устройства на компьютер Поиск утечки требует не только снять дамп кучи, но и разобрать связи между объектами. Если анализировать всё на тестовом телефоне, диагностика сама конкурирует с приложением за ресурсы. В обзоре Android Studio Quail описана интеграция LeakCanary с профилировщиком: анализатор Shark работает на компьютере разработчика, а не на устройстве. Так можно исследовать, почему объект остаётся достижимым, не перекладывая основную работу анализа на телефон. Команда сообщает о пятикратном ускорении трассировки утечек в своих измерениях. Что эта цифра не означает Она не описывает ускорение приложения и не гарантирует такой же результат для любого дампа. Сбор данных с устройства по-прежнему нужен, а время анализа зависит от объёма и структуры кучи. Найденный путь удержания — отправная точка для проверки. Например, Activity может удерживаться слушателем, который забыли снять, но сам факт долгой жизни объекта ещё нужно сопоставить с ожидаемым жизненным циклом. После исправления повторите сценарий: объект должен освобождаться там, где это предполагает архитектура приложения. 🔗 Интеграция LeakCanary в обзоре Android Studio #Android 🐸 Библиотека мобильного разработчика

🖥 Swift 6.4 помогает LLDB находить именно тот модуль, с которым собрали приложение На точке останова простая переменная выводится сразу. А обращение к вычисляемому свойству заставляет отладчик задуматься:
(lldb) p myObj
(lldb) p myObj.myComputedProperty
Это могут быть разные пути. Для просмотра обычного значения LLDB иногда достаточно отладочной информации и метаданных. Для вычисления выражения он использует встроенный компилятор Swift, которому нужны модули приложения. Раньше поиск модуля по имени мог быть неоднозначным. А при холодном кеше неявный импорт запускал дорогую подготовку модуля и его зависимостей. Изменения, начатые в Swift 6.3 и завершённые в 6.4, позволяют точнее отслеживать явно собранные модули через отладочную информацию. LLDB получает сведения о нужных зависимостях вместо поиска только по имени. Для большинства проектов SwiftPM и Xcode улучшение работает без изменений настройки. Собственные системы сборки на Bazel, Buck или CMake могут потребовать адаптации. Это не обещание мгновенного выполнения любого выражения в отладчике. Вызов вычисляемого свойства всё ещё может выполнять код приложения. 🔗 Как LLDB использует модули Swift #iOS 🐸 Библиотека мобильного разработчика

😎 Выбираешь один курс, второй получаешь бесплатно. Баг? Нет, акция! До 31 октября в Proglib Academy можно выбрать два курса
😎 Выбираешь один курс, второй получаешь бесплатно. Баг? Нет, акция! До 31 октября в Proglib Academy можно выбрать два курса и заплатить только за один. Например, можно совместить:
💥 ИИ для разработчиков — применение нейросетей в повседневной разработке: работа с кодом, тестирование и ревью. 💥 Разработка ИИ-агентов — архитектура агентов и создание собственных AI-решений.
Вместе курсы стоят 108 000 ₽, но по акции оба обойдутся в 59 000 ₽. Экономия — 49 000 ₽ 🔥 Интересуют Python и ИИ или алгоритмы и архитектура? Можно выбрать любые два курса из каталога. Акция действует до 31 октября включительно ⏳ ⏬ Собрать свой учебный билд

⚙️ Раздельная компиляция KMP выявляет обращения общего кода к платформенным объявлениям IDE подсвечивает ошибку, а проект собирается. В KMP такое возможно, если общий код обращается к платформенному объявлению из зависимости. Например, библиотека содержит класс только для JVM:
// lib/jvmMain
class PlatformStorage

// app/commonMain
fun createStorage() = PlatformStorage()
IDE считает такой вызов недоступным из commonMain. Но при прежней схеме сборки общий код мог компилироваться против платформенного артефакта зависимости — и вызов проходил. В Kotlin 2.5.0-Beta1 появился экспериментальный режим раздельной компиляции:
kotlin.kmp.separateCompilation=true
Общие наборы исходников в нём проверяются по общим объявлениям зависимостей. Компилятор становится строже и согласуется с анализом IDE. Исправление — перенести контракт в общий код, при необходимости связав его с платформенной реализацией через expect/actual. Если код действительно относится только к JVM, ему место в jvmMain. Режим выключен по умолчанию и имеет известные ограничения. После включения старый проект может перестать собираться: скрытая платформенная зависимость станет явной ошибкой. 🔗 Почему IDE и компилятор расходились #АрхитектурныйКод 🐸 Библиотека мобильного разработчика

📱 StateFlow не знает, виден ли экран Сбор StateFlow из обычного launch сам по себе не останавливается, когда UI перестаёт бы
📱 StateFlow не знает, виден ли экран Сбор StateFlow из обычного launch сам по себе не останавливается, когда UI перестаёт быть виден. Обновление скрытого представления может закончиться ошибкой. Для Android UI документация предлагает repeatOnLifecycle(STARTED). Блок запускается при переходе в STARTED или выше, отменяется при остановке и создаётся заново, когда экран возвращается. API есть в lifecycle-runtime-ktx 2.4.0+. При этом отменяется UI-collection, а не обязательно источник данных. Работа upstream зависит от того, как он создан и какой режим sharing выбран. Не делайте вывод «сбор на экране остановлен, значит запросы и фоновые задачи тоже остановились». StateFlow и жизненный цикл Android #АрхитектурныйКод #JuniorKit #Android

📱 Compose: effect живёт, а callback уже изменился Экран ждёт завершения таймера в LaunchedEffect. При рекомпозиции ему перед
📱 Compose: effect живёт, а callback уже изменился Экран ждёт завершения таймера в LaunchedEffect. При рекомпозиции ему передали новый callback. Перезапускать ожидание не нужно, но вызвать старую функцию тоже нельзя. Для этого есть rememberUpdatedState: effect получает ссылку на State с актуальным значением. После рекомпозиции он продолжает прежнюю работу, а в конце обращается к обновлённому callback. Если же изменение параметра должно перезапустить операцию, включите его в ключи effect. Постоянный ключ Unit или true имеет смысл только когда операция действительно должна жить до выхода этого вызова из композиции. Это не универсальный способ убрать перезапуски. Пример LandingScreen в документации Compose #АрхитектурныйКод #MiddlePath #Android

👀 Как вы смотрите видео? Разбираете урок, слушаете интервью фоном или начинаете на телефоне, а продолжаете на большом экране? Хотим узнать, что делает просмотр удобным для вас. Вспомните последнее видео — ролик, урок, фильм или серию сериала — и расскажите о своём опыте. Если детали не запомнились, можно так и ответить. 🕰️ Опрос займёт около 3 минут. В результатах сможете сравнить свои привычки с ответами других участников. А разработчики и инженеры видеоплатформы расскажут, что происходит по ту сторону экрана, пока вы смотрите видео. 🔗 Поделиться опытом 🐸 Библиотека программиста

От чатбота к агентам: опыт Митчелла Хашимото Для работы с кодом Хашимото перешёл от отдельного чата к агенту, который читает файлы проекта и запускает программы. После этого начал повторять собственную работу: сначала решал задачу сам, затем давал её агенту без готового решения. Так он выяснял, какие задачи можно поручать ИИ. Дальше добавлял инструкции в AGENTS.md, файл с правилами проекта, и способы проверить изменения, включая запуск тестов. В истории освоения ИИ в разработке Хашимото связывает выбор задач с настройкой рабочего окружения. Отдельные чаты при этом остались в его повседневной работе. #ии #инструменты

Где вы чаще всего работаете с ИИ-инструментом?
Anonymous voting

🎹 Что делать после ChatGPT? Следующий шаг — AI-агенты. Они не просто отвечают на запросы, а сами работают с данными, инструм
🎹 Что делать после ChatGPT? Следующий шаг — AI-агенты. Они не просто отвечают на запросы, а сами работают с данными, инструментами и выполняют цепочки действий. На курсе «Разработка ИИ-агентов» разбираем всё, что нужно для этого уровня: ⬇️ RAG и работа с данными ⬇️ MCP и инструменты ⬇️ структурированный вывод ⬇️ контроль качества и стоимости ⬇️ мультиагентные системы ⬇️ AgentOps Курс полностью в записи — проходите материалы в своём темпе, без привязки к расписанию. ⏰ 4 октября цена вырастет на 10 000 ₽. Если давно хотели разобраться в AI-агентах — сейчас ещё можно зайти по текущей цене. 🔗 ⁠Посмотреть курс

👨‍💻 Фронтенд с AI: что можно делегировать агентам 5 октября, стартует конференция Podlodka Frontend Crew — сезон о том, как
+4
👨‍💻 Фронтенд с AI: что можно делегировать агентам 5 октября, стартует конференция Podlodka Frontend Crew — сезон о том, как применять AI во фронтенд-разработке на практике. Участники конференции узнают: • Как находить prompt injection и противостоять таким атакам; • Какие подходы помогают повысить доверие к результатам агентской разработки; • Как проводить ревью кода, созданного AI-агентами; • Как AI помогает упростить починку багов. В программе ещё много практических кейсов. Также нужно отметить, что у конференции очень удобный формат. Это пять дней Zoom-сессий по утрам и вечерам и закрытое Telegram-комьюнити, где можно обсудить новый опыт и узнать от единомышленников то, что не догадаешься спросить у своей LLM. Приходите, чтобы разобраться, какие задачи уже можно делегировать AI, где важно сохранять контроль и как выстроить системную работу с AI в команде или проекте. 🔗 Программа и билеты, промокод на скидку — proglib

🔥 Последний день для разработчиков AI уже пишет код. Теперь важнее научиться встраивать его в разработку так, чтобы он дейст
🔥 Последний день для разработчиков AI уже пишет код. Теперь важнее научиться встраивать его в разработку так, чтобы он действительно экономил время.
На курсе «ИИ для разработчиков» собираете AI-workflow на своём проекте: от задачи и планирования до тестов, ревью и PR 🤩
Разберёте AI-агентов, MCP, контекст проекта, безопасность и контроль расходов на модели. 📍 Только сегодня, 30 сентября — скидка 10 000 ₽ Промокод: LastcallAI 🤩 ⁠Присоединиться к курсу

🎁 Вот как может выглядеть подарок человеку, у которого уже всё есть ☝️🎬 Не очередная кружка, сертификат или носки 😄 А собственный музыкальный клип, где главный герой — он сам. Его любимый трек. Его образ. Его история ❤️ С ClipChat не нужны съёмки и монтаж: загружаете трек, AI придумывает концепцию и раскадровку, создаёт сцены, сохраняет образ героя и собирает всё в готовый клип. А реакция потом одна: «ПОДОЖДИ… ЭТО КАК ВООБЩЕ СДЕЛАЛИ?!» 😳🔥 🎬 Создать свой клип в ClipChat

😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как тратить меньше на AI-агентов — без потер
😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как тратить меньше на AI-агентов — без потери качества кода. 🔘 Поговорим о том: — когда дорогая модель действительно нужна, а когда хватит дешёвой; — сколько стоит один прогон и куда уходят токены; — какие задачи можно отдавать субагентам; — как настроить маршрутизацию моделей; — что проверять в AI-коде перед merge. ✏️ Покажем всё на конкретных цифрах и вживую: сравним расходы до и после. ⬇️ 18 сентября, 19:00 МСК ⬇️ 1,5 часа · бесплатно ⬇️ Арсений Харланов и Олег Лайок 💬 Пишите в комментариях, где упираетесь в лимиты и на что уходят деньги. Самые залайканные вопросы разберём на вебинаре. 🔗 Зарегистрироваться на вебинар⁠

🖥 Наглядная шпаргалка по операторам Combine Внутри: описанием распространенных операторов Combine и схемами для каждого из них, иллюстрирующими, как значения проходят через конвейер. На схемах показаны наиболее часто используемые операторы. 🐸 Библиотека мобильного разработчика

🌸 Вселенная намекает: пора уже начать этот курс С 14 сентября цены в Proglib Academy вырастут на 20% 👀 Так что если курс давно ждёт своего часа — лучше не откладывать ещё на месяц 😏 📍 Выбрать курс