Мобильная разработка #1
Открыть в Telegram
Всё о создании приложений под Android и iOS в одном месте. 🔹 Инструменты, библиотеки и ресурсы для ускорения работы. 🔹 Статьи и гайды для разработчиков любого уровня. 🔹 Тренды мобильной разработки и новости индустрии. Реклама @evgenycarter
Больше3 841
Подписчики
-224 часа
-97 дней
-1230 дней
Архив постов
Как создать игру Tic Tac Toe в Xcode 15 (SwiftUI)
#ios
👉 @developer_mobila
Как устроен протокол iMessage
В этом посте я вкратце расскажу о внутреннем устройстве iMessage, изученном мной в процессе работы над pypush — опенсорсным проектом воссоздания реализации iMessage.
Ради краткости и понятности я не буду вдаваться в технические подробности. Если вы хотите узнать, как конкретно всё реализовано, то изучите репозиторий pypush.
https://habr.com/ru/articles/779064/
#ios
👉 @developer_mobila
Готовим конфигурацию Android-приложения с помощью Dynamic Proxy и рефлексии
Android-разработчик RuStore Анатолий Гусев расскажет, как приготовить систему «холодных» конфигов для большого Android-приложения, построенного на многомодульной архитектуре. Под «холодными» конфигами здесь подразумеваются настройки приложения, которые нужно делать локально на девайсе без необходимости загружать их из сети.
https://habr.com/ru/companies/vk/articles/777874/
#Android
👉 @developer_mobila
Привет! Это Podlodka Crew, организатор онлайн IT-конференций.
25 марта стартует новый сезон по Android-разработке с темой «Оптимизация UI».
🟢 Попробуем использовать интегральные метрики производительности UI вместе с Павлом Воробкаловым из Яндекс. Наконец-то можно заменить тысячи метрик одной интегральной. Расскажем, как это делать и какие метрики из Web-разработки можно использовать для Android. Обучимся рассчитывать метрики с помощью Mobile Velocity Index.
🟢 Узнаем, как увеличивать производительность приложения с помощью Tracer. Создатель Tracer Кирилл Попов из VK в формате интервью ответит на вопросы об устройстве этого инструмента, объяснит суть и пользу профилирования приложений в проде.
🟢 Обсудим лучшие практики оптимизации Compose вместе с Антоном Хорошкевичем из Авито. Вместе рассмотрим основные аспекты производительности Compose на реальных кейсах. Научимся писать код так, чтобы не нарваться на проблемы.
🟢 Попрактикуемся в использовании дополненной реальности в Android-разработке на примере Додо пиццы. Василий Галузин из Dodo engineering расскажет про возможности и производительность AR.
Билеты уже на сайте:
https://podlodka.io/droidcrew
Поспеши забрать свой, чтобы досконально разобраться в производительности UI приложений. 📱
Реклама. ИП Толстая Елена Петровна ИНН:507503278104, erid:2SDnjdFoEMN
Swift Data Many to Many relationships
Table of Contents:
0:00 Introduction
1:10 Many to Many Relationships
1:42 The Genre Model
9:41 The GenreView
17:43 The NewGenreView
25:48 The GenreStackView
29:54 Deleting Genres
https://www.youtube.com/watch?v=lHdBkXp3j74
#ios
👉 @developer_mobila
Использование on-demand ресурсов для безопасного хранения ключей API в iOS-приложениях
Следует помнить, что извлечь строки из файлов IPA довольно просто, и поэтому, если мы храним API-ключи в коде, кто-то другой может получить к ним доступ. Это, конечно, большая проблема для безопасности.
https://augmentedcode.io/2023/11/27/using-on-demand-resources-for-securely-storing-api-keys-in-ios-apps/
#ios
👉 @developer_mobila
Как написать приложение для Android без опыта?
💻 Сделайте это всего за пару часов с нуля на бесплатном практическом уроке «Инструменты Android для кроссплатформенной разработки» от OTUS.
В рамках вебинара:
- напишем простое приложение под Android — игру крестики-нолики;
- выделим логику в кросс-платформенный модуль;
- напишем визуальную часть для десктоп с использованием Compose multiplatform;
- запустим приложение на разных платформах.
🕐 Встречаемся 21 марта в 20:00 мск в рамках курса «Специализация Android Developer». Доступна рассрочка на обучение!
👉 Регистрируйтесь прямо сейчас, чтобы посетить бесплатный урок и получить запись: https://vk.cc/cvs5U9
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Using Core Data and Swift Data side by side
Недавно я изучал, как настроить Core Data и Swift Data в NowPlaying так, чтобы они указывали на одно и то же постоянное хранилище данных, и тогда я смогу использовать оба фреймворка бок о бок.
Это полезно, если вы собираетесь перейти с Core Data на Swift Data, но хотите делать это постепенно, или если вы хотите использовать Swift Data для конкретных случаев использования в вашем приложении, таких как виджеты.
Учитывая, что Swift Data выполняет операции исключительно в главном потоке, я бы не рекомендовал полностью переходить на него, так как это негативно скажется на производительности вашего приложения, но он действительно может быть очень полезен для небольших и не затратных операций.
https://www.polpiella.dev/core-data-and-swift-data/
#ios
👉 @developer_mobila
Как мониторить здоровье вашей Gradle-сборки
Привет! Я Сергей Боиштян, Software engineer в команде Speed. Мы делаем инструменты для тестирования, андроид-разработки, CI и CD. Чтобы больше узнать о том, чем мы занимаемся, посмотрите наш github или канал для обсуждения CI и сборки под андроид.
В Авито постоянно что-нибудь обновляется, улучшается и дорабатывается, поэтому мы хотим, чтобы код быстро писался и проверялся, чтобы его быстро мёржили и проверяли после интеграции. В итоге мы получаем новую версию раз в неделю. В этой статье я расскажу, что мы делаем, чтобы весь CI работал четко.
https://habr.com/ru/companies/avito/articles/766764/
#Android
👉 @developer_mobila
Сенсорная обратная связь в SwiftUI
https://swiftwithmajid.com/2023/10/10/sensory-feedback-in-swiftui/
#ios
👉 @developer_mobila
Как я осваивал Jetpack Compose
Привет, я Михаил Селезнев, андроид-разработчик в компании 1221Systems. Поделюсь своими впечатлениями о Compose — будет интересно коллегам, которые думают о переходе на него. Расскажу, в чем были сложности и что помогло мне быстрее разобраться.
Пару слов о моем бэкграунде: я в профессии больше четырех лет, в 1221Systems пришел полтора года назад на проект по разработке большого приложения для заказа продуктов ритейлинговой сети. Проработал около года, в марте этого года перешел на другой проект — приложение для сотрудников компании.
Само приложение написано на достаточно современном стеке: MVI, Koin, Coroutines + Flow, Jetpack Compose. При этом навигация реализована на фрагментах. В onCreateView возвращаем ComposeView, где в setContent прокидываем composable функцию.
https://habr.com/ru/articles/766814/
#Android
👉 @developer_mobila
Как использовать TimelineView в SwiftUI
TimelineView в SwiftUI идеально подходит для создания сложных, многоступенчатых анимаций. В этом видео мы узнаем, как его использовать, и рассмотрим несколько различных реализаций.
00:00 Timeline
02:30 Welcome back!
03:37 Xcode 15
04:17 What is TimelineView?
06:56 Why do we need this?
08:16 Example Implementations
11:04 Customize Intervals
12:22 Real Time vs Real-Time
14:07 Pausing Animations
15:53 Timeline Cadence
17:06 Wrapping up
https://www.youtube.com/watch?v=ZmXp6Pd5Elg
#ios
👉 @developer_mobila
В AppMetrica появился инструмент прогнозирования LTV и оттока
С помощью Предиктов владельцы и маркетологи мобильных приложений смогут оптимизировать рекламные кампании на пользователей с высоким LTV, находить эффективные рекламные каналы с высокой рентабельностью, а также вовремя начать работу по удержанию пользователей.
https://www.sostav.ru/publication/appmetrica-66491.html
👉 @developer_mobila
Компиляция Record для Android
В Android Developers Blog выходила статья Records in Android Studio Flamingo про то как компиляторы R8/D8 преобразуют классы java.lang.Record. В статье рассказывается как добиться минификации компонентов toString() у Kotlin data-классов. Меня заинтересовала эта тема и я решил чуть более подробно в нее углубиться.
В этом посте я подсвечу некоторые моменты, оставшиеся "между строк" в оригинальной статье. Благодаря чему R8 может переписать метод toString() у Record. В чем разница между Record в Java и Kotlin. Можно ли добиться от Record в Android такой же динамики как в "настольной" JVM. Стоит ли для описания моделей использовать Record'ы вместо data-классов.
https://habr.com/ru/articles/766800/
#Android
👉 @developer_mobila
A Day in the Life of a SwiftUI View
https://www.youtube.com/watch?v=MRY3UCUVv98
#ios
👉 @developer_mobila
Чем занимается Android-разработчик, или Хватит уже спрашивать у них алгоритмы
Статья поделена на две части — в первой я описываю работу в команде и какие навыки для этого нужны, во второй части расскажу, что нужно для создания новой функциональности в приложении или для исправления старого. Иначе говоря, первая часть про людей, вторая — про код.
https://habr.com/ru/companies/yandex_praktikum/articles/726540/
#Android
👉 @developer_mobila
🤖 Какие есть технические метрики Android-приложений?
Узнайте на бесплатном практическом уроке от OTUS и Антона Казакова — руководителя направления Android-разработки в Золотом яблоке. На вебинаре разберём:
1. Введение в технические метрики
2. Основные метрики производительности
3. Метрики стабильности и надежности
4. Метрики эффективности использования ресурсов
🔥Встречаемся 13 марта в 20:00 мск в рамках курса «Android Developer. Professional». Доступна рассрочка на обучение!
👉 Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок и получить запись: https://vk.cc/cv2SbM
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Архитектура Android. Понятно и подробно
Если вы хотите сделать хорошую архитектуру, то используйте эту схему и строго соблюдайте правила, без каких-либо исключений.
https://habr.com/ru/articles/766762/
#Android
👉 @developer_mobila
Понимаем @ discardableResult в Swift
Атрибут
@discardableResult в Swift является ценным инструментом для улучшения читаемости кода и управления функциями, возвращающими значения, которые не всегда нужно использовать.
Swift известен тем, что в нем большое внимание уделяется безопасности типов и читаемости кода. Одним из свойств, соответствующих этим принципам, является атрибут @discardableResult. Этот атрибут позволяет пометить возвращаемое значение функции как «отбрасываемое» (discardable), что означает возможность игнорировать возвращаемое значение, не выдавая предупреждения компилятора. В этой статье мы рассмотрим, что такое отбрасываемый результат, почему он полезен и как эффективно использовать его в Swift.
https://medium.com/mobile-app-development-publication/understanding-discardable-results-in-swift-1bb193738f25
#ios
👉 @developer_mobilaКак оптимизировать код приложения с помощью R8?
💻Узнайте на бесплатном практическом уроке от OTUS и Антона Казакова — руководителя направления Android-разработки в Золотом яблоке. На вебинаре разберём:
1. Введение в R8
2. Установку и настройку
3. Оптимизацию производительности
4. Сжатие и уменьшение размера файлов
5. Работу с обфускацией кода
Встречаемся 28 февраля в 20:00 мск в рамках курса «Android Developer. Professional». Доступна рассрочка на обучение!
👉Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок и получить запись: https://vk.cc/cuQKd9
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
