Как устроена логика навигации флоу в приложении Тинькофф
https://www.youtube.com/watch?v=NWuywNArj6M
#Android
👉 @developer_mobila
https://www.youtube.com/watch?v=NWuywNArj6M
#Android
👉 @developer_mobila
YouTube
Как устроена логика навигации флоу в приложении Тинькофф — Тимур Валиев, Тинькофф
Тимур рассказал, как мы сделали свой DSL для того, чтобы строить логику навигации в наших флоу в приложении Тинькофф.
#тинькофф #ит_фест #mobiledev
#тинькофф #ит_фест #mobiledev
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Siri Intents for WatchOS
Building custom intents for WatchOS apps: A step-by-step guide.
https://medium.com/simform-engineering/siri-intents-for-watchos-b45798950f2c
#ios
👉 @developer_mobila
Building custom intents for WatchOS apps: A step-by-step guide.
https://medium.com/simform-engineering/siri-intents-for-watchos-b45798950f2c
#ios
👉 @developer_mobila
👍2
Media is too big
VIEW IN TELEGRAM
Как создать пользовательский экран в SwiftUI
Имейте в виду, что это действительно работает в iOS 15! И хотя многие в комментариях хотят указать на более нативное решение, оно было представлено в iOS 16. Итак, это решение, которое также включает в себя довольно много настроек радиуса углов, цветов и многого другого, потому что вы также можете форкнуть это репо и редактировать его по своему усмотрению :]
https://github.com/fieldday-ai/Modals
#ios
👉 @developer_mobila
Имейте в виду, что это действительно работает в iOS 15! И хотя многие в комментариях хотят указать на более нативное решение, оно было представлено в iOS 16. Итак, это решение, которое также включает в себя довольно много настроек радиуса углов, цветов и многого другого, потому что вы также можете форкнуть это репо и редактировать его по своему усмотрению :]
https://github.com/fieldday-ai/Modals
#ios
👉 @developer_mobila
👍2
Screenshot testing in Compose
Тестирование - неотъемлемая часть любого проекта. Оно позволяет вам с уверенностью выпускать приложение, поддерживая высокий уровень стабильности и качества. Однако тестирование должно проводиться эффективно и обновляться каждый раз, когда в кодовой базе происходят изменения.
https://proandroiddev.com/screenshot-testing-in-compose-f8a7389a7e6
#Android
👉 @developer_mobila
Тестирование - неотъемлемая часть любого проекта. Оно позволяет вам с уверенностью выпускать приложение, поддерживая высокий уровень стабильности и качества. Однако тестирование должно проводиться эффективно и обновляться каждый раз, когда в кодовой базе происходят изменения.
https://proandroiddev.com/screenshot-testing-in-compose-f8a7389a7e6
#Android
👉 @developer_mobila
👍1
Поваренная книга SwiftUI: изображения и кнопки
SwiftUI позволяет невероятно просто добавлять изображения и кнопки в пользовательский интерфейс.
Кнопки необходимы для создания интерактивных элементов в пользовательском интерфейсе. В SwiftUI кнопки создаются с помощью представления Button.
https://www.kodeco.com/books/swiftui-cookbook/v1.0/chapters/6-add-a-button-in-swiftui
#ios
👉 @developer_mobila
SwiftUI позволяет невероятно просто добавлять изображения и кнопки в пользовательский интерфейс.
Кнопки необходимы для создания интерактивных элементов в пользовательском интерфейсе. В SwiftUI кнопки создаются с помощью представления Button.
https://www.kodeco.com/books/swiftui-cookbook/v1.0/chapters/6-add-a-button-in-swiftui
#ios
👉 @developer_mobila
👍1
ЗАБУДЬ про UITableView
DiffableDataSource упростит код, отобразит таблицу на основе сделанных снимков и анимирует ячейки
https://www.youtube.com/watch?v=z4vINGVv294
#ios
👉 @developer_mobila
DiffableDataSource упростит код, отобразит таблицу на основе сделанных снимков и анимирует ячейки
https://www.youtube.com/watch?v=z4vINGVv294
#ios
👉 @developer_mobila
YouTube
DiffableDataSource: ЗАБУДЬ про DATASOURCE
Boosty-аккаунт для iOS разработчика:
https://boosty.to/cmdbcmdr
- Ответы на вопросы с собеседований
- Спринт "Координатор"
- Курс "Combine c нуля"
- Курс "iOS разработчик с нуля": Базовые знания
- Принципы SOLID
- Решение задач с CodeWars/LeetCode
Полное…
https://boosty.to/cmdbcmdr
- Ответы на вопросы с собеседований
- Спринт "Координатор"
- Курс "Combine c нуля"
- Курс "iOS разработчик с нуля": Базовые знания
- Принципы SOLID
- Решение задач с CodeWars/LeetCode
Полное…
👍1
Тестирование Android PagingSource
В этой статье я расскажу о том, как протестировать PagingSource.
Зачем тестировать
Тестирование очень важно в разработке. Тестовый код делает вашу кодовую базу стабильной. С тестовым кодом рефакторинг становится проще, потому что после рефакторинга, если все тесты пройдены, вы можете быть уверены, что не создали новую ошибку.
https://ayousuf.hashnode.dev/testing-android-pagingsource
#Android
👉 @developer_mobila
В этой статье я расскажу о том, как протестировать PagingSource.
Зачем тестировать
Тестирование очень важно в разработке. Тестовый код делает вашу кодовую базу стабильной. С тестовым кодом рефакторинг становится проще, потому что после рефакторинга, если все тесты пройдены, вы можете быть уверены, что не создали новую ошибку.
https://ayousuf.hashnode.dev/testing-android-pagingsource
#Android
👉 @developer_mobila
👍1
Force Update Mechanism
В постоянно развивающемся ландшафте мобильных приложений обновление приложения - не просто лучшая практика, это часто необходимость. Будь то критический патч безопасности, выпуск новой функции или простое исправление ошибки, обеспечение того, что ваши пользователи работают с последней версией приложения, может иметь решающее значение как для удобства пользователей, так и для безопасности. Именно здесь в игру вступает концепция "принудительного обновления". Механизм принудительного обновления позволяет заставить пользователей обновить приложение, чтобы продолжить его использование. Это особенно полезно для критических обновлений, которые вы не можете позволить пользователям пропустить.
https://www.manu.show/2023-09-29-force-update-mechanism/
#ios
👉 @developer_mobila
В постоянно развивающемся ландшафте мобильных приложений обновление приложения - не просто лучшая практика, это часто необходимость. Будь то критический патч безопасности, выпуск новой функции или простое исправление ошибки, обеспечение того, что ваши пользователи работают с последней версией приложения, может иметь решающее значение как для удобства пользователей, так и для безопасности. Именно здесь в игру вступает концепция "принудительного обновления". Механизм принудительного обновления позволяет заставить пользователей обновить приложение, чтобы продолжить его использование. Это особенно полезно для критических обновлений, которые вы не можете позволить пользователям пропустить.
https://www.manu.show/2023-09-29-force-update-mechanism/
#ios
👉 @developer_mobila
manu.show
Force Update Mechanism
Implementing a basic force update mechanism in your SwiftUI app
👍2
Rise of Jetpack Media 3 — революция в воспроизведении мультимедиа на Android
https://proandroiddev.com/rise-of-jetpack-media-3-revolutionising-media-playback-on-android-45686bdb648
#Android
👉 @developer_mobila
https://proandroiddev.com/rise-of-jetpack-media-3-revolutionising-media-playback-on-android-45686bdb648
#Android
👉 @developer_mobila
Построение архитектуры дизайна системы Android для эффективной загрузки изображений с помощью чистой архитектуры
В постоянно развивающемся мире разработки мобильных приложений создание хорошо проработанного системного дизайна Android является залогом успеха. В этой статье мы расскажем вам о том, как построить надежную архитектуру дизайна системы Android для эффективной загрузки изображений, используя принципы чистой архитектуры. Мы обсудим, почему хорошо спроектированная система жизненно важна и что может пойти не так, если в вашем проекте отсутствует такая архитектура. Мы также приведем реальные примеры проектов с плохой архитектурой и их последствия.
https://murainoyakubu.medium.com/android-system-design-architecture-on-a-real-life-senario-d35f4e203b51
#Android
👉 @developer_mobila
В постоянно развивающемся мире разработки мобильных приложений создание хорошо проработанного системного дизайна 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
Упрощает реверс инжиниринг приложений для 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
GitHub
GitHub - ax/apk.sh: Makes reverse engineering Android apps easier, automating repetitive tasks like pulling, decoding, rebuilding…
Makes reverse engineering Android apps easier, automating repetitive tasks like pulling, decoding, rebuilding and patching an APK. - ax/apk.sh
👍2🔥1
Понимаем @ discardableResult в Swift
Атрибут
Swift известен тем, что в нем большое внимание уделяется безопасности типов и читаемости кода. Одним из свойств, соответствующих этим принципам, является атрибут
https://medium.com/mobile-app-development-publication/understanding-discardable-results-in-swift-1bb193738f25
#ios
👉 @developer_mobila
Атрибут
@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
Если вы хотите сделать хорошую архитектуру, то используйте эту схему и строго соблюдайте правила, без каких-либо исключений.
https://habr.com/ru/articles/766762/
#Android
👉 @developer_mobila
👍4
Чем занимается Android-разработчик, или Хватит уже спрашивать у них алгоритмы
Статья поделена на две части — в первой я описываю работу в команде и какие навыки для этого нужны, во второй части расскажу, что нужно для создания новой функциональности в приложении или для исправления старого. Иначе говоря, первая часть про людей, вторая — про код.
https://habr.com/ru/companies/yandex_praktikum/articles/726540/
#Android
👉 @developer_mobila
Статья поделена на две части — в первой я описываю работу в команде и какие навыки для этого нужны, во второй части расскажу, что нужно для создания новой функциональности в приложении или для исправления старого. Иначе говоря, первая часть про людей, вторая — про код.
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
В 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
Хабр
Компиляция Record для Android
В Android Developers Blog выходила статья Records in Android Studio Flamingo про то как компиляторы R8/D8 преобразуют классы java.lang.Record . В статье рассказывается как добиться минификации...
👍4
В AppMetrica появился инструмент прогнозирования LTV и оттока
С помощью Предиктов владельцы и маркетологи мобильных приложений смогут оптимизировать рекламные кампании на пользователей с высоким LTV, находить эффективные рекламные каналы с высокой рентабельностью, а также вовремя начать работу по удержанию пользователей.
https://www.sostav.ru/publication/appmetrica-66491.html
👉 @developer_mobila
С помощью Предиктов владельцы и маркетологи мобильных приложений смогут оптимизировать рекламные кампании на пользователей с высоким 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
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
YouTube
How to use TimelineView in SwiftUI | Advanced Learning #26
The TimelineView in SwiftUI is perfect for making complex, multi-step animations. In this video we will learn how to use it and review a few different implementations.
🤙 WELCOME BACK 🤙
WEBSITE: https://www.swiftful-thinking.com
DISCORD: https://disco…
🤙 WELCOME BACK 🤙
WEBSITE: https://www.swiftful-thinking.com
DISCORD: https://disco…
👍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
Привет, я Михаил Селезнев, андроид-разработчик в компании 1221Systems. Поделюсь своими впечатлениями о Compose — будет интересно коллегам, которые думают о переходе на него. Расскажу, в чем были сложности и что помогло мне быстрее разобраться.
Пару слов о моем бэкграунде: я в профессии больше четырех лет, в 1221Systems пришел полтора года назад на проект по разработке большого приложения для заказа продуктов ритейлинговой сети. Проработал около года, в марте этого года перешел на другой проект — приложение для сотрудников компании.
Само приложение написано на достаточно современном стеке: MVI, Koin, Coroutines + Flow, Jetpack Compose. При этом навигация реализована на фрагментах. В onCreateView возвращаем ComposeView, где в setContent прокидываем composable функцию.
https://habr.com/ru/articles/766814/
#Android
👉 @developer_mobila
Хабр
Как я осваивал Jetpack Compose
Привет, я Михаил Селезнев, андроид-разработчик в компании 1221Systems. Поделюсь своими впечатлениями о Compose — будет интересно коллегам, которые думают о переходе на него. Расскажу, в чем были...
👍2👎1
Сенсорная обратная связь в SwiftUI
https://swiftwithmajid.com/2023/10/10/sensory-feedback-in-swiftui/
#ios
👉 @developer_mobila
https://swiftwithmajid.com/2023/10/10/sensory-feedback-in-swiftui/
#ios
👉 @developer_mobila
Swift with Majid
Sensory feedback in SwiftUI
SwiftUI introduced the new sensoryFeedback view modifier, allowing us to play haptic feedback on all Apple platforms. This week, we will learn how to use the sensoryFeedback modifier to give haptic feedback on different actions in our apps.
Как мониторить здоровье вашей Gradle-сборки
Привет! Я Сергей Боиштян, Software engineer в команде Speed. Мы делаем инструменты для тестирования, андроид-разработки, CI и CD. Чтобы больше узнать о том, чем мы занимаемся, посмотрите наш github или канал для обсуждения CI и сборки под андроид.
В Авито постоянно что-нибудь обновляется, улучшается и дорабатывается, поэтому мы хотим, чтобы код быстро писался и проверялся, чтобы его быстро мёржили и проверяли после интеграции. В итоге мы получаем новую версию раз в неделю. В этой статье я расскажу, что мы делаем, чтобы весь CI работал четко.
https://habr.com/ru/companies/avito/articles/766764/
#Android
👉 @developer_mobila
Привет! Я Сергей Боиштян, Software engineer в команде Speed. Мы делаем инструменты для тестирования, андроид-разработки, CI и CD. Чтобы больше узнать о том, чем мы занимаемся, посмотрите наш github или канал для обсуждения CI и сборки под андроид.
В Авито постоянно что-нибудь обновляется, улучшается и дорабатывается, поэтому мы хотим, чтобы код быстро писался и проверялся, чтобы его быстро мёржили и проверяли после интеграции. В итоге мы получаем новую версию раз в неделю. В этой статье я расскажу, что мы делаем, чтобы весь CI работал четко.
https://habr.com/ru/companies/avito/articles/766764/
#Android
👉 @developer_mobila
👍2