Android
• ImageCropView — обрезка изображений в Jetpack Compose
• Selenoid без симуляции: настройка, отладка и автоматизация на физическом Android-устройстве
• anandgaur22/android-interview-questions-with-kotlin-coroutines-3870a714924a">Android Interview Questions with Kotlin Coroutines
• Mastering Regex Groups
• Advanced layout animations in Compose (Shared elements)
#android
App Highlights в Google Play генерирует странные обобщения
Google пытается внедрить искусственный интеллект во все, начиная с рабочих пространств, таких как Docs и Sheets, и заканчивая голосовыми помощниками на Android, где Google Assistant освобождает место для Gemini. Аналогичным образом усилия ИИ касаются и Play Store, где якобы превосходный навык обобщения контента должен облегчить процесс установки и принятия решений о покупке благодаря новому разделу App Highlights.
• Новый раздел начал появляться на отдельных страницах приложений недавно вместе с виджетом “Коллекции” от Google. Он должен содержать список особенностей приложения, объясняющий основные моменты и дополняющий предоставленные разработчиком изображения и скриншоты.
• Но что-то пошло не так и ИИ ожидаемо начал галлюцинировать. Так, например, для WhatsApp ИИ выбрал редактирование аудио и аудиоформаты в качестве основных функци. Такое же описание было замечено и в приложении Phone by Google, что позволяет предположить, что это может быть текст-заготовка до следующего обновления. Но это в любом случае выглядит некрасиво.
• Описание приложения Google немногим лучше, но в нем также упоминалась «система навигации на основе жестов, аналогичная iPhone X» в качестве ключевой особенности.
И что: а) внедрять ИИ все таки нужно с осторожностью; б) улучшения Google Play как обычно делают все только хуже.
Android
• Вопросы доступности при использовании кастомного макета стопки карт
• Нужно ли учить Java для Android-разработки в 2024
• Architecture related decisions in Android - Response classes
• galou.minisini/advanced-kotlin-coroutine-cheat-sheet-for-android-engineer-15e0d180fc1f">Advanced Kotlin Coroutine Cheat sheet
• sandeepkella23/assisted-injection-a-new-update-in-hilt-0e142cdd344e">Assisted Injection a New Update in Hilt
#android
Apple выпустила библиотеку гомоморфного шифрования для Swift
Гомоморфное шифрование - это криптографическая техника, которая позволяет производить вычисления на зашифрованных данных, не раскрывая операционному процессу лежащие в их основе незашифрованные данные.
В Apple используют гомоморфное шифрование в своей работе, поэтому они рады поделиться этой Swift-реализацией с сообществом, чтобы другие могли использовать ее и вносить свой вклад.
Одним из примеров использования этой реализации в iOS 18 является новая функция Live Caller ID Lookup, которая предоставляет услуги определения номера абонента и блокировки спама. Live Caller ID Lookup использует гомоморфное шифрование для отправки зашифрованного запроса на сервер, который может предоставить информацию о телефонном номере без того, чтобы сервер знал конкретный номер телефона, указанный в запросе.
Android
• Giphy Trending — популярное с Giphy
• Kotlin Design Patterns & Best Practices - Part 1: Build a Chess Game
• imara.dharma/android-mvvm-architecture-interview-questions-785840b7dac6">Android MVVM Architecture Interview Questions
• Command Your User Inputs with Jetpack Compose— Text Field Features Hidden in Plain Sight
#android
Топ-3 приложения Short Drama стриминга заработали $3 млн в день
Весной я писал про новый тренд в стриминге - «короткометражные драмы» (Short Drama). Тогда остался вопрос - сколько продлится этот бум короткометражек. Пока рост не заканчивается.
• AppFigures показывает, что в прошлую среду три лучших коротких стриминга — DramaBox, ShortMax и ReelShort — заработали чуть больше 3 миллионов долларов. И все это всего за один день.
• Из этих 3 миллионов долларов DramaBox получил 913 тысяч долларов, ShortMax — 640 тысяч долларов, ReelShort — 581 тысячу долларов, а остальное Apple и Google забрали себе в виде налогов.
• Интересно также, что хотя большая часть доходов поступает, как и следовало ожидать, из App Store, значительный кусок денег все же приходится на Google Play. Почти половина для ShortMax.
• Все становится еще интереснее, когда мы смотрим на рост. У ReelShort, который первый побил рекорды в начале этого года, доходы по сравнению с январем выросли на 34%. Можно было бы сказать, что это очень хороший показатель, но DramaBox превзошел его с 235%, и, прежде чем вы слишком поразитесь этой цифре, доход ShortMax в этом году вырос на 642%.
И что: вправо вверх! Трудно понять, чем так привлекательны эти приложения и их контент, впрочем явно я не целевая аудитория. Ясно, что они ловко монетизируют своих пользователей. В отличие от традиционных стримеров, которые берут подписку, они берут плату за за эпизоды, но с помощью валюты в приложении. Как это делают и самые популярные игры. Так что стоит поучиться этому.
Android
• Что такое serializable и parselable объекты — вопросы с собеседований
• Command Your User Inputs with Jetpack Compose— Text Field Features Hidden in Plain Sight
• Lint Revisit: Providing Alternatives
• Creating Scalable Composables in Jetpack Compose
• Accessibility Considerations with Stacked Cards Custom Layout
• Using kotlin-inject in a Kotlin/Compose Multiplatform project
#android
❓ Только начинаете свой путь в iOS-разработке или готовитесь к этому?
👉 Представьте, что ваши приложения работают как часы, данные сохраняются и синхронизируются безупречно, пользователи довольны и благодарны, а заказчики в восторге.
Вы освоили SwiftData и умеете писать надежный слой хранилища, который делает ваши приложения быстрыми и эффективными!
🔆 Присоединяйтесь к открытому вебинару «Внедряем SwiftData в приложение» 30 июля в 20:00 мск и реализуйте это!
Урок подходит как начинающим, так и продолжающим iOS-разработчикам. После вебинара вы сможете писать локальное хранилище на SwiftData и использовать его для сохранения, запроса и синхронизации данных.
👉 Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие:
https://otus.pw/NqY3/?erid=LjN8Jtghb
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
Главные неприятности разработки
Продолжаю обозревать исследование Stack Overflow 2024 года. Самое распространенное недовольство разработчиков с большим отрывом - технический долг. Второе место практически делят сложность стека разработки, стека развертывания и надежность инструментов/систем. Далее идет отслеживание работы, обновления основных компонентов, количество используемых инструментов и необходимость показывать собственный вклад в работу. На последнем месте обеспечение безопасности. А что вам доставляет недовольство?
Android
• Paperize — смена обоев с Kotlin, Jetpack Compose и Material 3
• Blinkit Interview Experience for SDE — Android Role 2024
• Room Tutorial(Part I): Grasping the Fundamentals
• The Path from Appium to Kaspresso
#android
CodeRun: онлайн-тренажер для улучшения навыков программирования
Я часто пишу о том, что в разработке необходимо постоянное совершенствование. А что за совершенствование без практики? Будь то LeetCode, пет-проекты, даже чтение статей - все должно закрепляться созданием кода.
CodeRun - тренажер от Яндекса, который поможет улучшить ваше программирование. В нем есть каталог заданий, который составляли эксперты Яндекса и приглашенные эксперты, а сложность можно настроить под свой уровень знаний. Топ-фичи платформы: наличие тематических и авторских подборок, а также сезонные турниры. В последних можно получать призы за достижения — лидерам в рейтинге вручают мерч, сертификаты и другие плюшки.
2 сезон уже стартовал, а значит, самое время залетать и посоревноваться за ценные призы. Лучшие из лучших получат возможность попасть в штат Яндекса по упрощенному формату найма!
Весной Google объявил о масштабных перестановках в своих внутренних командах, отвечающих за аппаратное и программное обеспечение. Такие проекты, как Pixel, Chrome, Chrome OS и Android слились в «Платформах и устройствах». Тогда это преподносилось так, что компания сможет удвоить усилия в области искусственного интеллекта. Сейчас внутри этого направления возникла подгруппа, которая занимается экосистемой для разработчиков. В ней объединись команды инструментов для создания приложений (Android Studio), распространения приложения среди потребителей (Google Play) и обеспечения безопасности приложений (Ecosystem Trust). Цель - поддерживать разработчиков на протяжении всего жизненного цикла приложений, будь то создание и тестирование приложений, их выпуск и обновление, привлечение пользователей, повторное привлечение пользователей, удержание пользователей, помощь в монетизации, и все это при поддержке безопасности платформы. Пока неизвестно, как именно новая команда надеется добиться улучшений, но есть надежда, что объединение всех команд, которые раньше отвечали за разные части пути разработчика, поможет Google быстрее реагировать на проблемы и отзывы.
Разработка
• Вышла Llama 3.1, самая большая открытая модель ИИ
• Software engineers are not (and should not be) technicians
Маркетинг
• С какими проблемами сталкиваются дизайнеры, делая сервис для арабских пользователей
Кроссплатформа
• Как работают изоляты в Dart?
• Migrating A Flutter Application From GetIt To Bloc
• The Future of Flutter
iOS
• Swift Testing Revolutionary — конвертер XCTest в Swift Testing
• Как уменьшить расход памяти при загрузке UIImage с диска
• Top Interview Questions for Senior iOS Developer in 2024
• What’s New in SF Symbols 6 - WWDC24
• 5 very useful functions from Swift Algorithms
#ios
Разработка
• Уязвимость в Telegram для Android позволяла скрывать файлы в поддельных видеороликах
• Google переносит Android Studio в веб с помощью Project IDX
• 18 Ways Businesses are Launching New Products with Speech AI
Маркетинг
• Топ быстрорастущих приложений в России в июле
Кроссплатформа
• Полный гайд по тестированию на Flutter. Часть 2: Простые модульные тесты
• 3jacksonsmith/end-to-end-testing-in-react-native-with-maestro-a-comprehensive-guide-c644bbb71ed8">End-to-End Testing in React Native with Maestro: A Comprehensive Guide
• setState in Flutter — Exposed!
iOS
• Slack представляет виджеты для iPhone
• Разворачиваем стенд для UI-тестирования iOS на базе Selenoid
• Memory consumption when loading UIImage from disk
• kalidoss.shanmugam/swift-enums-best-practices-and-hidden-features-cdce09426c38">Swift Enums: Best Practices and Hidden Features
• Sized-to-fit SwiftUI bottom sheet
• Formatting time in a Text view in SwiftUI
• Leveling Up Your Debugging Skills with LLDB Commands in Xcode
#ios
iOS
Автор приложения про “самолетный радар для малышки” написал о том, как он без затрат поднимает CI на основе Fastlane и GitHub Actions. Для больших проектов, наверное, не подойдет, но если у вас есть пет или инди проект - посмотрите. И для понимания процессов и для ускорения релизов.
• Конвейеры мобильного развертывания за $0
• How to programmatically parse the contents of an XCResult bundle
• Translating text in your SwiftUI app with the Translation framework
• How the Medium iOS team works effectively with legacy code
• Building an iOS Networking SDK
#ios
Google предлагает новый полный "путь обучения" по основам машинного обучения (Machine Learning Engineer). Как пишет Google, инженер по машинному обучению проектирует, создает, производит, оптимизирует, эксплуатирует и обслуживает ML-системы. В рамках этого курса вы пройдете через подборку курсов, лабораторных работ и тестов, которые позволят вам получить реальный практический опыт использования технологий Google Cloud, необходимых для работы такого инженера. После прохождения курса вы сможете получить сертификат Google Cloud Machine Learning Engineer. В потоке всего 15 курсов, каждый отдельный требует от 8 до 32 часов. Впрочем, все можно изучать самостоятельно и бесплатно.
Разработка
• Инженер по машинному обучению — новый путь обучения от Google
• I Built a 2D Game in 40 Minutes with Ebiten
• 80% of developers are unhappy. The problem is not AI, nor is coding
Маркетинг
• Как интернет-аптека снизила стоимость установок приложения и увеличила количество заказов на сайте
Кроссплатформа
• Desktop app development with Flutter
• Build an Uber clone with Flutter and Supabase
iOS
• DominantColors — главные цвета на изображении
• Apple выпустила библиотеку гомоморфного шифрования для Swift
• Командуем Алисой и ее Умным Домом с Apple Watch и других устройств Apple
• How to Tile Images in SwiftUI
• Xcode is actually a great IDE
• Navigation Patterns in SwiftUI
#ios
С мест снова докладывают, что нативная мобильная разработка пришла в упадок. Начинается все с алфавитного супа из сладких шаблонов проектирования, добавляется любовью всех программистов к усложнению, приправляется Биг Техом в лице Google и Apple, которые постоянно что-то меняют просто для того, чтобы менять, да еще берут за это 30%. Получается, что для мобильных устройств становится все сложнее разрабатывать приложения и разработчики покидают платформы из-за разочарования и раздражения. Куда покидают? В веб. Говорят, там такого нет, да еще все бесплатно. Так что если вам все надоело в мобайле - бросайте все ехай(те) на... веб.
Разработка
• Упадок мобильной разработки
• Going Indie: From Side Project to Going Independent
• Google's secret to painless code reviews
Маркетинг
• Оптимизация пейвола — история успеха
• Топ-3 приложения Short Drama стриминга зарабатывают $3 млн в день
Кроссплатформа
• Reducing App Size and Memory Usage in Flutter
• How to Combine animations with AnimatedBuilder
iOS
• Вышла бета-версии iOS 18.1 с зачатками Apple Intelligence
• Accessibility Setting Nuggets from iOS 18
• Async and Await in Swift: Advanced Guide for Senior iOS Developers
• Announcing Swift Homomorphic Encryption
• The Meme that gave me Imposter Syndrome
#ios
Перевел статью Uber о том, как они в предверии WWDC 2022 реализовывали Live Activity. Из интересного - прокидывание ресурсов из приложений в уведомления с помощью костылей, "полуописательный" DSL, отдаваемый сразу на iOS и Android, разработка Out Of App Service, отвечающего за балансировку количества обновлений, доставляемых в службу Apple Push Notifications Service, ну и в целом, как устроена разработка в компании размера Uber (планирование на полгода вперед, my ass!).
Разработка
• Личный бренд разработчика
• Роман Елизаров про Kotlin, корутины и работу в Jetbrains
• Ход королевы: как российское шахматное приложение покорило мир
• The Decline Of Mobile Development
• How Passwordless Authentication Works - A Deep Dive
• Perfectionism - one of the biggest productivity killers in the engineering industry
Маркетинг
• В Google Play появились «Коллекции» и «Комиксы»
• Epic удаляет Fortnite из Galaxy Store
• Сеть Chick-fil-A запустила в приложении игру и достигла наибольшего количества ежедневных загрузок в истории
• A Paywall Optimization Success Story
Кроссплатформа
• Fantasy Premier League — фэнтези-футбол на Kotlin Multiplatform
• Особенности сервиса Яндекс Про и будущее Flutter
• Flutter Dev Podcast: навигация во Flutter
• Why Kotlin Multiplatform Teams Should Share Source, not Binaries
iOS
• Водитель приедет через 3 минуты: реализация Uber Live Activity на iOS
• Разбор SwiftUI проекта стартапа с AI на борту
• Вам не нужно хранилище в приложении
• HealthLens — экспорт данных для HealthKit
• SwiftUI app lifecycle: issues with ScenePhase and using AppDelegate adaptors
• Using @DebugDescription in Xcode 16
• Building Swift Executables
• Creating a Sunburst Chart
#ios
Видео и подкасты за неделю @AppFiles
• (iOS Ru)
Разбор SwiftUI проекта стартапа с AI на борту
• (iOS Ru)
Вам не нужно хранилище в приложении
• (iOS En)
SwiftUI Coverflow Carousel
• (iOS En)
My Story & iOS Dev Career Advice
• (iOS En)
Building iOS 18 Photos App UI
• (iOS En)
Zoom Transitions SwiftUI
• (iOS En)
Custom Operators in Swift
• (And Ru)
Роман Елизаров про Kotlin, корутины и работу в Jetbrains
• (And En)
Advanced layout animations in Compose (Shared elements)
• (And En)
Refactoring to Expressive Kotlin
• (And En)
From Zero to Billions: Building a High-Performance Kotlin App in Two Months
• (And En)
Managing Complexity With Ktor
• (Crs Ru)
Flutter Dev Podcast: навигация во Flutter
• (Crs Ru)
Особенности сервиса Яндекс Про и будущее Flutter
• (Crs En)
Permission Handling in Compose Multiplatform
• (Crs En)
Create a Splash Screen in Compose Multiplatform for iOS & Android
• (Crs En)
Uniting Native SDKs into Kotlin Multiplatform
• (Crs En)
Compose Multiplatform on Mobile at Instabee for Over a Year
• (Dev Ru)
Личный бренд разработчика
• (Dev Ru)
Ход королевы: как российское шахматное приложение покорило мир
• (Dev En)
Building an Effective Data Product Strategy
• (Dev En)
System Design Concepts Course and Interview Prep
Что вы посмотрели за неделю?
#ios #android #mobile #video
Не особо верилось, но в магазине AltStore PAL появились первые сторонние приложения - целых четыре штуки. Это iTorrent, торрент-клиент для iOS, который можно использовать без джейлбрейка iPhone или iPad, и qBitControl, удаленный клиент qBittorrent для iOS-устройств. Плюс PeopleDrop — это ориентированная на знакомства «платформа социальных открытий», которая соединяет вас с другими пользователями в реальном мире, когда они проходят мимо. Кроме того, есть приложение UTM SE для эмуляции других операционных систем, таких как Windows, Linux и macOS, на iOS. Apple запрещает все торрент-приложения в своем собственном магазине iOS, утверждая, что они «часто используются для нарушения прав третьих лиц». Но теперь, когда Закон ЕС о цифровых рынках ослабил возможности технологического гиганта по контролю за своим «огороженным садом», пользователи iOS в пределах континента могут получить немного больше пиратства свободы.
Разработка
• Инженеры-программисты не являются (и не должны являться) техниками
• Результаты опроса разработчиков Stack Overflow 2024
• Mistral выпускает Large 2 как ответ ChatGPT и Llama
• The Process That Kept Dying
Маркетинг
• Как управлять вниманием пользователя
• Building an Effective Data Product Strategy
Кроссплатформа
• Полный гайд по тестированию на Flutter. Часть 3: Mocking и Stubbing
• Пишем собственный макрос на Dart 3.5: глубокий разбор
• Free Flutter Icons by Hugeicons
iOS
• В AltStore PAL появились первые сторонние приложения
• Что такое guard в Swift — вопросы с собеседований
• Разработка игр под Apple Vision Pro: ARKit, realityKit, Reality Composer Pro
• Exploring Indie Life: Reducing Friction by CI/CD
#ios
Результаты опроса разработчиков Stack Overflow 2024
Erlang остается самой "выгодной" для разработчиков технологией. Swift и Objective-C идут почти вровень. По сравнению с прошлым годом Swift наконец-то обогнал своего старого конкурента, а Kotlin заметно отстает по зарплате. Однако оплата у всех значительно снизилась - например у Swift с $86,897 в 2023 до $75,184 в 2024. И это еще ничего, Objective-C
"подешевел" с $90,000 до $73,648, а Kotlin с $78,207 в год до $65,815.
Впрочем, зарплаты снизились почти по всем языкам, кроме Nim, Erlang и Apex.
Android
• Google объединяет 3 команды, чтобы сделать Play Store лучшей платформой для разработчиков
• Kotlin’s :: Operator Explained
• mirsaidoff/introduction-of-new-dependency-management-version-control-and-kotlin-dsl-migration-4a49bfa09065">Introduction of new Dependency Management (Version Control) and Kotlin DSL migration
• KrishVerma7/mvi-made-easy-a-beginners-guide-to-mvi-with-example-and-comparison-with-mvvm-57394b02b21e">MVI Made Easy: A Beginner’s Guide to MVI with Example and comparison with MVVM
#android
База смартфонов для удаленного тестирования от 1 Р/мин
Тестирование мобильных приложений раньше: ищете и покупаете смартфоны разных моделей и версий, ремонтируете и обслуживаете устройства, передаете их между сотрудниками, не можете провести параллельное тестирование.
Тестирование мобильных приложений сейчас: проводите параллельные тесты на различных устройствах, проверяете производительность, нажатия и UI, максимально приближаясь к клиентскому опыту. Физические устройства покупать не нужно — они доступны к аренде удаленно в дата-центре Selectel.
Преимущества мобильной фермы Selectel:
▪️ Простор для тестирования как на популярных, так и на редких моделях телефонов — 100+ моделей смартфонов с разными параметрами (Android версии, процессоры, диагонали и т.д.)
▪️ Доступность — легкая аренда и управление устройствами без ограничений по времени сессий через панель my.selectel.
▪️ Удаленная работа на устройствах из любой точки мира
▪️ Удобство — настройки сохраняются, пока устройство закреплено за вами вне зависимости от количества тестов и длины сессии.
▪️ Безопасность — информация о ваших сессиях автоматически удаляется после завершения аренды
Регистрируйтесь и создайте мобильную ферму для тестирования за 1 р/мин: https://slc.tl/jkizt
Реклама АО «Селектел». ИНН: 7810962785
Erid: 2VtzqvKtqMt
Android
Senior Android-инженер(ка?) из Eventbrite написала про реализацию MVI-архитектуры в компании. Пишут, что внедрение архитектуры Model-View-Intent не только улучшило приложение для Android, но и упростило процесс разработки. Приняв MVI, в компании оптимизировали управление состояниями, улучшили поток данных и обеспечили более предсказуемое и последовательное поведение приложений. С MVI путь к созданию исключительного пользовательского опыта с помощью интуитивно понятных и хорошо структурированных приложений становится более понятным и достижимым.
• MVI в Eventbrite
• Как публиковать библиотеку в Maven Central Portal в 2024 году
• Разбираемся с новой уязвимостью Android-библиотеки Jetpack Navigation: как открыть любой фрагмент из вашего приложения?
• Обнаружение банковских троянов на устройствах Android
• michalankiersztajn/kotlin-sealed-class-vs-sealed-interface-0199013d2a98">Kotlin sealed class VS sealed interface
• Publish on Maven Central
• Enhancing Code Quality with detekt for Static Analysis
• abruneau1993/playing-with-compose-screenshot-testing-and-github-action-632f31d0822b">Playing with Compose Screenshot testing and Github Action
#android
Android Studio заработаете в вебе (с помощью Project IDX)
• Project IDX - это веб-среда разработки от Google. Project IDX использует виртуальную машину Linux и уже предлагает симуляторы Android или iOS. В ней также предусмотрена помощь в программировании с помощью ИИ Gemini.
• На I/O Connect Bengaluru компания Google рассказала о том, как она хочет сделать «создание приложений для Android таким же универсальным, как и устройства Android, на которые они нацелены».
• Это предполагает потоковую передачу Android Studio из облака в браузер с помощью Project IDX.
• Чтобы создать, спроектировать и протестировать Android-приложения в веб-браузере, потребуется минимальная настройка.
И что: демократизация Android-разработки это прекрасно 🧰 Еще больше приложений для очистки!