This media is not supported in your browser
VIEW IN TELEGRAM
The SwiftUI Christmas Tree - новогодняя елка с анимацией на чистом SwiftUI. 31 декабря обещают добавить фейерверков.
The SwiftUI Christmas Tree на GitHub: https://github.com/GetStream/SwiftUIChristmasTree
Платформа: iOS
⭐️: 50
The SwiftUI Christmas Tree на GitHub: https://github.com/GetStream/SwiftUIChristmasTree
Платформа: iOS
⭐️: 50
Управление Xcode симулятором из симулятора
А зачем нам это вообще может понадобиться, управлять симулятором из симулятора ? Я придумал теоретический список, где нам это может пригодиться:
1. Управление симулятором во время тестов
2. Симулировать app линк во время UI теста
3. Послать пуш во время UI теста
4. Интеграция с другими приложениями
Статья: https://habr.com/ru/articles/868846/
Платформа: iOS
А зачем нам это вообще может понадобиться, управлять симулятором из симулятора ? Я придумал теоретический список, где нам это может пригодиться:
1. Управление симулятором во время тестов
2. Симулировать app линк во время UI теста
3. Послать пуш во время UI теста
4. Интеграция с другими приложениями
Статья: https://habr.com/ru/articles/868846/
Платформа: iOS
Секретная акция, или Как выйти за пределы UICollectionView
В этой статье я расскажу, как мы придумали и реализовали акцию с игровой механикой. Поделюсь техническими подробностями, расскажу про анимации, а также про то, как необычно можно использовать стандартное поведение коллекции.
Статья: https://habr.com/ru/companies/dododev/articles/855560/
Платформа: iOS
В этой статье я расскажу, как мы придумали и реализовали акцию с игровой механикой. Поделюсь техническими подробностями, расскажу про анимации, а также про то, как необычно можно использовать стандартное поведение коллекции.
Статья: https://habr.com/ru/companies/dododev/articles/855560/
Платформа: iOS
🔥1
Рефлексия замедляет работу вашего кода?
Когда я был начинающим программистом, мне всегда говорили, что отражение (рефлексия, reflection) - это медленно и его следует избегать, но я не мог наблюдать эту медлительность в реальных измерениях. Поэтому я решил сделать несколько бенчмарков, чтобы посмотреть, как отражение работает на самом деле, и, как оказалось, оно медленное, только если сравнивать его с обычными вызовами, которые чрезвычайно быстры. Если же сравнивать его с другими популярными операциями, такими как логирование или синхронизация, то оно не такое уж и медленнное.
Статья: https://kt.academy/article/benchmark-reflection
Платформа: Kotlin/Android
Когда я был начинающим программистом, мне всегда говорили, что отражение (рефлексия, reflection) - это медленно и его следует избегать, но я не мог наблюдать эту медлительность в реальных измерениях. Поэтому я решил сделать несколько бенчмарков, чтобы посмотреть, как отражение работает на самом деле, и, как оказалось, оно медленное, только если сравнивать его с обычными вызовами, которые чрезвычайно быстры. Если же сравнивать его с другими популярными операциями, такими как логирование или синхронизация, то оно не такое уж и медленнное.
Статья: https://kt.academy/article/benchmark-reflection
Платформа: Kotlin/Android
ИИ зрение на Android: CameraX ImageAnalysis + MediaPipe + Compose
На прошлой неделе мы рассмотрели основы библиотеки CameraX. Это заложило основу для чего-то действительно интересного... ИИ-зрения! Теперь мы можем использовать ваше Android-устройство для интерпретации и понимания окружающего нас физического мира.
ИИ-зрение обладает невероятным потенциалом, например, распознавание того, что изображено на фотографии, разделение/маскировка областей на изображениях, распознавание позы тела, улыбки и других жестов. И все это может работать на вашем телефоне - нет необходимости в доступе к интернету или передаче данных с камеры третьей стороне.
Статья: https://proandroiddev.com/ai-vision-on-android-camerax-imageanalysis-mediapipe-compose-db6afb738248
Платформа: Android
На прошлой неделе мы рассмотрели основы библиотеки CameraX. Это заложило основу для чего-то действительно интересного... ИИ-зрения! Теперь мы можем использовать ваше Android-устройство для интерпретации и понимания окружающего нас физического мира.
ИИ-зрение обладает невероятным потенциалом, например, распознавание того, что изображено на фотографии, разделение/маскировка областей на изображениях, распознавание позы тела, улыбки и других жестов. И все это может работать на вашем телефоне - нет необходимости в доступе к интернету или передаче данных с камеры третьей стороне.
Статья: https://proandroiddev.com/ai-vision-on-android-camerax-imageanalysis-mediapipe-compose-db6afb738248
Платформа: Android
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
App Sizer - это инструмент от Grab, предназначенный для анализа загружаемого размера приложения для Android. Предоставляя подробную информацию о составе бинарного файла приложения, App Sizer помогает разработчикам выявить области для уменьшения размера, что в конечном итоге повышает показатели привлечения и удержания пользователей.
App Sizer предлагает всесторонний анализ, включая:
• Общий размер загрузки приложений
• Детальная информация по размеру
• Размер по командам
• Размер по модулям
• Размер библиотек
• Список больших файлов
Есть плагин для Gradle и CLI утилита. Подробнее в статье.
App Sizer на GitHub: https://github.com/grab/App-Sizer
Платформа: Android
⭐️: 145
App Sizer предлагает всесторонний анализ, включая:
• Общий размер загрузки приложений
• Детальная информация по размеру
• Размер по командам
• Размер по модулям
• Размер библиотек
• Список больших файлов
Есть плагин для Gradle и CLI утилита. Подробнее в статье.
App Sizer на GitHub: https://github.com/grab/App-Sizer
Платформа: Android
⭐️: 145
👍1
Orbit MVI с сахаром: вкусный фреймворк для однородной архитектуры
Пойдем, расскажу тебе про фреймворк OrbitMVI. Узнала я о нем от своего лида: он делегировал мне задачу заменить наш самодельный Redux на Orbit, чтобы в нашем приложении архитектура стала удобнее и однороднее.
Статья: https://habr.com/ru/companies/ru_mts/articles/868328/
Платформа: Android
Пойдем, расскажу тебе про фреймворк OrbitMVI. Узнала я о нем от своего лида: он делегировал мне задачу заменить наш самодельный Redux на Orbit, чтобы в нашем приложении архитектура стала удобнее и однороднее.
Статья: https://habr.com/ru/companies/ru_mts/articles/868328/
Платформа: Android
SwiftUI: всё, что вам нужно знать о модификаторе containerRelativeFrame (и немного больше)
На WWDC 2023 компания Apple представила модификатор представления
Статья: https://habr.com/ru/companies/otus/articles/869346/
Платформа: iOS
На WWDC 2023 компания Apple представила модификатор представления
containerRelativeFrame для SwiftUI. Этот модификатор упрощает некоторые операции размещения элементов на экране, которые ранее было сложно выполнить обычными методами. В этой статье мы подробно рассмотрим модификатор containerRelativeFrame, его определение, правила компоновки, примеры использования и важные соображения. Чтобы еще больше расширить наше понимание его функциональных возможностей, в конце статьи мы также создадим обратно совместимую реплику для старых версий SwiftUI.Статья: https://habr.com/ru/companies/otus/articles/869346/
Платформа: iOS
Как мы работаем с производительностью Threads для iOS
Когда в 2023 году **** запустила Threads, оно стало самым быстрорастущим приложением в истории, набрав 100 миллионов пользователей всего за пять дней. Сейчас число ежемесячных международных пользователей приложения превысило 300 миллионов, а команда разработчиков расширилась от небольшой группы инженеров-отщепенцев до организации с более чем сотней соавторов.
Если оглянуться на то, каким было приложение Threads для iOS год назад, то многое изменилось: мы вышли в Европу, интегрировались с Fediverse, запустили публичный API, разработали множество новых способов для людей поделиться тем, что происходит в их мире, и внедрили новые методы для поиска и чтения лучшего контента. Мы даже отпраздновали наш первый день рождения с праздничными шляпами и иконками приложения!
Чтобы приложение было простым и приятным в использовании, а также чтобы его можно было масштабировать с быстро растущей базой пользователей и командой разработчиков, оно должно быть производительным. Вот как мы думаем о производительности приложения Threads для iOS, чему мы научились за первый год работы и как мы решали некоторые из наших самых больших проблем с производительностью.
Статья: https://apptractor.ru/info/articles/kak-my-rabotaem-s-proizvoditelnostyu-threads-dlya-ios.html
Платформа: iOS
Когда в 2023 году **** запустила Threads, оно стало самым быстрорастущим приложением в истории, набрав 100 миллионов пользователей всего за пять дней. Сейчас число ежемесячных международных пользователей приложения превысило 300 миллионов, а команда разработчиков расширилась от небольшой группы инженеров-отщепенцев до организации с более чем сотней соавторов.
Если оглянуться на то, каким было приложение Threads для iOS год назад, то многое изменилось: мы вышли в Европу, интегрировались с Fediverse, запустили публичный API, разработали множество новых способов для людей поделиться тем, что происходит в их мире, и внедрили новые методы для поиска и чтения лучшего контента. Мы даже отпраздновали наш первый день рождения с праздничными шляпами и иконками приложения!
Чтобы приложение было простым и приятным в использовании, а также чтобы его можно было масштабировать с быстро растущей базой пользователей и командой разработчиков, оно должно быть производительным. Вот как мы думаем о производительности приложения Threads для iOS, чему мы научились за первый год работы и как мы решали некоторые из наших самых больших проблем с производительностью.
Статья: https://apptractor.ru/info/articles/kak-my-rabotaem-s-proizvoditelnostyu-threads-dlya-ios.html
Платформа: iOS
AnimeTV - это приложение для Android TV для просмотра любимых аниме-сериалов и фильмов на вашем телевизоре. Приложение также работает на Android устройствах без телевизора (телефоны и планшеты) с некоторыми ограничениями пользовательского интерфейса. В качестве источников используются сторонние сайты, так что все может прекратить работать в один прекрасный момент.
AnimeTV на GitHub: https://github.com/amarullz/AnimeTV
Платформа: Android
⭐️: 767
AnimeTV на GitHub: https://github.com/amarullz/AnimeTV
Платформа: Android
⭐️: 767
👍1
Core - простая и легкая однонаправленная архитектура на Swift, которая не зависит от других фреймворков, это фреймворк для создания реактивных приложений, вдохновленный ReactorKit, Redux. Core является независимым, что означает, что вы можете импортировать все, что захотите, например Combine, RxSwift. Это очень легкая, простая и безумно быстрая архитектура по сравнению с аналогичными решениями.
Хотя CoreEngine предоставляет традиционные реактивные подходы и паттерны управления состояниями, автор настоятельно рекомендует использовать AsyncCore для современной, асинхронной и более эффективной работы с состояниями. AsyncCore использует структурированный параллелизм Swift с помощью async/await, обеспечивая чистый и интуитивно понятный способ управления обновлениями состояния, обработки побочных эффектов и обеспечения безопасности потоков с помощью модели Actor в Swift.
Core на GitHub: https://github.com/sobabear/CoreEngine
Платформа: iOS
⭐️: 50
Хотя CoreEngine предоставляет традиционные реактивные подходы и паттерны управления состояниями, автор настоятельно рекомендует использовать AsyncCore для современной, асинхронной и более эффективной работы с состояниями. AsyncCore использует структурированный параллелизм Swift с помощью async/await, обеспечивая чистый и интуитивно понятный способ управления обновлениями состояния, обработки побочных эффектов и обеспечения безопасности потоков с помощью модели Actor в Swift.
Core на GitHub: https://github.com/sobabear/CoreEngine
Платформа: iOS
⭐️: 50
Почему нулевой технический долг - это миф (и, возможно, красный флаг)
В конце концов, технический долг — это такая же форма долга, как и любая другая: он управляем, а иногда даже необходим. Это часть естественного баланса в реальном развитии. И если кто-то утверждает, что достиг мифического состояния «нулевого технического долга», я бы сказал, что он либо не понимает сути, либо работает над чем-то настолько несущественным, что это не имеет значения.
Статья: https://apptractor.ru/info/articles/pochemu-nulevoy-tehnicheskiy-dolg-eto-mif-i-vozmozhno-krasnyy-flag.html
Платформа: разработка
В конце концов, технический долг — это такая же форма долга, как и любая другая: он управляем, а иногда даже необходим. Это часть естественного баланса в реальном развитии. И если кто-то утверждает, что достиг мифического состояния «нулевого технического долга», я бы сказал, что он либо не понимает сути, либо работает над чем-то настолько несущественным, что это не имеет значения.
Статья: https://apptractor.ru/info/articles/pochemu-nulevoy-tehnicheskiy-dolg-eto-mif-i-vozmozhno-krasnyy-flag.html
Платформа: разработка
Простая оптимизация LazyColumn в одну строчку кода
Если вы работаете со списками в Jetpack Compose, вы наверняка использовали LazyColumn. Это фантастический инструмент для эффективного отображения больших списков данных с минимальными затратами производительности. Но знаете ли вы, что существует простой трюк, который может значительно повысить производительность вашего LazyColumn?
В этой статье вы узнаете, почему использование key в LazyColumn является обязательным, как его использовать и какие преимущества это дает вашему приложению.
Статья: https://apptractor.ru/info/articles/prostaya-optimizatsiya-lazycolumn-v-odnu-strochku-koda.html
Платформа: Android
Если вы работаете со списками в Jetpack Compose, вы наверняка использовали LazyColumn. Это фантастический инструмент для эффективного отображения больших списков данных с минимальными затратами производительности. Но знаете ли вы, что существует простой трюк, который может значительно повысить производительность вашего LazyColumn?
В этой статье вы узнаете, почему использование key в LazyColumn является обязательным, как его использовать и какие преимущества это дает вашему приложению.
Статья: https://apptractor.ru/info/articles/prostaya-optimizatsiya-lazycolumn-v-odnu-strochku-koda.html
Платформа: Android
This media is not supported in your browser
VIEW IN TELEGRAM
Sequence Showcase - создание последовательностей с подсветкой разных элементов на экране в определенном порядке. Полезно для онбординга или релиза новых фич.
Sequence Showcase на GitHub: https://github.com/jocoand/compose-showcase
Платформа: Android
⭐️: 13
Sequence Showcase на GitHub: https://github.com/jocoand/compose-showcase
Платформа: Android
⭐️: 13
Оптимизация под контролем: инструменты и метрики для Аndroid-приложений
Для пользователей важно, чтобы приложение открывалось быстро и работало отзывчиво. Чем быстрее оно загружается, плавнее работает, тем больше вероятность, что человек вернётся и продолжит им пользоваться. С другой стороны, постоянное добавление новой функциональности может негативно повлиять на скорость старта и отзывчивость приложения, что, вероятно, сподвигнет пользователя поискать более быстрый аналог.
Статья: https://habr.com/ru/companies/vk/articles/869904/
Платформа: Android
Для пользователей важно, чтобы приложение открывалось быстро и работало отзывчиво. Чем быстрее оно загружается, плавнее работает, тем больше вероятность, что человек вернётся и продолжит им пользоваться. С другой стороны, постоянное добавление новой функциональности может негативно повлиять на скорость старта и отзывчивость приложения, что, вероятно, сподвигнет пользователя поискать более быстрый аналог.
Статья: https://habr.com/ru/companies/vk/articles/869904/
Платформа: Android
Видео и подкасты за неделю на @AppFiles
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
#ios #android #mobile #video
•
(iOS Ru) Мок-интервью по мобильному системному дизайну (все собеседования)•
(iOS Ru) Задачи с собеседования: LRU Cache — leetcode•
(iOS En) Interactive Tab Bar - SwiftUI•
(iOS En) iPhone Apps 101 - Project Based SwiftUI App Development•
(iOS En) Multiple Image Viewer - AsyncImage - SwiftUI•
(And Ru) Куда идёт мобильная разработка: подводим итоги 2024 года•
(And En) How to Create a FAB Explode Transition Animation in Jetpack Compose•
(And En) I've Used Jetpack Compose For 4 Years - Here's the Good and the Bad•
(Crs Ru) PWA vs Native App. Как и зачем в Альфа-Бизнесе создавали свой MobileWeb•
(Dev Ru) Проектирование и запуск разработки•
(Dev Ru) Что не так с мобильными сервисами в Android и iOS•
(Dev Ru) Mobile App Performance: метрики производительности•
(Dev Ru) Релизный процесс приложений Ozon•
(Dev Ru) Effect oriented programming — Системы эффектов в языках программирования•
(Dev En) How Notion Builds Their iOS and Android Apps•
(Mrk En) I Spent $400 on Ads: How Many App Installs Did I Get?#ios #android #mobile #video
👍1
Giffy - клиентское приложение для Giphy, созданное с использованием таких интересных технологий для iOS, как TCA (The Composable Architecture by Point-Free), Swinject, SwiftUI, Чистая архитектура с подходом Generic Protocol, модуляризация SPM и XcodeGen.
Giffy на GitHub: https://github.com/uwaisalqadri/Giffy
Платформа: iOS
⭐️: 25
Giffy на GitHub: https://github.com/uwaisalqadri/Giffy
Платформа: iOS
⭐️: 25
Что такое Lazy Variables в Swift
Lazy Variables в Swift — это свойства, значение которых не инициализируется до тех пор, пока они не будут использованы. Это полезно в тех случаях, когда вычисление значения свойства является затратным по времени или ресурсам, и вы хотите избежать его выполнения до тех пор, пока это не потребуется.
Статья: https://apptractor.ru/info/articles/lazy-variables.html
Платформа: iOS
Lazy Variables в Swift — это свойства, значение которых не инициализируется до тех пор, пока они не будут использованы. Это полезно в тех случаях, когда вычисление значения свойства является затратным по времени или ресурсам, и вы хотите избежать его выполнения до тех пор, пока это не потребуется.
Статья: https://apptractor.ru/info/articles/lazy-variables.html
Платформа: iOS
👍1
mpvKt - медиаплеер для Android, основанный на mpv-android и стремящийся предоставить более приятный пользовательский интерфейс по сравнению с оригиналом. Предоставляет лучший UI, лучшее управление историей проигрывания, более простую кастомизацию, установки таймера сна, пресеты скорости воспроизведения, лучшую работу картинки-в-картинке.
mpvKt на GitHub: https://github.com/abdallahmehiz/mpvKt
Платформа: Android
⭐️: 712
mpvKt на GitHub: https://github.com/abdallahmehiz/mpvKt
Платформа: Android
⭐️: 712
👍1
Чистим Android-проект просто и правильно
При разработке Android-приложений дисковое пространство может быстро загрязняться результатами сборки, кэшами Gradle и конфигурационными файлами IDE.
По умолчанию команда Android Studio «Build → Clean Project» удаляет не все. Могут накапливаться кэши, артефакты из модулей, остатки файлов Gradle и результаты сборки.
В этой статье представлен один скрипт, который комплексно решает все эти проблемы, с фантастическим выводом консоли, показывающим использование пространства до и после. Рассматривается macOS/Linux (с помощью Bash) и Windows (с помощью Batch), а также проясняется, как Lite-чистка скрипта сравнивается с Build → Clean Project с точки зрения освобождаемого дискового пространства и объема проекта.
Статья: https://apptractor.ru/info/articles/chistim-android-proekt-prosto-i-pravilno.html
Платформа: Android
При разработке Android-приложений дисковое пространство может быстро загрязняться результатами сборки, кэшами Gradle и конфигурационными файлами IDE.
По умолчанию команда Android Studio «Build → Clean Project» удаляет не все. Могут накапливаться кэши, артефакты из модулей, остатки файлов Gradle и результаты сборки.
В этой статье представлен один скрипт, который комплексно решает все эти проблемы, с фантастическим выводом консоли, показывающим использование пространства до и после. Рассматривается macOS/Linux (с помощью Bash) и Windows (с помощью Batch), а также проясняется, как Lite-чистка скрипта сравнивается с Build → Clean Project с точки зрения освобождаемого дискового пространства и объема проекта.
Статья: https://apptractor.ru/info/articles/chistim-android-proekt-prosto-i-pravilno.html
Платформа: Android
❤2
CodeEditTextView - текстовый редактор (замена NSTextView) для отображения и редактирования кода. Особенности: базовое редактирование текста, чрезвычайно быстрая начальная верстка, поддержка работы с большими документами, возможности настройки кодовых документов.
CodeEditTextView на GitHub: https://github.com/CodeEditApp/CodeEditTextView
Платформа: iOS
⭐️: 78
CodeEditTextView на GitHub: https://github.com/CodeEditApp/CodeEditTextView
Платформа: iOS
⭐️: 78