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

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

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

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

РКН: https://gosuslugi.ru/snet/67a4adec1b17b35b6c0d8389
Download Telegram
💻 Топ вакансий для мобильных разработчиков за неделю

iOS разработчик — удалёнка

Senior Android Developer — от 270 000 ₽, удалёнка

Middle/Middle+ iOS Developer — 160 000 —‍ 250 000 ₽, удалёнка

Flutter-разработчик (Умные бьюти-решения) — от 250 000 ₽, гибрид (Москва)

iOS-разработчик — от 250 000 ₽, удалёнка

➡️ Еще больше топовых вакансий — в нашем канале Mobile jobs

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

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
2
🫆 Реализация биометрии в мобильных приложениях

Традиционные методы аутентификации уступают биометрии по:

• Удобству (не нужно запоминать пароли)
• Безопасности (уникальные биометрические данные)
• Скорости входа в приложение

🔐 Android Implementation (Biometric API)

1. Добавьте зависимость:

implementation 'androidx.biometric:biometric:1.1.0'


2. Проверка доступности:

val biometricManager = BiometricManager.from(context)
when (biometricManager.canAuthenticate()) {
BiometricManager.BIOMETRIC_SUCCESS -> // Доступно
BiometricManager.BIOMETRIC_ERROR_NO_HARDWARE -> // Нет сканера
BiometricManager.BIOMETRIC_ERROR_HW_UNAVAILABLE -> // Сканер занят
}


3. Запуск аутентификации:

val promptInfo = BiometricPrompt.PromptInfo.Builder()
.setTitle("Вход в приложение")
.setSubtitle("Приложите палец к сканеру")
.setNegativeButtonText("Отмена")
.build()

val biometricPrompt = BiometricPrompt(activity, executor, object : BiometricPrompt.AuthenticationCallback() {
override fun onAuthenticationSucceeded(result: BiometricPrompt.AuthenticationResult) {
// Успешная аутентификация
}
})

biometricPrompt.authenticate(promptInfo)


👨‍💻 iOS Implementation (LocalAuthentication)

1. Проверка доступности:

let context = LAContext()
var error: NSError?

if context.canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, error: &error) {
// Биометрия доступна
}


2. Запрос аутентификации:

context.evaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, 
localizedReason: "Для входа в приложение") { success, error in
DispatchQueue.main.async {
if success {
// Успешная аутентификация
}
}
}


🛡 Безопасность и лучшие практики

1. Fallback механизмы:

• Предусмотрите резервный PIN-код
• Не храните биометрические данные

2. UX рекомендации:

• Четко объясняйте зачем нужна биометрия
• Предлагайте альтернативные методы входа

3. Обработка ошибок:

• Многочисленные неудачные попытки
• Изменение биометрических данных

Как вы реализуете биометрию? Делитесь кейсами в комментариях 💬

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍2😁2
🤖 Всё о вайб-кодинге

В карточках разберемся, что такое вайб-кодинг на самом деле, в чем его плюсы и минусы, и почему вокруг него сейчас столько разговоров.

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

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

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱43👍1
Open SwiftUI Animations — коллекция анимаций SwiftUI

Open SwiftUI Animations — библиотека готовых эффектов и анимаций для SwiftUI. Этот репозиторий вдохновит вас на добавление полезных и выразительных анимаций SwiftU в ваг проект.

В нем есть анимации загрузки/прогресса, циклические, анимации включения/выключения, входа/выхода, затухания, вращения и фоновые анимации, а кроме того потрясающие пружинные анимации.

💻 Open SwiftUI Animations на GitHub

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
🔥 Успей поднять квалификацию по выгодной цене!

Только до 17 августа у вас есть последняя возможность купить наши курсы по старым ценам.

🔹 Математика для Data Science:

— Базовый: (сейчас) 26 399₽(будет) 33 900₽
— Ультра: 35 199₽44 900₽
— VIP: 59 829₽75 900₽ (выгода больше 16 000₽!)

🔹 Программирование на Python: 24 990₽32 900₽
🔹 Алгоритмы и структуры данных: 31 669₽39 900₽
🔹 Архитектуры и шаблоны проектирования: 24 890₽32 900₽
🔹 AI-агенты для DS специалистов: 54 000₽59 000₽
🔹 Основы IT для непрограммистов: 14 994₽19 900₽
🔹 Базовые модели ML: 6 990₽9 900₽

Важно: Курсы из линейки Frontend Basic полностью снимаются с продажи. 17 августа — буквально последний день, когда их можно будет приобрести.

Успей купить до повышения — осталось 4 дня!

👉 Зафиксировать цену и начать учиться
🎙 Подкасты и видео о мобильной разработке

Собрали лучшее о мобильной разработке. Включаем и смотрим по пути на работу.

Код, который не тормозит:
секреты производительности на iOS


Нюансы работы Android Runtime в сравнении с
HotSpot VM


Запись Avito Mobile Meetup

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
2
👨‍💻 Опыт перехода на Swift Package Manager

На Хабре уже опубликовано немало статей о переходе на Swift Package Manager — как успешных, так и не очень. В случае автора миграция прошла удачно, однако на каждом этапе возникали проблемы, которые было сложно нагуглить или вообще найти решения.

Именно поэтому автор решил собрать все накопленные знания и поделиться ими в этой статье, чтобы помочь другим разработчикам сэкономить время.

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

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

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🚀 Главная ошибка новичка в ML — строить звездолёт вместо велосипеда

Многие сразу хотят свою Midjourney, но в итоге получают только выгорание.

Успех начинается с «велосипеда»: научитесь предсказывать цены или классифицировать отзывы. Освойте базу, а уже потом стройте «звездолёты».

Наш курс «ML для старта в Data Science» — это и есть тот самый правильный старт от простого к сложному.

👉 Начните правильно

Берёте курс «ML для старта» до конца недели — Python в подарок.

А 21 августа пройдет бесплатный вебинар с Марией Жаровой: узнаете, какие проекты качают скилл, а какие качают ваши нервы.

А какой самый сложный проект вы брались делать в самом начале? 🫢
✏️ git rebase -i – мощный инструмент для «переписывания» истории коммитов

🔍 Что делает ключ -i (interactive)?

Позволяет интерактивно редактировать цепочку коммитов перед их применением. Это как «машина времени» для вашего кода.

💡 Основные возможности:

git rebase -i HEAD~5  # Редактируем последние 5 коммитов


Откроется редактор с меню, где можно:

pick – оставить коммит как есть
reword – изменить сообщение коммита
squash – объединить с предыдущим коммитом
edit – внести изменения в код коммита
drop – удалить коммит

🛠 Практические примеры:

1. Объединение коммитов (чтобы избежать "WIP" в истории):

pick a1b2c3 Важная фича  
squash d4e5f6 Правки по код-ревью
squash g7h8i9 Фикс опечатки


2. Разделение коммита (через edit):

После отметки коммита как edit:

git reset HEAD~1  # откатываем изменения  
git add -p # добавляем изменения частями
git commit -m "Новое сообщение"
git rebase --continue


3. Удаление секретного ключа из истории (через drop).

⚠️ Важные предупреждения:

Не используйте на публичных ветках (если коммиты уже отправлены в удаленный репозиторий).
Резервная копия – перед операцией сделайте git backup-branch.
Конфликты – будьте готовы их разрешать (как при обычном rebase).

Когда вы последний раз использовали
rebase -i? Делитесь кейсами в комментах 💬

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
2👏2
🧠 Выбор первого ML-проекта: чеклист против выгорания

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

Мини-чеклист первого проекта:

1. Понятные данные — без «я нашёл датасет в даркнете, но он на суахили».

2. Измеримая метрика — «точность 92%», а не «ну вроде работает».

3. Объяснимый результат — чтобы не-техлид понял, почему модель ругается на спам.

Наш курс «ML для старта в Data Science» — старт от простого к сложному: теория → практика → проверка → проект в портфолио.

👉 Начать свой путь в Data Science

Оплатите курс по ML до 17 августа — курс по Python в подарок.

📅 Бесплатный вебинар с Марией Жаровой — 21 августа: как выбирать проекты, которые доводят до оффера, а не до психотерапевта.

💾 Сохрани, чтобы не потерять, когда будешь готов(а) начать
💰 Как не прогадать с зарплатой

В карточках рассмотрим несколько способов, как определить свою стоимость на рынке труда.

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

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

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2😁1