Библиотека мобильного разработчика | 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
🕐 Делаем кастомный Date and Time picker как в Telegram на Kotlin Jetpack Compose

Вдохновившись колесиками для выбора времени и даты напоминаний Telegram, автор решил сделать на одном из своих пет‑проектов что‑то подобное. Первой мыслью было — найти этот код в исходниках Telegram, но т.к. скорее всего, у них это написано на Java, решил не тратить время на раскопки в Java‑коде, и сделал это на Jetpack Compose.

📖 Как сделать элемент с аналогичной функциональностью и внешне чем-то похожий на телеграмовский
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰5
#дайджест для Android-разработчиков 👋

🔹 ByteWeaver в Open Source: инструментирование байт-кода Java во имя великого блага.

🔹 Разработка дизайна на SDUI с Jetpack Compose and Firebase.

🔹 Официальный релиз Koin 4.0.

🔹 Использование Kotlin 2.0 для разработки.

🔹 Размер имеет значение: как измерить и уменьшить вес Android-приложения

🔹 Стань лучше с помощью Compiler Explorer.

🔹 Декларативный подход в организации gradle зависимостей в Android-проектах.

🔹 Как легко рисовать на GoogleMaps с помощью Compose?
👍1
В комментариях под этим постом вы можете сбросить напряжение и послать туда всё, что накопилось за неделю, месяц и даже за год.
👏5
weak vs strong ссылки в Swift. 🚀

При работе с объектами важно правильно управлять памятью, и вот здесь на помощь приходят — weak и strong ссылки!

🔹 Strong ссылки — это те, что «держат» объект в памяти. Если на объект есть хотя бы одна strong ссылка, он останется в памяти. Это удобно, но есть риск создания циклических ссылок, что может привести к утечкам памяти!

🔹 Weak ссылки, напротив, не удерживают объект в памяти. Если на объект остаются только weak ссылки, он будет удалён из памяти. Это полезно для избежания циклов, например, когда объекты ссылаются друг на друга.

💡Используйте strong ссылки, когда нужно гарантировать, что объект будет жить, и weak ссылки, чтобы избежать утечек памяти!

#Swift #iOS
🥱5🔥32👏1
🚀 GitHub Copilot в Xcode!

Нейросетевой помощник GitHub Copilot расширяет свои возможности, теперь он доступен для Xcode (Public Preview)!

Что может Copilot в Xcode?
• Предлагать варианты завершения кода в режиме реального времени
• Поддерживать языки Swift и Objective-C
• Автоматически подбирать целые блоки кода, а не только отдельные строки
• Помогать избежать уязвимостей и некачественного кода

Чтобы подключить Copilot в Xcode, нужно установить расширение из официальной инструкции.

👉 GitHub Docs
🤩5
📌 Flutter в Telegram Mini Apps!

Telegram Mini Apps — это одно из самых популярных и быстроразвивающихся направлений в Telegram. Благодаря мини-приложениям, Telegram стал не только мессенджером, но и мощной платформой для различных сервисов, доступных прямо внутри чатов.

А Flutter, в свою очередь, стремительно завоёвывает сердца разработчиков благодаря кросс-платформенности и гибкости.
Но насколько сложно совместить эти две технологии? 🤔

Ответ вы найдёте в статье, где автор рассказывает про практическое применение Flutter при разработке Telegram Mini App и делится результатом!

📖 Читать статью
#Flutter
🔥4🌚1
Бу!

Сегодня мы в костюме шестидневной рабочей недели! 😅
А вы как справляетесь с нагрузкой?
Делитесь своими лайфхаками и мемами — поддержим друг друга! 🧑‍💻

#интерактив
❤‍🔥5
💻🤔 Код сожаления: 10 ошибок, о которых жалеют даже опытные программисты

В программировании полно разных путей и нет единственно правильного способа достичь вершины мастерства. Но есть общие ловушки.


✔️Читать статью
🤩1🥱1
Пятничный #дайджест для мобильщиков

🍏 iOS 18 для разработчиков
Статья-обзор ключевых изменений в UIKit

🤖 Гайд для новичков в Android разработке
Статья про написание Android-приложения, которое не будет стыдно положить в портфолио.

⚙️ Flutter-приложения на Авроре
Статья про создание Flutter-приложения на Авроре

🍏 Objective-C не кусается
Статья про то, как перестать бояться Legacy и стать настоящим iOS-ниндзя

🤖 Опыт использования Dynamic Feature Delivery
Статья про динамические модули в приложениях на Android
1🔥3❤‍🔥1😍1
Хотите аналог Postman для МП?

Inspektify — KMP библиотека для Android и iOS с возможность отслеживания сетевых операций в реальном времени на основе Ktor

👉GitHub
#iOS #Android #Kotlin
1🥰4🌚1👾1
Создавай ИИ-приложения как профи: 17 опенсорсных инструментов

Полный набор инструментов для создания ИИ-приложений: генеративные модели, фреймворки для работы с ИИ-агентами и многое другое.

Читать статью
12🥰2👏1🤩1
🔑 Шифруем файлы в Android

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

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

Автор расскажет про опыт внедрения шифрования локальных файлов в приложении VK Teams, в том числе про подводные камни и неочевидные моменты, с которыми пришлось столкнуться.

👀 Смотреть доклад
#mobius #android
😁4🥰2
📌 Async, await и deferred в Kotlin

В Kotlin три ключевых инструмента для асинхронной работы: async, await и Deferred.

🔹 async запускает задачу в фоновом потоке и возвращает Deferred, объект с результатом. Полезно, когда нужно выполнить несколько операций одновременно.

🔹 await возвращает результат из Deferred, приостанавливая выполнение, пока задача не завершится. Если использовать await сразу после async, задача выполнится синхронно, поэтому лучше запускать задачи параллельно и вызывать await после всех.

🔹 Deferred — это «обещание» результата, который будет позже. Через него можно узнать статус, отменить задачу или дождаться её завершения.

Итак, async запускает, await возвращает результат, а Deferred — сам результат, доступный позже.

#Kotlin
🎉5❤‍🔥22👍1🥰1
📱Инклюзивный дизайн мобильных приложений

Задумывались ли вы, почему перила у лестницы находятся по правую руку, цифры в лифте идут снизу вверх по возрастанию, а бутылку с газировкой делают такой формы, чтобы рука могла комфортно обхватить её?

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

А если хотите сами создавать инклюзивный и доступный дизайн рекомендуем статью.
🔥2👏1
🍏 Малоизвестные фичи SwiftUI

SwiftUI предоставляет массу полезных инструментов, однако некоторые возможности остаются в тени.

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

👉 Читать статью
#iOS #Swift
👍3🥰2😁1
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
📘 Новый взгляд на код-стайл в Swift

В мире Swift существуют разные соглашения по код-стайлу, и многие из нас привыкли к стандартам вроде AirBnb’s Swift Code Convention. Вы наверняка сталкивались с правилами использования PascalCase для типов и lowerCamelCase для всего остального, или же указания именовать булевы переменные с приставками вроде is или has.

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

👉 Читать статью
#Swift #iOS
🥱5👏2🤩2
📈 Топ 5 плагинов для Android Studio

🔹Kotlin Fill Class — ускоряет разработку, автоматически заполняя классы и функции

🔹ADB Idea — добавляет удобные команды ADB, запускаемые через всплывающее меню

🔹Android Drawable Preview — показывает иконки в каталоге, упрощая навигацию

🔹Key Promoter X — обучает сочетаниям клавиш, предлагая их при использовании мыши

🔹IdeaVim — добавляет функционал Vim в Android Studio, с возможностью настройки через файл .ideavimrc.

#дайджест #android #kotlin
1🥰41👏1
Как часто, по вашему мнению, следует менять место работы?

Ставьте реакции:

— раз в год
🔥 — раз в 2-3 года
❤️ — раз в 5-6 лет

🌚 — а можно менять работу?
🔥57🌚3015😁52
🚫 Антитренды в мобильной разработке на Flutter

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

В статье разбирают «антитренды» и обсуждают, чем их можно заменить.

👉 Читать статью
#Flutter
😁4👍2
sealed class vs enum

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

🔹 enum — это тип данных, представляющий фиксированный набор значений, заданный на этапе компиляции и неизменяемый в процессе выполнения программы

🔹 sealed class — это абстрактный класс, позволяющий определять ограниченный набор значений, но эти значения могут быть расширены в будущем

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

#Kotlin
👾7👍2