Библиотека мобильного разработчика | Android, iOS, Swift, Retrofit, Moshi, Chuck
رفتن به کانال در Telegram
Все самое полезное для мобильного разработчика в одном канале. По рекламе: @tproger_sales_bot Учиться у нас: clc.to/QSTQcA Для обратной связи: @proglibrary_feeedback_bot РКН: https://gos
نمایش بیشتر9 111
مشترکین
اطلاعاتی وجود ندارد24 ساعت
-27 روز
-4230 روز
در حال بارگذاری دادهها
کانالهای مشابه
ابر برچسبها
اشارات ورودی و خروجی
---
---
---
---
---
---
جذب مشترکین
اکتبر '26اکتبر '26
اکتبر '26
+45
در 2 کانالها
سپتامبر '26
+36
در 0 کانالها
Get PRO
اوت '26
+47
در 1 کانالها
Get PRO
ژوئیه '26
+44
در 1 کانالها
Get PRO
ژوئن '26
+48
در 1 کانالها
Get PRO
مه '26
+73
در 0 کانالها
Get PRO
آوریل '26
+52
در 0 کانالها
Get PRO
مارس '26
+78
در 1 کانالها
Get PRO
فوریه '26
+111
در 3 کانالها
Get PRO
ژانویه '26
+79
در 4 کانالها
Get PRO
دسامبر '25
+50
در 1 کانالها
Get PRO
نوامبر '25
+37
در 0 کانالها
Get PRO
اکتبر '25
+63
در 2 کانالها
Get PRO
سپتامبر '25
+61
در 1 کانالها
Get PRO
اوت '25
+78
در 2 کانالها
Get PRO
ژوئیه '25
+71
در 0 کانالها
Get PRO
ژوئن '25
+42
در 0 کانالها
Get PRO
مه '25
+58
در 4 کانالها
Get PRO
آوریل '25
+85
در 6 کانالها
Get PRO
مارس '25
+143
در 52 کانالها
Get PRO
فوریه '25
+130
در 35 کانالها
Get PRO
ژانویه '25
+101
در 40 کانالها
Get PRO
دسامبر '24
+99
در 36 کانالها
Get PRO
نوامبر '24
+135
در 42 کانالها
Get PRO
اکتبر '24
+183
در 38 کانالها
Get PRO
سپتامبر '24
+112
در 36 کانالها
Get PRO
اوت '24
+109
در 36 کانالها
Get PRO
ژوئیه '24
+186
در 35 کانالها
Get PRO
ژوئن '24
+152
در 30 کانالها
Get PRO
مه '24
+307
در 35 کانالها
Get PRO
آوریل '24
+294
در 36 کانالها
Get PRO
مارس '24
+372
در 29 کانالها
Get PRO
فوریه '24
+389
در 29 کانالها
Get PRO
ژانویه '24
+507
در 27 کانالها
Get PRO
دسامبر '23
+366
در 26 کانالها
Get PRO
نوامبر '23
+176
در 8 کانالها
Get PRO
اکتبر '23
+428
در 23 کانالها
Get PRO
سپتامبر '23
+400
در 0 کانالها
Get PRO
اوت '23
+415
در 0 کانالها
Get PRO
ژوئیه '23
+411
در 0 کانالها
Get PRO
ژوئن '23
+290
در 0 کانالها
Get PRO
مه '23
+420
در 0 کانالها
Get PRO
آوریل '23
+277
در 0 کانالها
Get PRO
مارس '23
+654
در 0 کانالها
Get PRO
فوریه '23
+195
در 0 کانالها
Get PRO
ژانویه '23
+190
در 0 کانالها
Get PRO
دسامبر '22
+217
در 0 کانالها
Get PRO
نوامبر '22
+229
در 0 کانالها
Get PRO
اکتبر '22
+108
در 0 کانالها
Get PRO
سپتامبر '22
+140
در 0 کانالها
Get PRO
اوت '22
+198
در 0 کانالها
Get PRO
ژوئیه '22
+242
در 0 کانالها
Get PRO
ژوئن '22
+189
در 0 کانالها
Get PRO
مه '22
+85
در 0 کانالها
Get PRO
آوریل '22
+68
در 0 کانالها
Get PRO
مارس '22
+138
در 0 کانالها
Get PRO
فوریه '22
+75
در 0 کانالها
Get PRO
ژانویه '22
+120
در 0 کانالها
Get PRO
دسامبر '21
+162
در 0 کانالها
Get PRO
نوامبر '21
+142
در 0 کانالها
Get PRO
اکتبر '21
+142
در 0 کانالها
Get PRO
سپتامبر '21
+150
در 0 کانالها
Get PRO
اوت '21
+206
در 0 کانالها
Get PRO
ژوئیه '21
+200
در 0 کانالها
Get PRO
ژوئن '21
+129
در 0 کانالها
Get PRO
مه '21
+311
در 0 کانالها
Get PRO
آوریل '21
+304
در 0 کانالها
Get PRO
مارس '21
+209
در 0 کانالها
Get PRO
فوریه '21
+206
در 0 کانالها
Get PRO
ژانویه '21
+178
در 0 کانالها
Get PRO
دسامبر '20
+6 962
در 0 کانالها
| تاریخ | رشد مشترکین | اشارات | کانالها | |
| 26 اکتبر | +1 | |||
| 25 اکتبر | +2 | |||
| 24 اکتبر | +1 | |||
| 23 اکتبر | +4 | |||
| 22 اکتبر | +2 | |||
| 21 اکتبر | +3 | |||
| 20 اکتبر | +3 | |||
| 19 اکتبر | +3 | |||
| 18 اکتبر | +1 | |||
| 17 اکتبر | +1 | |||
| 16 اکتبر | +2 | |||
| 15 اکتبر | 0 | |||
| 14 اکتبر | 0 | |||
| 13 اکتبر | +1 | |||
| 12 اکتبر | +3 | |||
| 11 اکتبر | 0 | |||
| 10 اکتبر | +2 | |||
| 09 اکتبر | +2 | |||
| 08 اکتبر | +1 | |||
| 07 اکتبر | +1 | |||
| 06 اکتبر | 0 | |||
| 05 اکتبر | +2 | |||
| 04 اکتبر | 0 | |||
| 03 اکتبر | +2 | |||
| 02 اکتبر | +1 | |||
| 01 اکتبر | +7 |
پستهای کانال
🖥 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
🐸 Библиотека мобильного разработчика
| 2 | 📌 Один курс — хорошее вложение в себя. Два по той же цене — ещё лучше.
В Proglib Academy действует акция: покупаешь один курс, а второй получаешь в подарок.
Например, можно совместить два направления по работе с ИИ:
💥 ИИ для разработчиков — применение нейросетей в повседневной разработке: работа с кодом, тестирование и ревью.
💥 Разработка ИИ-агентов — архитектура агентов и создание собственных AI-решений.
📍 Разница в цене — почти 50 тысяч рублей. Можно освоить больше, не выходя за рамки запланированного бюджета.
А если тебе интереснее Python, алгоритмы, backend или DevOps — выбирай другую пару курсов из каталога.
Акция действует до 31 октября включительно ⏳
⏮️ Пора прокачать свой стек | 460 |
| 3 | ⚙️ 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
🐸 Библиотека мобильного разработчика | 480 |
| 4 | ⚙️ Android Studio переносит анализ утечек LeakCanary с устройства на компьютер
Поиск утечки требует не только снять дамп кучи, но и разобрать связи между объектами. Если анализировать всё на тестовом телефоне, диагностика сама конкурирует с приложением за ресурсы.
В обзоре Android Studio Quail описана интеграция LeakCanary с профилировщиком: анализатор Shark работает на компьютере разработчика, а не на устройстве.
Так можно исследовать, почему объект остаётся достижимым, не перекладывая основную работу анализа на телефон. Команда сообщает о пятикратном ускорении трассировки утечек в своих измерениях.
Что эта цифра не означает
Она не описывает ускорение приложения и не гарантирует такой же результат для любого дампа. Сбор данных с устройства по-прежнему нужен, а время анализа зависит от объёма и структуры кучи.
Найденный путь удержания — отправная точка для проверки. Например, Activity может удерживаться слушателем, который забыли снять, но сам факт долгой жизни объекта ещё нужно сопоставить с ожидаемым жизненным циклом.
После исправления повторите сценарий: объект должен освобождаться там, где это предполагает архитектура приложения.
🔗 Интеграция LeakCanary в обзоре Android Studio
#Android
🐸 Библиотека мобильного разработчика | 553 |
| 5 | 🖥 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
🐸 Библиотека мобильного разработчика | 618 |
| 6 | 😎 Выбираешь один курс, второй получаешь бесплатно. Баг? Нет, акция!
До 31 октября в Proglib Academy можно выбрать два курса и заплатить только за один.
Например, можно совместить:
💥 ИИ для разработчиков — применение нейросетей в повседневной разработке: работа с кодом, тестирование и ревью.
💥 Разработка ИИ-агентов — архитектура агентов и создание собственных AI-решений.
Вместе курсы стоят 108 000 ₽, но по акции оба обойдутся в 59 000 ₽. Экономия — 49 000 ₽ 🔥
Интересуют Python и ИИ или алгоритмы и архитектура? Можно выбрать любые два курса из каталога.
Акция действует до 31 октября включительно ⏳
⏬ Собрать свой учебный билд | 616 |
| 7 | ⚙️ Раздельная компиляция 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 и компилятор расходились
#АрхитектурныйКод
🐸 Библиотека мобильного разработчика | 611 |
| 8 | 📱 StateFlow не знает, виден ли экран
Сбор StateFlow из обычного launch сам по себе не останавливается, когда UI перестаёт быть виден. Обновление скрытого представления может закончиться ошибкой.
Для Android UI документация предлагает repeatOnLifecycle(STARTED). Блок запускается при переходе в STARTED или выше, отменяется при остановке и создаётся заново, когда экран возвращается. API есть в lifecycle-runtime-ktx 2.4.0+.
При этом отменяется UI-collection, а не обязательно источник данных. Работа upstream зависит от того, как он создан и какой режим sharing выбран. Не делайте вывод «сбор на экране остановлен, значит запросы и фоновые задачи тоже остановились».
StateFlow и жизненный цикл Android
#АрхитектурныйКод #JuniorKit #Android | 821 |
| 9 | 📱 Compose: effect живёт, а callback уже изменился
Экран ждёт завершения таймера в LaunchedEffect. При рекомпозиции ему передали новый callback. Перезапускать ожидание не нужно, но вызвать старую функцию тоже нельзя.
Для этого есть rememberUpdatedState: effect получает ссылку на State с актуальным значением. После рекомпозиции он продолжает прежнюю работу, а в конце обращается к обновлённому callback.
Если же изменение параметра должно перезапустить операцию, включите его в ключи effect. Постоянный ключ Unit или true имеет смысл только когда операция действительно должна жить до выхода этого вызова из композиции. Это не универсальный способ убрать перезапуски.
Пример LandingScreen в документации Compose
#АрхитектурныйКод #MiddlePath #Android | 1 032 |
| 10 | 👀 Как вы смотрите видео?
Разбираете урок, слушаете интервью фоном или начинаете на телефоне, а продолжаете на большом экране?
Хотим узнать, что делает просмотр удобным для вас. Вспомните последнее видео — ролик, урок, фильм или серию сериала — и расскажите о своём опыте. Если детали не запомнились, можно так и ответить.
🕰️ Опрос займёт около 3 минут.
В результатах сможете сравнить свои привычки с ответами других участников. А разработчики и инженеры видеоплатформы расскажут, что происходит по ту сторону экрана, пока вы смотрите видео.
🔗 Поделиться опытом
🐸 Библиотека программиста | 755 |
| 11 | От чатбота к агентам: опыт Митчелла Хашимото
Для работы с кодом Хашимото перешёл от отдельного чата к агенту, который читает файлы проекта и запускает программы. После этого начал повторять собственную работу: сначала решал задачу сам, затем давал её агенту без готового решения.
Так он выяснял, какие задачи можно поручать ИИ. Дальше добавлял инструкции в AGENTS.md, файл с правилами проекта, и способы проверить изменения, включая запуск тестов.
В истории освоения ИИ в разработке Хашимото связывает выбор задач с настройкой рабочего окружения. Отдельные чаты при этом остались в его повседневной работе.
#ии #инструменты | 1 049 |
| 12 | Где вы чаще всего работаете с ИИ-инструментом? | 857 |
| 13 | 🎹 Что делать после ChatGPT?
Следующий шаг — AI-агенты. Они не просто отвечают на запросы, а сами работают с данными, инструментами и выполняют цепочки действий.
На курсе «Разработка ИИ-агентов» разбираем всё, что нужно для этого уровня:
⬇️ RAG и работа с данными
⬇️ MCP и инструменты
⬇️ структурированный вывод
⬇️ контроль качества и стоимости
⬇️ мультиагентные системы
⬇️ AgentOps
Курс полностью в записи — проходите материалы в своём темпе, без привязки к расписанию.
⏰ 4 октября цена вырастет на 10 000 ₽.
Если давно хотели разобраться в AI-агентах — сейчас ещё можно зайти по текущей цене.
🔗 Посмотреть курс | 1 172 |
| 14 | 👨💻 Фронтенд с AI: что можно делегировать агентам
5 октября, стартует конференция Podlodka Frontend Crew — сезон о том, как применять AI во фронтенд-разработке на практике.
Участники конференции узнают:
• Как находить prompt injection и противостоять таким атакам;
• Какие подходы помогают повысить доверие к результатам агентской разработки;
• Как проводить ревью кода, созданного AI-агентами;
• Как AI помогает упростить починку багов.
В программе ещё много практических кейсов. Также нужно отметить, что у конференции очень удобный формат. Это пять дней Zoom-сессий по утрам и вечерам и закрытое Telegram-комьюнити, где можно обсудить новый опыт и узнать от единомышленников то, что не догадаешься спросить у своей LLM.
Приходите, чтобы разобраться, какие задачи уже можно делегировать AI, где важно сохранять контроль и как выстроить системную работу с AI в команде или проекте.
🔗 Программа и билеты, промокод на скидку — proglib | 536 |
| 15 | 🔥 Последний день для разработчиков
AI уже пишет код. Теперь важнее научиться встраивать его в разработку так, чтобы он действительно экономил время.
На курсе «ИИ для разработчиков» собираете AI-workflow на своём проекте: от задачи и планирования до тестов, ревью и PR 🤩
Разберёте AI-агентов, MCP, контекст проекта, безопасность и контроль расходов на модели.
📍 Только сегодня, 30 сентября — скидка 10 000 ₽
Промокод: LastcallAI
🤩 Присоединиться к курсу | 1 042 |
| 16 | 🎁 Вот как может выглядеть подарок человеку, у которого уже всё есть ☝️🎬
Не очередная кружка, сертификат или носки 😄
А собственный музыкальный клип, где главный герой — он сам.
Его любимый трек. Его образ. Его история ❤️
С ClipChat не нужны съёмки и монтаж: загружаете трек, AI придумывает концепцию и раскадровку, создаёт сцены, сохраняет образ героя и собирает всё в готовый клип.
А реакция потом одна:
«ПОДОЖДИ… ЭТО КАК ВООБЩЕ СДЕЛАЛИ?!» 😳🔥
🎬 Создать свой клип в ClipChat | 441 |
| 17 | 😭 Как не потратить недельный лимит AI-кодинга за три дня?
Разберём на вебинаре, как тратить меньше на AI-агентов — без потери качества кода.
🔘 Поговорим о том:
— когда дорогая модель действительно нужна, а когда хватит дешёвой;
— сколько стоит один прогон и куда уходят токены;
— какие задачи можно отдавать субагентам;
— как настроить маршрутизацию моделей;
— что проверять в AI-коде перед merge.
✏️ Покажем всё на конкретных цифрах и вживую: сравним расходы до и после.
⬇️ 18 сентября, 19:00 МСК
⬇️ 1,5 часа · бесплатно
⬇️ Арсений Харланов и Олег Лайок
💬 Пишите в комментариях, где упираетесь в лимиты и на что уходят деньги. Самые залайканные вопросы разберём на вебинаре.
🔗 Зарегистрироваться на вебинар | 1 322 |
| 18 | 🖥 Наглядная шпаргалка по операторам Combine
Внутри: описанием распространенных операторов Combine и схемами для каждого из них, иллюстрирующими, как значения проходят через конвейер. На схемах показаны наиболее часто используемые операторы.
🐸 Библиотека мобильного разработчика | 1 086 |
| 19 | 🌸 Вселенная намекает: пора уже начать этот курс
С 14 сентября цены в Proglib Academy вырастут на 20% 👀
Так что если курс давно ждёт своего часа — лучше не откладывать ещё на месяц 😏
📍 Выбрать курс | 1 036 |
| 20 | 🤪 Если бы можно было задать один вопрос про AI в разработке — что бы вы спросили?
Как выбрать инструмент? Как работать с AI-агентами? Как проверять сгенерированный код? Или как вообще встроить нейросети в свой процесс?
Собираем вопросы для вебинара. Самые залайканные разберём в первую очередь 🔥
Пишите, что действительно интересно ⬇️ | 916 |
