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

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

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

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

РКН: https://gosuslugi.ru/snet/67a4adec1b17b35b6c0d8389
Download Telegram
😎 Сколько баллов набрали вы?

Голосуйте, какой у вас уровень разработчика:

😁 — 5-12 баллов (стажер)
👍 — 13-25 баллов (джуниор)
⚡️ — 26-40 баллов (джуниор+)
👏 — 41-60 баллов (миддл)
🔥 — 61-80 баллов (миддл+)
🎉 — 81-100 баллов (сеньор)
🤩 — 100+ баллов (тимлид)

Но вот в чем прикол — опытный разработчик набирает баллы не случайными косяками, а осознанными решениями.

👉 Научим, как быстро прокачаться от стажера до сеньора
👨‍💻 ARC в Swift

ARC (Automatic Reference Counting) - это метод подсчёта ссылок на объекты, который используется Apple для управления памятью в Swift.

Автор разберёт, что такое ARC на самом деле, посмотрит, как он работает на уровне SIL, и заглянет немного в историю управления памятью в iOS.

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

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

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
3
🔥 6 горячих клавиш VS Code

Горячие клавиши — добро, польза и экономия времени. Давайте разберёмся, как с их помощью упростить себе жизнь в Visual Studio Code.

1️⃣ Перейти к парной скобке

Windows — Ctrl + Shift + \

macOS — Shift + Command + \

Когда кода становится много, очень просто запутаться в закрывающих и открывающих скобках, непонятно, где какой блок, и вообще, что происходит. На помощь приходит Ctrl + Shift + \ — это хорошее дополнение к стандартной подсветке парных скобок в VS Code.

2️⃣ Переименовать переменную

Windows — F2

macOS — F2

Писали, писали, а старший разработчик пришёл и сказал, что ваши переменные a, b и c — дурной тон. Чтобы не выискивать их по всему документу и не менять руками, есть F2.

3️⃣ Отформатировать документ

Windows — Shift + Alt + F

macOS — Shift + Option + F

VS Code предложит установить расширение или выбрать из существующих, а потом красиво отформатирует документ — расставит по местам блоки и скобки, сделает строки кода читаемыми.

4️⃣ Перейти к переменной

Windows — F12

macOS — F12

Иногда вообще непонятно, откуда взялась переменная, какая у неё область видимости и где она объявлена. F12 перенесёт вас к объявлению выделенной переменной, функции или метода. Если объявление в другом файле — всё равно перенесёт.

5️⃣ Включить или выключить перенос слов

Windows — Alt + Z

macOS — Option + Z

Если строки кода или текст не вмещаются в редактор по ширине, включите перенос.

6️⃣ Включить дзен-режим

Windows — Ctrl + KZ

macOS — Command + KZ

Лучшее решение для тех, кто входит в состояние потока, когда пишет код. Дзен-режим скрывает все панели, разворачивает редактор на весь экран, и вы можете плыть в волнах кода и думать только о нём. Чтобы вернуться в реальный мир, нажмите Escape.

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
2
🔒 Оптимистическая vs пессимистическая блокировка

Что произойдет, если несколько пользователей одновременно начнут менять одни и те же данные? Скорее всего — потеря изменений и ошибки.

Чтобы этого избежать, в системах используются блокировки: пессимистические — когда конфликтам не дают случиться, и оптимистические — когда система проверяет их только перед сохранением.

Разбираемся, как работают блокировки и какая из них лучше подойдет вашему приложению.

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

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

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🌚1
🎮 КВЕСТОВАЯ ЛИНИЯ: «Путь Data Scientist'а»

⮕ Твой стартовый набор искателя данных:
Python — твое легендарное оружие (урон по багам +∞)
Математика — твой базовый интеллект (влияет на понимание алгоритмов)
Машинное обучение — твое дерево навыков (открывает новые способности)


⚡️ АКТИВЕН ВРЕМЕННЫЙ БАФФ: «Щедрость наставника»

Эффект: –30% к цене полного набора ДСника
Было: 121.800 ₽ → Стало: 84.900 ₽

☞ Что ждет тебя в этом квесте

— Получение артефактов: портфолио проектов и сертификаты— Прокачка от новичка до Senior Data Scientist— Босс-файты с реальными задачами из индустрии— Доступ к гильдии единомышленников


📎 Забрать бафф
Рассрочки: 3 мес | 6 мес | 12 мес
⚡️ Будь как этот гений с картинки — предлагай свои условия работодателю, а не наоборот!

Кто нужен?
Senior ML-Engineer с опытом работы более 6 месяцев в FAANG компаниях. Требование: разработать кросс-платформенное приложение-трекер зарплат с AI-распознаванием вакансий по резюме.


Но если вы пока джун — я бы предложил:

- Full-time контракт: 180к/мес после курса + опцион на карьеру в топ-компаниях
- Либо фикс за проект: стань ML-инженером за 39к вместо 44к с промокодом LASTCALL

🔗 Старт 9 сентября
👍1
🗓 Новости недели

Приготовили для вас дайджест по актуальному из мира iOS, Android и кроссплатформы.

🔵 «Стеклянный мир» iOS 26. Адаптируем приложение под новые гайдлайны

Уже скоро релиз iOS 26 и обновления SDK приложений. Apple снова вносит корректировки, а разработчики и дизайнеры снова подстраиваются. У текущих приложений будет переходный период, но вопрос с обновлением интерфейсов рано или поздно настанет и придется адаптировать под новый SDK и стиль Liquid Glass, чтобы продукт выглядел современно.

🔵Создание потрясающих загрузочных анимаций с помощью SF Symbols

SF Symbols позволяет легко создавать мощные и гибкие анимации и эффекты. По мнению автора, для разработчиков, ориентирующихся на последние версии ОС, этот инструмент становится предпочтительным выбором по сравнению с написанием большого объема кастомного кода.

🔵 Flow-контейнеры в Compose

Понимая и используя эти функции, вы сможете создавать более адаптивные и визуально привлекательные пользовательские интерфейсы в Jetpack Compose.

🔵 Упрощаем NFC: обзор нового SDK для Android разработки

Работа с NFC в Android всегда была непростой задачей. Нативный API требует от разработчика понимания низкоуровневых протоколов и механизмов обработки данных. Новый TAO NFC SDK (Android) призван решить эту проблему, предоставляя высокоуровневую абстракцию, которая значительно упрощает взаимодействие с NFC-метками.

🔵 Compose Multiplatform простое приложение c MVI

Статья об использовании мультиплатформенного решения на Compose с минимальным количеством сторонних beta библиотек.

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

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍1👏1
Вопрос с собеседования по Swift

Какие потенциальные улучшения вы здесь видите?

Вы просматриваете пулл-реквест и столкнулись с этим методом:

func turnTo(direction: String){
if direction == "North" {
northAction()
} else if direction == "East" {
eastAction()
} else if direction == "South" {
southAction()
} else if direction == "West" {
westAction()
} else {
print("No valid direction specified")
}
}


Какие улучшения вы можете предложить автору кода?

Даже если этот код может работать, есть два момента, которые следует учитывать.

• Использование жестко закодированных строк типа (например, "West") - плохая идея. Что если кто-то неправильно напишет это слово? Чтобы решить эту проблему, следует отказаться от жестко закодированных строк и вместо них использовать перечисление.

• Кроме того, как насчет использования оператора switch вместо длинного оператора if-else?

Благодаря этим улучшениям код станет более безопасным и читабельным:

enum Direction {
case North
case East
case South
case West
}
func turnTo(direction: Direction){
switch direction {
case .North: northAction()
case .East: eastAction()
case .South: southAction()
case .West: westAction()
default:
print("No valid direction specified")
}
}


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

#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5😢1
This media is not supported in your browser
VIEW IN TELEGRAM
Зовём на 2ХАКАТОН от 2ГИС

4–5 октября, офлайн, Москва
Два дня, чтобы общаться, кодить, вдохновляться и менять городские сервисы к лучшему!

Три трека: городские данные с ЦОДД, инклюзия с фондами «Антон тут рядом», «Продвижение», «ЛизаАлерт» и носимые устройства — часы, браслеты, AR и другие гаджеты.

Призовой фонд: 1 000 000 рублей
и шанс, что проект попадёт прямо в 2ГИС!

Регистрируйся с командой от 3 до 6 человек или соло — поможем найти команду в чате!

Реклама. ООО 'ДУБЛЬГИС', ИНН 5405276278, Erid: 2VSb5xSUckq
⌨️ Топ вакансий для мобильных разработчиков за неделю

Мобильный разработчик (React Native / другие) —‍ от 150 000 до 350 000 ₽, удалёнка

Старший iOS-разработчик —‍ от 300 000 до 540 000 ₽, гибрид (Москва)

Мобильный разработчик (Flutter) —‍ от 100 000 до 300 000 ₽, удалёнка

Разработчик мобильных приложений (React Native + Kotlin) —‍ от 250 000 ₽, удалёнка

Mobile Application Security Еngineer [Кибербезопасность] —‍
от 250 000 ₽, удалёнка

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

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

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Иногда реально ощущение, что нас держат в Матрице.

Большинство сидит, читает статьи про ML, смотрит ролики «как это работает» — и всё.

Сегодня последний день промокода Lastcall (−5000 ₽).
Уже завтра стартует первый вебинар по Машинному обучению — полный набор для выхода из Матрицы.

Кто готов вырваться из симуляции и ворваться в сезон найма?

👾 — я уже в команде Нео
👍 — хочу красную таблетку
🤔 — пока думаю, но интересно

Забирай полный комплект для ML-разработки: Python + Математика + Машинное обучение.
🔥 Скидка 30% действует только до 9 сентября → забираем себе
👾 Облегчаем жизнь больших экранов на Compose

В декларативных UI-фреймворках, таких как Jetpack Compose, принятым подходом является state hoisting. Это означает, что чаще всего мы стремимся управлять состоянием в родительском компоненте, а не хранить state прямо в UI-компоненте. Но всегда ли state hoisting так хорош?

На примере сложных экранов разобрались, как stateful-подход может существенно облегчить разработку больших экранов.

Но как же сделать stateful-компонент в большом проекте, если у нас:

🔘 API/Impl-архитектура;
🔘 dependency injection;
🔘 важна скорость сборки.

Автор рассказал про удобный способ создания stateful-компонентов в условиях большого проекта в рамках API/Impl-архитектуры. Это поможет разгрузить сложные экраны и делать переиспользуемые UI-компоненты в условиях API/Impl и DI.

👀 Смотреть доклад

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

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
3
⭐️ Capsule — скругленные углы для Jetpack Compose

Capsule — это библиотека Jetpack Compose, которая создает скругленные G2-сопряженные (радиус кривизны не имеет скачков) прямоугольники.

Отрисовка кубических кривых Безье на Android выполняется не очень эффективно. Однако библиотека Capsule использует очень эффективный метод расчёта контрольных точек, обеспечивая оптимальную теоретическую производительность.

💻 Capsule на GitHub

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51
📱 Выбираем мобильный фреймворк для e-commerce

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

Но что лучше выбрать: нативную разработку, кроссплатформу, или технологию Kotlin Multiplatform? Автор статьи разбирает эти три подхода и сравнивает плюсы и минусы каждой технологии.

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

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

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
2😁1
🎙 Подкасты и видео о мобильной разработке

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

Разбор MAX программистом

Организация кода в проекте — в какой пакет положить Kotlin класс

ProGuard — Стандарт Мобильной Безопастности?

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1