Мобильная разработка #1 – Telegram
Мобильная разработка #1
3.98K subscribers
796 photos
85 videos
32 files
1.26K links
Всё о создании приложений под Android и iOS в одном месте.

🔹 Инструменты, библиотеки и ресурсы для ускорения работы.
🔹 Статьи и гайды для разработчиков любого уровня.
🔹 Тренды мобильной разработки и новости индустрии.

Реклама @evgenycarter
Download Telegram
Построение архитектуры дизайна системы Android для эффективной загрузки изображений с помощью чистой архитектуры

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

https://murainoyakubu.medium.com/android-system-design-architecture-on-a-real-life-senario-d35f4e203b51

#Android

👉 @developer_mobila
👍1
🕹️ apk.sh

Упрощает реверс инжиниринг приложений для Android, автоматизируя некоторые повторяющиеся задачи, такие как извлечение, декодирование, восстановление и исправление APK.

Особенности
– патчинг APK для загрузки frida-gadget.so при запуске
– поддержка пакетов приложений/разделенных APK
– разборка ресурсов до почти оригинального вида с помощью apktool
– восстановление декодированных ресурсов обратно в бинарный APK/JAR с помощью apktool
– подпись apk с помощью apksigner
– поддержка нескольких архитектур (arm, arm64, x86, x86_64)
– не требуется рутованное Android-устройство

https://github.com/ax/apk.sh

#Android

👉 @developer_mobila
👍2🔥1
Понимаем @ discardableResult в Swift

Атрибут @discardableResult в Swift является ценным инструментом для улучшения читаемости кода и управления функциями, возвращающими значения, которые не всегда нужно использовать.

Swift известен тем, что в нем большое внимание уделяется безопасности типов и читаемости кода. Одним из свойств, соответствующих этим принципам, является атрибут @discardableResult. Этот атрибут позволяет пометить возвращаемое значение функции как «отбрасываемое» (discardable), что означает возможность игнорировать возвращаемое значение, не выдавая предупреждения компилятора. В этой статье мы рассмотрим, что такое отбрасываемый результат, почему он полезен и как эффективно использовать его в Swift.

https://medium.com/mobile-app-development-publication/understanding-discardable-results-in-swift-1bb193738f25

#ios

👉 @developer_mobila
👍3
Архитектура Android. Понятно и подробно

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

https://habr.com/ru/articles/766762/

#Android

👉 @developer_mobila
👍4
Чем занимается Android-разработчик, или Хватит уже спрашивать у них алгоритмы

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

https://habr.com/ru/companies/yandex_praktikum/articles/726540/

#Android

👉 @developer_mobila
👍3
Компиляция 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
👍4
В AppMetrica появился инструмент прогнозирования LTV и оттока

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

https://www.sostav.ru/publication/appmetrica-66491.html

👉 @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
👍1
Как я осваивал Jetpack Compose

Привет, я Михаил Селезнев, андроид-разработчик в компании 1221Systems. Поделюсь своими впечатлениями о Compose — будет интересно коллегам, которые думают о переходе на него. Расскажу, в чем были сложности и что помогло мне быстрее разобраться.

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

Само приложение написано на достаточно современном стеке: MVI, Koin, Coroutines + Flow, Jetpack Compose. При этом навигация реализована на фрагментах. В onCreateView возвращаем ComposeView, где в setContent прокидываем composable функцию.

https://habr.com/ru/articles/766814/


#Android

👉 @developer_mobila
👍2👎1
Как мониторить здоровье вашей Gradle-сборки

Привет! Я Сергей Боиштян, Software engineer в команде Speed. Мы делаем инструменты для тестирования, андроид-разработки, CI и CD. Чтобы больше узнать о том, чем мы занимаемся, посмотрите наш github или канал для обсуждения CI и сборки под андроид.

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

https://habr.com/ru/companies/avito/articles/766764/

#Android

👉 @developer_mobila
👍2
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
Использование 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
👍2
Готовим конфигурацию Android-приложения с помощью Dynamic Proxy и рефлексии

Android-разработчик RuStore Анатолий Гусев расскажет, как приготовить систему «холодных» конфигов для большого Android-приложения, построенного на многомодульной архитектуре. Под «холодными» конфигами здесь подразумеваются настройки приложения, которые нужно делать локально на девайсе без необходимости загружать их из сети.

https://habr.com/ru/companies/vk/articles/777874/

#Android

👉 @developer_mobila
👍1
Как устроен протокол iMessage

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

Ради краткости и понятности я не буду вдаваться в технические подробности. Если вы хотите узнать, как конкретно всё реализовано, то изучите репозиторий pypush.

https://habr.com/ru/articles/779064/

#ios

👉 @developer_mobila
👍1
Создание простого калькулятора в Android Studio

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

https://habr.com/ru/articles/779464/

#Android

👉 @developer_mobila
👍4
Перед вами — книга-метод, книга-наставник, способная перевернуть мышление и помочь выработать осознанный подход к работе и жизни в целом путём высокоуровневого планирования.

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

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

Ознакомиться с книгой
👍1