Библиотека мобильного разработчика | Android, iOS, Swift, Retrofit, Moshi, Chuck
9.82K subscribers
1.46K photos
71 videos
52 files
4.22K links
Все самое полезное для мобильного разработчика в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/b60af5a4

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a4adec1b17b35b6c0d8389
Download Telegram
✏️ adb shell am start – запуск Activity с кастомными флагами и параметрами

Мощная команда для запуска конкретных экранов вашего приложения прямо из терминала, с возможностью передавать данные и управлять поведением Activity.

🔥 Базовый синтаксис:

adb shell am start -n com.package.name/.ActivityName  


🎯 Полезные сценарии:

1. Запуск с deep link:

adb shell am start -a android.intent.action.VIEW -d "myapp://detail/123"  


2. Запуск с передачей данных (extras):

adb shell am start -n com.package/.MainActivity --es "key" "value" --ei "number" 42 


--es – строка
--ei – integer
--ez – boolean

3. Запуск с флагами очистки стека (clear task):

adb shell am start -n com.package/.ActivityName --activity-clear-task 


4. Запуск в дебаг-режиме:

adb shell am start -D -n com.package/.ActivityName  


⚡️ Лайфхаки:

Узнать package name:

adb shell pm list packages | grep your_app  


Узнать доступные Activity:

adb shell cmd package resolve-activity -c android.intent.category.LAUNCHER your_package  


Какие параметры вы чаще всего передаете при запуске? Делитесь в комментах 💬

🐸 Библиотека мобильного разработчика

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
3
Мы сделаем вам предложение, от которого невозможно отказаться 🤌

Вы покупаете себе курс «Математика для Data Science» от преподавателей ВМК МГУ, а мы дарим второй такой же курс вашему другу.

Предложение действует только до 1 сентября. Ничего личного, просто математика.

👉 Принять предложение
📢 Какой сетап идеально подойдёт для разработки AI-агента?

Голосуйте за свой вариант и пишите в комментариях, в каком режиме вы реально кодите.

❤️ — 1
👍 — 2
⚡️ — 3
👏 — 4
🔥 — 5
🎉 — 6
😁 — 7
😍 — 8
🤩 — 9

Какой бы сетап ни был, без AI-агентов в 2025 всё равно далеко не уедешь.

👉 Научим, как строить агентов, которые кодят с тобой
👍8🔥7😍53🎉3
✏️ Чек-лист: оптимизация производительности

Убедись, что твое приложение летает, а не тормозит.

✔️ Для анализа производительности:

Замерить FPS в ключевых сценариях (≥55 для плавности)
Проверить потребление памяти в Profiler/Instruments
Проанализировать время запуска приложения
Проверить энергопотребление в фоновом режиме

✔️ Оптимизация UI:

Использовать RecyclerView/LazyColumn для списков
Убрать overdraw (наложение view)
Оптимизировать иерархию layout'ов
Кэшировать сложные view

✔️ Оптимизация данных:

Внедрить пагинацию для больших данных
Кэшировать сетевые запросы
Использовать эффективные форматы данных (Protocol Buffers)
Оптимизировать запросы к базе данных

✔️ Технические оптимизации:

Включить R8/ProGuard для минификации
Использовать WebP для изображений
Реализовать lazy loading для ресурсов
Разделить код на динамические модули

✔️ Метрики для оценки:

Время холодного старта: < 1.5 сек
Потребление памяти: < 200 МБ
Размер APK: < 50 МБ
FPS в анимациях: ≥55

Какие важные пункты мы забыли?
Пишите в комментариях
💬

🐸 Библиотека мобильного разработчика

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
2🥱1
👨‍💻 Stack Inspector

Сколько реально занимает стек в вашем iOS/macOS-приложении? Автор разберёт, как в рантайме:

🔘 контролировать использование стека,

🔘 предотвращать stack overflow,

🔘 безопасно оптимизировать рекурсию и работу фоновых потоков.

➡️ Читать статью

🐸 Библиотека мобильного разработчика

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
3
Осталось 48 часов!

Обратный отсчёт пошёл: только до воскресенья 23:59 можно купить курс «AI-агенты для DS-специалистов» и начать учиться уже с 15 сентября.

⚡️ Это ваши +3 недели форы, чтобы спокойно разобраться в самых сложных темах и прийти к первому занятию 7 октября уже подготовленным.

👉 Забрать место
🥱2
📉💼 5 трендов IT-найма 2025

Помнишь времена, когда можно было поменять работу и сразу получать на 50% больше? Забудь. В 2025-м правила игры кардинально изменились — теперь компании боятся ChatGPT на собесах, а искать работу через LinkedIn стало бесполезно. Разбираем 5 трендов, которые перевернули IT-найм с ног на голову.

👉 Читать статью

🐸 Библиотека мобильного разработчика

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
2😢1
🤓 «Сначала выучу Python идеально, а потом пойду в ML»

Звучит логично, но на практике — ловушка.
Python огромный: фреймворки, библиотеки, нюансы синтаксиса. Учить «всё сразу» можно бесконечно.

В итоге — месяцы зубрёжки, а до ML руки так и не доходят.

На старте достаточно баз: типы данных, циклы, функции, работа с библиотеками. Всё остальное лучше подтягивать в процессе решения ML-задач.

⚠️ До 1 сентября курсы можно забрать по старым ценам. Это последние выходные, когда:
ML идёт за 34 000 вместо 44 000 ₽ + Python в подарок,
два в одном: оплатите курс по математике и получите второй доступ в подарок,
— и главное: можно купить все курсы до подорожания.

👉 ML для старта в Data Science

А для будущих Data Scientist’ов у нас ещё:
Базовые модели ML и приложения
Математика для Data Science
AI-агенты для DS-специалистов (2-й поток скоро)
ПОСЛЕДНИЙ ДЕНЬ
КУРСЫ ПОДОРОЖАЮТ ЗАВТРА‼️

ML за 34к вместо 44к + Python в подарок
Математика → второй доступ в подарок
— Ранний доступ к AI-агентам с 15 сентября
— И МОЖНО УСПЕТЬ КУПИТЬ ВСЁ ДО ПОДОРОЖАНИЯ

👉 Proglib Academy
❗️Прогресс в технологическом стеке

С 2022 IT-рынок в России продолжает расти с высокой скоростью, однако в последнее время начал падать темп роста. Роль в этом сыграло и санкционное давление, и дефицит кадров, и необходимость быстрой перестройки после ухода западных продуктов.

Однако изменились и критерии оценки технологий — на первый план вышли
устойчивость, заменяемость компонентов, информационная безопасность.
Технологический стек и отношение к нему бизнеса напрямую влияет на жизнь простых разработчиков.

В статье автор рассматривает новые приоритеты бизнеса и предлагает уже доказавшие свою стабильность, проверенные решения

👉 Читать статью

🐸 Библиотека мобильного разработчика

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰2
⚡️ Команда дня: git rebase -i

Когда коммиты множатся быстрее, чем баги на проде, приходит время навести порядок в истории. И тут спасает интерактивный ребейз.

Что он умеет?
squash (s) — объединить несколько коммитов в один. Удобно при 10-ти коммитах «fix»
reword (r) — поменять сообщение коммита, не трогая сам код
edit (e) — остановиться на коммите, чтобы поправить код прямо в процессе переписывания истории
drop (d) — удалить ненужный коммит
pick (p) — оставить коммит как есть (по умолчанию)

Когда это пригодится?

🔸Перед созданием merge/pull request, чтобы не тащить в историю «мусорные» коммиты
🔸 Чтобы объединить мелкие правки в один логичный коммит
🔸 Чтобы откатить или отредактировать только часть изменений без лишнего шума

💡 А вы часто squash-ите коммиты или оставляете как есть?

🐸 Библиотека мобильного разработчика

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42🤩1
📉💼 Грейдинг умер, ИИ захватил собесы: 5 трендов IT-найма 2025

Помнишь времена, когда можно было поменять работу и сразу получать на 50% больше? Забудь. В 2025-м правила игры кардинально изменились — теперь компании боятся ChatGPT на собесах, а искать работу через LinkedIn стало бесполезно. Разбираем 5 трендов, которые перевернули IT-найм с ног на голову.

🔗 Читать статью

🐸 Библиотека мобильного разработчика
Please open Telegram to view this post
VIEW IN TELEGRAM
😁31
👀 Настройка мониторинга производительности мобильного приложения

Проблема

Пользователи удаляют приложения из-за:

• Долгой загрузки экранов
•Подвисаний интерфейса
•Высокого потребления батареи

Мониторинг производительности помогает выявлять и исправлять проблемы до того, как они повлияют на рейтинг приложения.

📊 Ключевые метрики для отслеживания

• Время запуска приложения (Cold/Warm/Hot start)
• Частота кадров (FPS) на основных экранах
• Потребление памяти (RAM)
• Использование CPU и батареи
• Скорость загрузки данных (сеть)

🛠 Инструменты мониторинга

1. Firebase Performance Monitoring (Android/iOS)

// Android: добавьте в build.gradle
implementation 'com.google.firebase:firebase-perf:20.5.1'


// iOS: добавьте в Podfile
pod 'FirebasePerformance'


2. Создание кастомных трейсов:

// Android
val trace = Firebase.performance.newTrace("screen_load")
trace.start()

// Выполнение работы...
trace.stop()

// iOS
let trace = Performance.startTrace(name: "screen_load")
// Работа...
trace.stop()


3. Отслеживание скорости загрузки экрана:

class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val trace = Firebase.performance.newTrace("main_activity_create")
trace.start()

setContentView(R.layout.activity_main)
// Инициализация UI

trace.stop()
}
}


📱 Настройка мониторинга FPS

Android (Choreographer)

class FpsMonitor : Choreographer.FrameCallback {
private var frameCount = 0
private var startTime = 0L

override fun doFrame(frameTimeNanos: Long) {
if (startTime == 0L) {
startTime = frameTimeNanos
}

frameCount++
val elapsed = (frameTimeNanos - startTime) / 1_000_000
if (elapsed >= 1000) {
val fps = (frameCount * 1000 / elapsed).toFloat()
// Отправка метрики
frameCount = 0
startTime = frameTimeNanos
}
Choreographer.getInstance().postFrameCallback(this)
}
}


iOS (CADisplayLink)

class FpsMonitor {
private var displayLink: CADisplayLink?
private var lastTimestamp: CFTimeInterval = 0
private var frameCount: Int = 0

func startMonitoring() {
displayLink = CADisplayLink(target: self, selector: #selector(step))
displayLink?.add(to: .main, forMode: .common)
}

@objc func step(displayLink: CADisplayLink) {
if lastTimestamp == 0 {
lastTimestamp = displayLink.timestamp
return
}

frameCount += 1
let delta = displayLink.timestamp - lastTimestamp
if delta >= 1 {
let fps = Double(frameCount) / delta
// Отправка метрики
frameCount = 0
lastTimestamp = displayLink.timestamp
}
}
}


📈 Анализ и визуализация данных

• Firebase Console – готовые графики и отчеты
• Custom dashboards – Grafana, Data Studio
• Оповещения – при падении FPS ниже 50 или росте потребления памяти

💡 Лучшие практики

• Мониторьте в продакшене – реальные данные пользователей
• Сегментируйте данные – по устройствам, версиям ОС, сетям
• Установите целевые показатели – например, 60 FPS, холодный запуск < 2 сек

🐸 Библиотека мобильного разработчика

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
3
Переворачиваем календарь — а там скидки, которые уже закончились.

Но мы их вернули на последний день 🤔

До 00:00 третьего сентября (цены как до 1 сентября):

▪️ Математика для Data Science — 35.199 ₽ вместо 44.900 ₽
▪️ Алгоритмы и структуры данных — 31.669 ₽ вместо 39.900 ₽
▪️ Основы IT — 14.994 ₽ вместо 19.900 ₽
▪️ Архитектуры и шаблоны — 24.890 ₽ вместо 32.900 ₽
▪️ Python — 24.990 ₽ вместо 32.900 ₽
▪️ ML для Data Science — 34.000 ₽ вместо 44. 000 ₽
▪️ AI-агенты — 49.000 ₽ вместо 59.000 ₽

👉 Хватаем скидки из прошлого

P.S. Машину времени одолжили у дяди Миши