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

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

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

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

РКН: https://gosuslugi.ru/snet/67a4adec1b17b35b6c0d8389
Download Telegram
🍏 Apple делает Swift Build в open source

Компания открыла исходный код Swift Build — движка сборки, который используется в Xcode и поддерживает миллионы приложений на iOS, macOS. Теперь он доступен для всех и поддерживает Linux и Windows.

Apple уже начала интеграцию Swift Build в Swift Package Manager. В будущем обещают новые фичи, оптимизацию производительности и кроссплатформенные инструменты.

👉 Подробнее в статье

#новость #ios
5
💻 Плагины: автоматизация разработки в продуктах JetBrains

Плагины для продуктов JetBrains, включая Android Studio, позволяют расширять функциональность IDE, улучшая процесс написания, отладки и тестирования кода. Они помогают автоматизировать рутинные задачи, интегрировать сторонние инструменты и адаптировать среду под индивидуальные потребности разработчика.

В этой статье мы рассмотрим, как плагины упрощают работу в Android Studio, ускоряют разработку и делают процесс кодинга более продуктивным.

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

#новость #android
3🌚1
👨‍💻 Корутины Kotlin в продакшене: уроки и подводные камни

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

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

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

#новость #android #kotlin
😢53👏1🎉1
🍏 Что делает init() в Swift

Метод init() используется для инициализации экземпляра.

Инициализация означает подготовку экземпляра (класса, структуры или перечисления) к использованию.

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

#swift
🥰6🥱5😁2
📃 Sheet с автоматическим подсчётом высоты и поддержкой iOS 15

В этой статье автор рассказывает о том, как создать нативный Sheet, который автоматически подсчитывает свою высоту в зависимости от контента (SwiftUI View).

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

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

#новость #ios #swift
1
👾 Backup в Android

Резервное копирование — малоизвестная и плохо задокументированная возможность Android. В VK ID решили провести с ней эксперимент и бэкапить некоторые авторизационные данные. Теперь это экономит им значительные суммы на SMS. Это реальный продуктовый кейс, который может помочь бизнесу.

В докладе автор погружается в эту технологию:

• как имплементировать;
• как работает под капотом;
• как тестировать;
• как обосновать бизнесу внедрение.

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

#новоть #android
👍2🤩1
📁 Как создать плагин для IntelliJ IDEA

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

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

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

#новость #kotlin #flutter
1
Привет, Мобильные разработчики! 👋

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

Ваши ответы дадут нам понимание, какие темы и форматы действительно важны, а также помогут сделать вебинары интереснее и продуктивнее.

Заполнение займет всего пару минут, а нам это очень поможет! Спасибо, что участвуете в нашем развитии! 💙

👉 Пройти опрос
3👍1🔥1👾1
👾 Создание плагинов с помощью Kotlin Multiplatform

Хоть Flutter и предоставляет полноценный фреймворк для создания кроссплатформенных приложений, интеграция нативного функционала иногда может быть весьма обременительной. Именно здесь на помощь приходит Kotlin Multiplatform (KMP).

KMP — это не просто инструмент, который конкурирует с Flutter, скорее, он предлагает мощный способ рационализировать разработку плагинов, позволяя разработчикам экономить время, беречь силы и писать эффективный, легко сопровождаемый код.

В этой статье автор делится опытом использования KMP для создания библиотеки общих настроек (Shared Preferences) для Flutter под названием SharedPrefsKMP. Эта библиотека упрощает управление общими настройками в Android и iOS, демонстрируя, как KMP может улучшить процесс разработки на Flutter.

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

#новость #kotlin
😁51
📱 qBitControl — удаленный клиент для qBittorrent

qBitControl — удаленный клиент для qBittorrent. С его помощью вы можете добавлять торренты через .torrent-файлы или magnet-ссылки, следить за ходом загрузки, управлять торрентами — делать паузу/возобновление, просматривать и управлять торрент-файлами, получать статистику в реальном времени.

⚙️ qBitControl на GitHub

#новость
3
🍏 Что нас ждёт в Swift 6

Как вы знаете, прошлой осенью зарелизился Swift 6, а вместе c ним появились и строгие проверки для защиты от датарейсов, связанные со Swift Concurrency. В Swift 5 такие проверки включались при помощи флага -strict-concurrency=complete, но, по заявлениям разработчиков Swift, были слишком консервативными.

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

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

#новость #ios #swift
🥰5
👾 Как работает модификатор crossinline?

crossinline — ключевое слово, которое используется для указания, что лямбда-выражение не может содержать нелокальных return, даже если оно передано в inline-функцию.

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

#kotlin
3
🔄 Безопасное обновление состояния в ViewModel

Это краткая заметка о подходе, который автор выработал для себя, чтобы обновлять состояние экрана при использовании MVI-like паттерна в ViewModel.

Следует отметить, что классический «полноценный» MVI подразумевает использование редьюсеров, которые решают часть проблем, описанных в этой заметке. Тем не менее этот подход может приводить к написанию значительного количества бойлерплейтного кода.

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

#новость #android #kotlin
🤩3
🗺️ Рисуем карты с помощью Swift Charts

Swift Charts — это мощный фреймворк, позволяющий визуализировать данные различными способами. Оказывается, с его помощью можно рисовать карты.

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

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

#новость #ios #swift
🥰32👍1
👾 Развитие Android глазами разработчика

Довольно много времени прошло с 2007 года, когда Android стал доступен для разработчиков. С тех пор прошло почти 18 лет. За это время изменилось примерно все: железо стало мощнее, интернет быстрее, IDE умнее, а проекты сложнее.

Автор предлагает оглянуться назад и посмотреть, что же именно изменилось с тех пор для разработчиков.

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

#новость #android
👍21
📊 Как себя чувствует IT-рынок в 2025 году?

Мобильные разработчики, запускаем важное исследование рынка труда в IT!

Нам очень важно понять:
• Как изменились зарплаты
• Что происходит с наймом
• Есть ли сокращения или рост

🔐 Опрос полностью анонимный
⏱️ Займёт всего 3-5 минут
📈 Результаты опубликуем в подробной статье

Ваши ответы помогут составить реальную картину происходящего в индустрии.

👉 Пройти опрос
🔥3
🌐 Такие разные Slivers: работа с пространством

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

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

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

#новость #flutter
🤩2👍1