Forwarded from AppFiles - Mobile Development
Видео и подкасты за неделю @AppFiles
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Посоветуйте в комментариях интересные каналы по мобильной или не очень разработке?
#ios #android #mobile #video
•
(iOS Ru) iOS под санкциями•
(iOS Ru) Как сократить вес приложения: переносим картинки и строки локализации на сервер•
(iOS En) Главное выступление WWDC 2024•
(iOS En) Выступление Platforms State of the Union•
(iOS En) What’s new in Xcode 16•
(iOS En) New Text Renderer API in SwiftUI - Xcode 16•
(iOS En) What’s New in SwiftUI•
(iOS En) I rebuilt the visionOS from scratch•
(And En) Now in Android: 107 - KotlinConf, Android Studio updates, I/O recaps, AndroidX updates, and more•
(And En) Top 3 updates around Compose across form factors at Google I/O ‘24•
(And En) Why I Stopped Using popBackStack() to Navigate Back•
(And En) Add Real-Time Features to your Mobile App with Darryn Campbell•
(And En) Reified Type Parameters•
(Crs En) KMP vs. Flutter - Who Will Win The Cross-Platform Battle?•
(Dev Ru) Ошибки и исключения под капотом — Прерывания, try-catch, монады•
(Dev Ru) BDUI как стратегия мобильного приложения•
(Dev En) Learn High-Level System Design by Coding YouTube – Full CourseПосоветуйте в комментариях интересные каналы по мобильной или не очень разработке?
#ios #android #mobile #video
👍2😁2❤1
Как сломать то ли дом, то ли лабораторию
Новая подборка всех статей за неделю - оцениваем результаты WWDC и Apple Intelligence, тащим GeckoView в Почту и понимаем ошибки ChatGPT, рассказываем про самые скачиваемые и зарабатывающие приложения в России в мае, ломаем бинарный код и многое другое.
Новая подборка всех статей за неделю - оцениваем результаты WWDC и Apple Intelligence, тащим GeckoView в Почту и понимаем ошибки ChatGPT, рассказываем про самые скачиваемые и зарабатывающие приложения в России в мае, ломаем бинарный код и многое другое.
👍3
Рынок мобильных приложений в 1 квартале 2024 года
Продолжаем черпать интересные данные из квартального отчета Sensor Tower.
• Ведущие рынки по доходам — США, Китай, Япония, Южная Корея и Великобритания. Япония упала на 17%, все остальные с ростом. Причем Соединенные Штаты стали главным драйвером роста потребительских расходов, увеличив их более чем на $1.7 млрд по сравнению с первым кварталом 2023 года. Это составило более половины общемирового роста.
• То стран по абсолютному росту - США, Великобритания, Китай, Германия и Канада.
• Топ рынков по установкам — Индия, США, Бразилия, Индонезия, Китай. Ведущие мобильные рынки демонстрируют признаки насыщения на фоне стагнации роста загрузки.
• Топ категорий по тратам пользователей — Развлечения, Социальные сети, Фото и Видео, Продуктивность, Музыка, Стиль жизни, Здоровье и Фитнес. Самый большой относительный рост у Продуктивности. Топ в ней - Google One.
• Топ категорий по загрузкам - Утилиты, Развлечения, Финансы, Продуктивность и Фото и Видео. Больше всего выросла Продуктивность - на 10%.
Продолжаем черпать интересные данные из квартального отчета Sensor Tower.
• Ведущие рынки по доходам — США, Китай, Япония, Южная Корея и Великобритания. Япония упала на 17%, все остальные с ростом. Причем Соединенные Штаты стали главным драйвером роста потребительских расходов, увеличив их более чем на $1.7 млрд по сравнению с первым кварталом 2023 года. Это составило более половины общемирового роста.
• То стран по абсолютному росту - США, Великобритания, Китай, Германия и Канада.
• Топ рынков по установкам — Индия, США, Бразилия, Индонезия, Китай. Ведущие мобильные рынки демонстрируют признаки насыщения на фоне стагнации роста загрузки.
• Топ категорий по тратам пользователей — Развлечения, Социальные сети, Фото и Видео, Продуктивность, Музыка, Стиль жизни, Здоровье и Фитнес. Самый большой относительный рост у Продуктивности. Топ в ней - Google One.
• Топ категорий по загрузкам - Утилиты, Развлечения, Финансы, Продуктивность и Фото и Видео. Больше всего выросла Продуктивность - на 10%.
💯4❤2👍1🔥1
iOS
• Поваренная книга SwiftUI: изображения и иконки — Часть 4
• Apple дает разработчикам возможность номинировать свои приложения на фичеринг в App Store
• CodableWrapper — улучшения для Codable
• Что такое Codable в Swift
• iOS под санкциями
• Как сократить вес приложения: переносим картинки и строки локализации на сервер
• Highlights of new technologies introduced at WWDC24
• New GitHub Organization for the Swift Project
• A New Direction for Testing in Swift
• Advanced Core Image
#ios
• Поваренная книга SwiftUI: изображения и иконки — Часть 4
• Apple дает разработчикам возможность номинировать свои приложения на фичеринг в App Store
• CodableWrapper — улучшения для Codable
• Что такое Codable в Swift
• iOS под санкциями
• Как сократить вес приложения: переносим картинки и строки локализации на сервер
• Highlights of new technologies introduced at WWDC24
• New GitHub Organization for the Swift Project
• A New Direction for Testing in Swift
• Advanced Core Image
#ios
🔥2
Android
• Simple Time Tracker — простое приложение для отслеживания времени
• Modernizing Application Settings in Kotlin Multiplatform with DataStore and Koin
• Building Jetcaster on all Form Factors
• Pride in Your App - Trying Out GraphQL on Android
• Kotlin DEVEX is not great, but Amper could fix it
• How I reverse engineered the Zomato app to build my own Order Tracking notification system
#android
• Simple Time Tracker — простое приложение для отслеживания времени
• Modernizing Application Settings in Kotlin Multiplatform with DataStore and Koin
• Building Jetcaster on all Form Factors
• Pride in Your App - Trying Out GraphQL on Android
• Kotlin DEVEX is not great, but Amper could fix it
• How I reverse engineered the Zomato app to build my own Order Tracking notification system
#android
❤1
Если вы, как и я, любитель дурацких, но технологических устройств, то вот вам принтер из Lego. Пишут, что внутри у него неонка ИИ, но кажется, что нет - просто переводит изображение в пиксель-арт, затем разбивает на блоки и печатает. В общем - робот, бессмысленно, Lego. Все, как мы любим
Разработка
• Принтер печатает картинки из блоков Lego
• BDUI как стратегия мобильного приложения
• Ошибки и исключения под капотом — Прерывания, try-catch, монады
• Pair Programming Antipatterns
• Mocking is an Anti-Pattern
Маркетинг
• Исследование приложений, которые могут стать ненужными в iOS 18
Кроссплатформа
• Step-by-Step Guide to Dockerizing Dart and Flutter Web for Deployment
• How to Mock HTTP Clients in Flutter Tests
Разработка
• Принтер печатает картинки из блоков Lego
• BDUI как стратегия мобильного приложения
• Ошибки и исключения под капотом — Прерывания, try-catch, монады
• Pair Programming Antipatterns
• Mocking is an Anti-Pattern
Маркетинг
• Исследование приложений, которые могут стать ненужными в iOS 18
Кроссплатформа
• Step-by-Step Guide to Dockerizing Dart and Flutter Web for Deployment
• How to Mock HTTP Clients in Flutter Tests
AppTractor
Принтер печатает картинки из блоков Lego
Идея заключается в том, что вы подаете принтеру изображение, и он сам определяет, какие блоки куда подходят.
💅1
Вы не Google
Разработчики сходят с ума от самых нелепых вещей. Нам нравится думать, что мы гиперрациональны, но когда нам нужно выбрать технологию, мы в некоторой степени становимся безумными — мы прыгаем от комментария одного человека на Hacker News к посту другого в блоге до тех пор, пока не сдаемся и не дрейфуем в ступоре к самому яркому световому пятну, на самом деле забыв о том, что мы искали в самом начале.
Рациональные люди принимают решения не так, но так разработчики принимают решение использовать MapReduce.
—
#самоповтор из 2020 года. Ничего не изменилось, только вместо MapReduce теперь можно подставить ИИ.
Разработчики сходят с ума от самых нелепых вещей. Нам нравится думать, что мы гиперрациональны, но когда нам нужно выбрать технологию, мы в некоторой степени становимся безумными — мы прыгаем от комментария одного человека на Hacker News к посту другого в блоге до тех пор, пока не сдаемся и не дрейфуем в ступоре к самому яркому световому пятну, на самом деле забыв о том, что мы искали в самом начале.
Рациональные люди принимают решения не так, но так разработчики принимают решение использовать MapReduce.
—
#самоповтор из 2020 года. Ничего не изменилось, только вместо MapReduce теперь можно подставить ИИ.
❤1👍1
Осваиваем ViewModel в Android: «можно» и «нельзя» — Часть 4
Это четвертая статья из серии «Осваиваем ViewModel в Android». Мы обсудили советы по улучшению производительности и качества кода во ViewModel, которые в настоящее время являются основным компонентом приложений для Android.
В предыдущих (1, 2, 3) частях мы уже обсуждали:
1. Избегайте инициализации состояния в блоке init{}.
2. Избегайте раскрытия мутабельных состояний.
3. Используйте update{} при использовании MutableStateFlows.
4. Старайтесь не импортировать зависимости Android во ViewModel
5. Лениво внедряйте зависимости в конструктор.
В этой части мы обсудим 6-8 пункты из списка:
6. Примите более реактивное и менее императивное программирование.
7. Избегайте инициализации ViewModel из внешнего кода.
8. Избегайте передачи параметров из внешнего кода.
Лайк, если хочешь следующие 7 😀
Это четвертая статья из серии «Осваиваем ViewModel в Android». Мы обсудили советы по улучшению производительности и качества кода во ViewModel, которые в настоящее время являются основным компонентом приложений для Android.
В предыдущих (1, 2, 3) частях мы уже обсуждали:
1. Избегайте инициализации состояния в блоке init{}.
2. Избегайте раскрытия мутабельных состояний.
3. Используйте update{} при использовании MutableStateFlows.
4. Старайтесь не импортировать зависимости Android во ViewModel
5. Лениво внедряйте зависимости в конструктор.
В этой части мы обсудим 6-8 пункты из списка:
6. Примите более реактивное и менее императивное программирование.
7. Избегайте инициализации ViewModel из внешнего кода.
8. Избегайте передачи параметров из внешнего кода.
Лайк, если хочешь следующие 7 😀
👍13🙈3❤2🙉2🔥1🙊1
iOS
• Zoom navigation transition in SwiftUI
• Enhanced replace transition for SF Symbols in iOS 18
• Introduction to Swift Testing Framework
• Bringing native AI to your mobile apps with ExecuTorch
#ios
• Zoom navigation transition in SwiftUI
• Enhanced replace transition for SF Symbols in iOS 18
• Introduction to Swift Testing Framework
• Bringing native AI to your mobile apps with ExecuTorch
#ios
Augmented Code
Zoom navigation transition in SwiftUI
WWDC’24 brought a lot of new and SwiftUI received many updates. One of which, is the new NavigationTransition protocol and the zoom transition. And that is pretty much what it contains at the…
Android
• Осваиваем ViewModel в Android: «можно» и «нельзя» — Часть 4
• Записи докладов KotlinConf'24
• Choosing Between Sealed Classes and Enum Classes in Kotlin
• Data Mapping In Kotlin Explained
#android
• Осваиваем ViewModel в Android: «можно» и «нельзя» — Часть 4
• Записи докладов KotlinConf'24
• Choosing Between Sealed Classes and Enum Classes in Kotlin
• Data Mapping In Kotlin Explained
#android
AppTractor
Осваиваем ViewModel в Android: «можно» и «нельзя» — Часть 4
В этой серии мы рассмотрели полный набор лучших практик, призванных улучшить качество кода и производительность приложения.
С мест докладывают, что Apple остановила работу над Vision Pro 2. По слухам, продажи первой гарнитуры не то чтобы восхитительны. Впрочем, вряд ли можно было ожидать большего от пока еще нишевого устройства стоимостью $3500. Как пишет The Information, вместо новой Pro версии, компания будет работать над более дешёвой моделью, которая будет выпущена в 2025 году 🥽 Так что пока можно тренироваться делать приложения на дорогой версии, а когда выйдет "народная" версия быстро перейти на нее.
Разработка
• Как в 2024 выложить приложение в Apple Store и Google Play
• Senior Engineer Fatigue
Маркетинг
• Топ быстрорастущих приложений в России в июне
Кроссплатформа
• Connectivity — мониторинг сети для Kotlin Multiplatform
• От ручной работы к автоматизации: наш путь к идеальной доставке сборок Flutter
• Flutter Add-to-App: как добавить Flutter в приложение
• Flutter Best Practices for 2024: Build Better Apps Faster
• KMP: Essential Tools and Plugins for Kotlin Multiplatform Application Development
• Introducing Solidart: A Simplified Approach to Flutter State Management Inspired by SolidJS
Разработка
• Как в 2024 выложить приложение в Apple Store и Google Play
• Senior Engineer Fatigue
Маркетинг
• Топ быстрорастущих приложений в России в июне
Кроссплатформа
• Connectivity — мониторинг сети для Kotlin Multiplatform
• От ручной работы к автоматизации: наш путь к идеальной доставке сборок Flutter
• Flutter Add-to-App: как добавить Flutter в приложение
• Flutter Best Practices for 2024: Build Better Apps Faster
• KMP: Essential Tools and Plugins for Kotlin Multiplatform Application Development
• Introducing Solidart: A Simplified Approach to Flutter State Management Inspired by SolidJS
🔥3🎅1
Butterflies — новая социальная сеть для ИИ (и людей)
Butterflies - это социальная сеть, в которой люди и искусственный интеллект взаимодействуют друг с другом через посты, комментарии и сообщения. После пяти месяцев бета-тестирования приложение выходит на iOS и Android.
Любой желающий может за несколько минут создать в приложении ИИ-личность, называемую Бабочкой. После этого бабочка будет автоматически создавать посты в социальной сети, с которыми затем могут взаимодействовать другие ИИ и люди. У каждой бабочки есть история, мнение и эмоции.
Например, вы можете увидеть бабочку, которая занимается деревообработкой, выкладывающую свои последние творения. Или вы можете наткнуться на бабочку-генерального директора Costco в альтернативной вселенной, которая чертовски заинтересована в том, чтобы хот-доги стоили 1.50 доллара.
Компания Butterflies была основана Ву Траном, бывшим руководителем инженерного отдела в Snap.
«Удивительно, для чего люди используют Butterflies», - говорит Ву. «В Snap я много занимался исследованиями пользователей, но поведение в Butterflies - это что-то новое».
Ву говорит, что один человек тратил по пять часов в день на создание 300 персонажей. Он также обнаружил, что некоторые люди общаются с другими людьми на платформе, потому что они резонируют с тем, что те создали.
В одном случае два друга одновременно создали двух бабочек и дали им свои истории, чтобы те взаимодействовали от их имени. Видимо, они хотят понять, к чему они придут в итоге. Другой человек создал версию себя, живущую на вымышленном континенте Вестерос в «Игре престолов», а кто-то переделал себя в персонажа Dungeons&Dragons.
И что: оглядываясь назад, вы понимаете, как много людей в вашей жизни могло быть "просто ИИ"? 👨🏻💻
Butterflies - это социальная сеть, в которой люди и искусственный интеллект взаимодействуют друг с другом через посты, комментарии и сообщения. После пяти месяцев бета-тестирования приложение выходит на iOS и Android.
Любой желающий может за несколько минут создать в приложении ИИ-личность, называемую Бабочкой. После этого бабочка будет автоматически создавать посты в социальной сети, с которыми затем могут взаимодействовать другие ИИ и люди. У каждой бабочки есть история, мнение и эмоции.
Например, вы можете увидеть бабочку, которая занимается деревообработкой, выкладывающую свои последние творения. Или вы можете наткнуться на бабочку-генерального директора Costco в альтернативной вселенной, которая чертовски заинтересована в том, чтобы хот-доги стоили 1.50 доллара.
Компания Butterflies была основана Ву Траном, бывшим руководителем инженерного отдела в Snap.
«Удивительно, для чего люди используют Butterflies», - говорит Ву. «В Snap я много занимался исследованиями пользователей, но поведение в Butterflies - это что-то новое».
Ву говорит, что один человек тратил по пять часов в день на создание 300 персонажей. Он также обнаружил, что некоторые люди общаются с другими людьми на платформе, потому что они резонируют с тем, что те создали.
В одном случае два друга одновременно создали двух бабочек и дали им свои истории, чтобы те взаимодействовали от их имени. Видимо, они хотят понять, к чему они придут в итоге. Другой человек создал версию себя, живущую на вымышленном континенте Вестерос в «Игре престолов», а кто-то переделал себя в персонажа Dungeons&Dragons.
Когда я рос, я проводил много времени в онлайн-сообществах и общался с людьми на игровых форумах, - говорит Ву. - Оглядываясь назад, я понимаю, что эти люди могли быть просто ИИ, но я все равно завел несколько значимых связей. Я думаю, что есть люди, которые боятся этого и говорят: «ИИ не настоящий, иди и встречайся с настоящими друзьями». Но я думаю, что это действительно непростая вещь - «заводить друзей». У людей может быть социальная тревожность или им трудно находиться в социальных ситуациях.
И что: оглядываясь назад, вы понимаете, как много людей в вашей жизни могло быть "просто ИИ"? 👨🏻💻
🌚9🤡3❤2🥱2👨💻2👍1
iOS
На WWDC 2024 одним из самых интересных инструментов был Swift Testing, который делает тестирование Swift-кода более мощным, чем когда-либо. С его помощью разработчики могут уверенно создавать высококачественные продукты с минимальным количеством кода 👇
• Введение в Swift Testing
• Apple отложила разработку второй Vision Pro ради более дешевой модели
• Coobjc — корутины для Objective-C и Swift
• Create Node Modules in Swift
• Free, on-device translations with the Swift Translation API
• Creating Stunning Dynamic Text Effects with TextRender
• A preview of our upcoming UIKitNavigation library
#ios
На WWDC 2024 одним из самых интересных инструментов был Swift Testing, который делает тестирование Swift-кода более мощным, чем когда-либо. С его помощью разработчики могут уверенно создавать высококачественные продукты с минимальным количеством кода 👇
• Введение в Swift Testing
• Apple отложила разработку второй Vision Pro ради более дешевой модели
• Coobjc — корутины для Objective-C и Swift
• Create Node Modules in Swift
• Free, on-device translations with the Swift Translation API
• Creating Stunning Dynamic Text Effects with TextRender
• A preview of our upcoming UIKitNavigation library
#ios
AppTractor
Введение в Swift Testing
На WWDC 2024 одним из самых интересных инструментов был Swift Testing, который делает тестирование Swift-кода более мощным, чем когда-либо. С его помощью разработчики могут уверенно создавать высококачественные продукты с минимальным количеством кода. Swift…
👍3🌭1
Android
• Android Device Streaming на базе Firebase в бета-версии
• Dive into Object-Oriented Programming with Kotlin
• Jetpack Glance
• Creating flexible components in Compose
#android
• Android Device Streaming на базе Firebase в бета-версии
• Dive into Object-Oriented Programming with Kotlin
• Jetpack Glance
• Creating flexible components in Compose
#android
AppTractor
Android Device Streaming на базе Firebase в бета-версии
Проверка приложения на различных Android-устройствах — важный шаг на пути к созданию высококачественного приложения. Однако получить доступ к нужному устройству в нужный момент может быть непросто и отнимать много времени. От попыток воспроизвести специфическое…
👍1
Разработка
• JetBrains интегрирует Gemini в AI Assistant
• How SMS Fraud Works and How to Guard Against It
Маркетинг
• Что значит хорошая сессия в приложении — разбираемся в деталях
• Butterflies — новая социальная сеть для ИИ и людей
Кроссплатформа
• Mastering Shapes and Clipping in Flutter
• How to Get the Height and Padding of the AppBar in Flutter
• JetBrains интегрирует Gemini в AI Assistant
• How SMS Fraud Works and How to Guard Against It
Маркетинг
• Что значит хорошая сессия в приложении — разбираемся в деталях
• Butterflies — новая социальная сеть для ИИ и людей
Кроссплатформа
• Mastering Shapes and Clipping in Flutter
• How to Get the Height and Padding of the AppBar in Flutter
AppTractor
JetBrains интегрирует Gemini в AI Assistant
В JetBrains говорят, что интеграция Gemini откроет ряд новых возможностей для использования благодаря длинному контекстному окну, расширенным возможностям рассуждений и общей производительности.
Как я исследовал приложение Zomato, чтобы создать свою собственную систему уведомлений
Если вам в приложении не хватает каких-либо функций - можно сделать их самому! Например, в приложении Zomato для Android нет нормального уведомления для отслеживания статуса заказа. Заходить постоянно в приложение лень? Лень. Разработчик взял снифер, отследил конечные точки, взял из них информацию и написал собственное подобие Live Activity с данными о доставке практически в реальном времени.
И что: будь как автор! Не нравится - сделай сам 🥗
Если вам в приложении не хватает каких-либо функций - можно сделать их самому! Например, в приложении Zomato для Android нет нормального уведомления для отслеживания статуса заказа. Заходить постоянно в приложение лень? Лень. Разработчик взял снифер, отследил конечные точки, взял из них информацию и написал собственное подобие Live Activity с данными о доставке практически в реальном времени.
И что: будь как автор! Не нравится - сделай сам 🥗
🌚6👍3🌭3
iOS
• У Apple «очень серьезные» проблемы с DMA
• Эти айфоны ещё будут жить: пишем и деплоим свои приложения из XCode на старые iPhone
• Preparing your App Icon for dark and tinted appearance
• Swift Testing: Getting Started
• iOS CI/CD With Azure DevOps: Automate Your Release Process
#ios
• У Apple «очень серьезные» проблемы с DMA
• Эти айфоны ещё будут жить: пишем и деплоим свои приложения из XCode на старые iPhone
• Preparing your App Icon for dark and tinted appearance
• Swift Testing: Getting Started
• iOS CI/CD With Azure DevOps: Automate Your Release Process
#ios
AppTractor
У Apple «очень серьезные» проблемы с DMA
Европейская комиссия начала расследование в отношении Apple в марте, чтобы определить, соответствуют ли изменения, внесенные Apple в ЕС, нормам DMA.
❤2
Android
• Kaml — YAML для kotlinx.serialization
• Как я исследовал приложение Zomato, чтобы создать свою собственную систему уведомлений
• App Architecture: Deeplinks
• Top 10 Coroutines Questions 2024
• What is faster and in which tasks? Coroutines, RxJava, Executor?
#android
• Kaml — YAML для kotlinx.serialization
• Как я исследовал приложение Zomato, чтобы создать свою собственную систему уведомлений
• App Architecture: Deeplinks
• Top 10 Coroutines Questions 2024
• What is faster and in which tasks? Coroutines, RxJava, Executor?
#android
AppTractor
Kaml — YAML для kotlinx.serialization
Kaml добавляет поддержку YAML в kotlinx.serialization. В настоящее время полностью поддерживается только Kotlin/JVM. Поддерживает большинство основных функций YAML — cкаляры, включая строки, булевы числа, целые числа и плавающие символы, последовательности…
Интересная статья по “усталость” (Fatigue) Senior-разработчиков. Термин “усталость” тут , конечно, слегка неправильный, но в позиции автора с ростом карьеры разработчики накапливают мудрость и усталость. Усталость в данном случае - от освоения новых технология и переход на осозннанную разработку. Переход к более утонченной стратегической роли в инженерной карьере. Когда вы делаете не меньше, а по-другому, и, что самое важное, вы делаете то, что имеет значение. Так что замедлитесь и устаньте от бесконечного кода. Начните думать
Разработка
• Усталость Senior-разработчиков
• WebView: быстрый релиз, никаких ревью в сторах, а минусы есть?
• Let’s write a video game from scratch like it’s 1987
Маркетинг
• Varioqub: за Mann-Whitney замолвите слово
Кроссплатформа
• 10 Takeaways for React Native Devs from the App.js conference
• The Ultimate Guide to React Native Optimization (2024 edition)
Разработка
• Усталость Senior-разработчиков
• WebView: быстрый релиз, никаких ревью в сторах, а минусы есть?
• Let’s write a video game from scratch like it’s 1987
Маркетинг
• Varioqub: за Mann-Whitney замолвите слово
Кроссплатформа
• 10 Takeaways for React Native Devs from the App.js conference
• The Ultimate Guide to React Native Optimization (2024 edition)
👍8❤1