Вчера у нас маркетологи начали подводить итоги года (кстати, заодно уж хочу обратить внимание на предыдущее огненное интервью Александра Багринцева из Sunlight, одно из самых интересных в цикле), но я о другом. Если у вас (компании, проекта, разработчика, дизайнера и т.п.) есть чем поделиться по итогам года на всю аудиторию - завсегда пожалуйста. Просто напишите и сделаем статью или интервью, пусть даже коротенько (минут на 40 ☺️).
Разработка
• Cоздание идеальных вкладок
• Advice for new software devs who've read all those other advice essays
• I’ve vastly misunderstood the Single Responsibility Principle
• Empirically supported code review best practices
Маркетинг
• Location — cоздатели Zenly выпускают приложение, похожее на Zenly
Кроссплатформа
• Just DUIT — первый взгляд на server-driven UI фреймворк для Flutter
• shubya8451/flutter-and-sqlite-a-deep-dive-into-local-data-persistence-5bb8098b8346">Flutter and SQLite: A Deep Dive into Local Data Persistence
Android
Посмотрите на все изменения, которые анонсировал Google по результатам вчерашнего дела. Ничего нового, но просто по пунктам.
• Все изменения, которые произойдут в Google Play и загрузке приложений, после урегулирования спора
• Что нового в AOSP 14
• Ludwig: набор UI-компонентов для Jetpack Compose
• Crash Course on the Android UI Layer | Part 2
• Fortifying Android Apps: A Comprehensive Guide to Securing Your App and Codebase with Kotlin
• State Management in Jetpack Compose
• Live Streaming and Audio Equalizer with ExoPlayer in Jetpack Compose
• raya.wahyu.anggara/android-thread-43b30b61dee6">Android Thread & Relation With Coroutine
#android
Android
• Создаем пассивный UI в Jetpack Compose
• Google выплатит $700 млн в еще одном споре о Play Store
• Stone. Квалификаторы и идентификаторы
• dugguRK/unleashing-websocket-in-android-b82c887b0a27">Unleashing WebSocket in Android?
• Effect Handlers in Jetpack Compose: A Complete Guide
• Kotlin under the hood: how to get rid of recursion
• merkost/foreground-services-in-android-14-whats-changing-dcd56ad72788">Foreground Services in Android 14: What’s Changing?
• Multi-Module with Clean Architecture
#android
Если вы, как и я, интересовались, как Google проиграл там, где Apple выиграла - в The Verge дали вполне доступное объяснение по пунктам. Если вкратце - прецедент в данном случае не работает, сделки Google со сторонними компаниями были сомнительны, суду присяжных объяснять их вопросами бизнеса было сложно, а заговором против Epic - просто, Google удалял улики, что сыграло не в его пользу, ну и наконец - это просто были два совершенно разных дела по определению рынка, на котором образовалась монополи. У Apple это “цифровые мобильные игровые транзакции”, а у Google - “распространение приложений для Android и услуги биллинга в приложениях для Android”. В общем, если вам интересно понимание, крайне рекомендую.
Разработка
• Эпический вопрос: как Google проиграл там, где Apple выиграла
• Как формировать топовые команды
• Ozon Tech Community Techdoc Meetup
• Почему ты пишешь говнокод? Главная причина
• Как подготовиться к собеседованию по System Design мобильному разработчику
• Why do programmers need private offices with doors?
• 8 Simple Steps to Create Crosswords on Any Topic in Minutes Using ChatGPT
Маркетинг
• Количество пользователей социальной сети Jagat превысила 10 миллионов
• Спрос на приложения для ментального здоровья почти сошел на нет
• Самые скачиваемые приложения в мире в ноябре 2023
• Социальная торговая платформа Maka привлекает $2.65 млн для упрощения покупок в Африке
Кроссплатформа
• Модульная запутанность. Как распарсить одну модель в разных модулях
• Создаем federated plugin для Flutter-проекта
• Многомодульность на Flutter или как не выстрелить себе в ногу
• Handle push and locale notifications in your Flutter app
iOS
• Apple представила «условное ценообразование» для подписок
• xcconfig: интеграция в проект, валидация и подключение к Tuist
• Объединяем Combine и Swift Concurrency
• SwiftData как замена CoreData: глубокое погружение
• Маслины и грабли: все, что вам нужно знать о разработке продукта полностью на SwiftUI
• ChatGPT 4 Xcode: интеграция ИИ в Xcode
• Plain Swift - a simple Swift IDE for Windows
• Should you add final to all your Swift classes?
• Decoupled stacked sheet navigation with multiple modals in SwiftUI
• Integrating Haptic Feedback In SwiftUI Projects
• Hierarchical background styles in SwiftUI
• Building Complex Scroll Animations With New iOS 17 APIs
#ios
Рекурсия становится сложнее
Собрал новый еженедельный дайджест - с тако на обложке 🌮 Традиционно поставьте 👍 и поделитесь с коллегами. Еще у меня есть канал IT Insights, где новости и статьи про код, технологии и все самое интересное, возможно и за пределом мобайла. Вот, например, 4 простые привычки в разработке ПО, которые изменили мою производительность.
Видео и подкасты за неделю:
• (iOS Ru)
xcconfig: интеграция в проект, валидация и подключение к Tuist
• (iOS Ru)
Объединяем Combine и Swift Concurrency
• (iOS Ru)
SwiftData как замена CoreData: глубокое погружение
• (iOS Ru)
Маслины и грабли: все, что вам нужно знать о разработке продукта полностью на SwiftUI
• (iOS En)
Implementing Drag Gestures In Xcode 15
• (iOS En)
How to Answer iOS Interview Questions Like a Pro
• (iOS En)
App Localizations
• (And Ru)
Android SDK Extensions — новые фичи на старых Android
• (And Ru)
Разработка для нестандартных устройств
• (And Ru)
Мок-собеседование по Android System Design
• (And En)
Now in Android: 97 - Gemini, AICore, ML Kit, Android Studio Hedgehog, and more!
• (And En)
Detecting faces and landmarks - ML on Android with MediaPipe
• (And En)
Should You Use a Navigation Library in Jetpack Compose?
• (And En)
Full Guide to Multiple Back Stacks in Jetpack Compose - Android Studio Tutorial
• (Crs Ru)
Многомодульность на Flutter или как не выстрелить себе в ногу
• (Dev Ru)
Как формировать топовые команды
• (Dev Ru)
Ozon Tech Community Techdoc MeetupКак обычно - поставьте 👍 и поделитесь подборкой!
Android
• Google Generative AI Sample: пример работы с Gemini
• ThrowInDB — Разбираю домашний хлам или сам себе склад
• Detekt: как статический анализ помогает улучшить код автотестов
• Multitasking Intrusion and Preventing Screenshots in Android Apps
• Crash Course on the Android UI Layer
• Navigating Multiple Technical Migrations in Our Domain: Motivation and Strategy
#android
😮 Привет, читатели! На связи PROMOBILE
Если вы ищете способы оптимизировать свое мобильное приложение, вывести в топ позиции и привлечь больше органических пользователей, то наша команда готова в этом помочь!
🔎 Какие услуги предоставляем?
🅰 App Store Optimization (аудит, конкурентный анализ, полное сопровождение);
📱 Услуги с гарантией и оплатой за результат (позиции ключевых запросов, репутация, индексация приложения, топ категории и пр. KPI);
🔍 Продвижение ключевых запросов в App Store (iPhone/iPad) и Google Play;
⭐ Работа с репутацией.
🤔 Почему стоит обратиться?
🔝Доступ к качественному источнику мотивированного трафика;
🔝Покрытие всех стран, дополнительных локализаций, неограниченные объемы;
🔝Сопровождение на каждом этапе и обмен опытом, экспертиза в нишах любой сложности;
🔝Продвинутые возможности работы (управление конверсией показов по запросу, RR, индексирование запроса)
Свяжитесь с нами для получения бесплатной и индивидуальной стратегии по оптимизации вашего проекта!
@Ilya_login
https://promobile.app
Android
• Используйте Gemini в своих приложениях для Android
• Kotlin под капотом: как избавится от рекурсии
• MVI Architecture with Jetpack Compose
• Leverage Gemini in your Android apps
• Optimizing Mobile App Performance
• dugguRK/kotlin-mutex-a-comprehensive-guide-5771a3f59713">Kotlin Mutex: A Comprehensive Guide
#android
Google открыл доступ к Gemini Pro
На прошлой неделе Google представил свою самую функциональную ИИ-модель - Gemini. Gemini является мультимодальной - она может принимать как текстовые, так и графические данные. Компания представила разработчикам Android возможность использовать самую маленькую модель Gemini Nano на устройствах через AICore. А сегодня Google представил разработчикам Android новые возможности доступа к модели Gemini Pro, которая работает вне устройства, в центрах обработки данных Google.
1. Gemini Pro доступна через Gemini AP. Чтобы упростить интеграцию Gemini Pro, вы можете использовать Google AI SDK, клиентский SDK для Android.
2. Google AI Studio предоставляет разработчикам упрощенный способ интеграции модели Gemini Pro, создания промптов, ключей API и легкого превращения идей в приложения с искусственным интеллектом. осле разработки подсказки в Google AI Studio вы можете просто нажать на действие "Получить код", чтобы сгенерировать фрагмент кода на языке Kotlin, и начать интеграцию Gemini уже сегодня, используя Google AI SDK для Android.
3. В Android Studio есть новый шаблон проекта для разработчиков, чтобы они могли сразу же начать работу с Google AI SDK для Android.
И что: крайне просто и приятно, ждем решения от Apple.
Адвент-календарь MonkeyUser на 2023 год
Все в пост не влезло, поэтому отдельными картинками тут.
Android
• Amazon выпустил AWS SDK для Kotlin
• Compose Preference: экран настроек в Material 3
• sedakundakitchen/unit-testing-kotlin-flow-emissions-86ae7cc32333">Unit testing Kotlin Flow emissions
• Zooming out Twilio Migration
• alex.hrindii/how-to-share-and-publish-detekt-config-14e816d6c8ae">How to share and publish Detekt config?
• satish24sp/firebase-dynamic-link-deprecation-and-its-alternates-81d72e33734">Firebase dynamic link deprecation and its alternates
• How we tested a Google Play application
#android
Вышли первые Mobile Interview — неформальные беседы про мобильную разработку в Яндексе
Ребята из разных команд мобильной разработки Яндекса рассказывают, какие задачи решают каждый день и почему им нравится эта работа. Первые выпуски уже можно посмотреть на YouTube-канале Yandex for Mobile:
🔸 В первом выпуске обсудили инфраструктуру Такси. Как и зачем собирать команду мобильной инфраструктуры приложения и чем ребята занимаются на ежедневной основе.
🔸 Во втором выпуске разбирались в разработке Карт. Какие задачи ребята решают, как адаптируются под сложности определения геолокации, развивается ли MapKit, как уживаются приложения Карт и Навигатора.
🔸 В третьем выпуске беседовали о разработке под iOS. Как мы делали браузер под iOS, легко ли переключаться между платформами и под какую проще разрабатывать, что нужно сделать, чтобы завоевать авторитет в большой команде, и в чём заключается специфика разработки браузеров.
🔸 В четвёртом выпуске поговорили с деврелом. Что за люди делают мероприятия для мобильных разработчиков, как организовать большую конференцию и не сойти с ума, чем ещё занимаются DevRel-команды и зачем простым разработчикам связываться с ними.
Смотрите интервью и подписывайтесь на YandexforMobile?utm_source=tg&utm_medium=social&utm_campaign=yfm&utm_content=apptractor&erid=2VtzqvQT9pv">канал — скоро там выйдет пятый выпуск Mobile Interview.
У Nielsen Norman Group вышла прекрасная статья о том, нужно ли вам создавать отдельное приложение для умных часов. В целом этот подход применим ко всем продуктам, но тут дело еще усугубляется тем, что, по данным исследования, 80% приходилось на встроенные в устройство приложения, такие как сообщения, трекеры активности и таймеры. Еще процентов 15 на музыку. А все остальное - ВООБЩЕ никому не нужно. Подход же - не создавайте приложение для умных часов только потому, что можете. Тратьте на это время и ресурсы только в том случае, если вы уверены, что это предлагает уникальную ценность.
Разработка
• Стоит ли создавать приложение для умных часов?
• Операционные системы — Как это работает
• Как зарабатывать на обучении в IT?
• TypeScript убил JavaScript?
• Apple выпустила библиотеки машинного обучения для Apple Silicon
• Как я пытался облегчить работу в поликлинике
• Exploring accessibility regulations and guidelines
• Processing Payments in Firebase with Stripe
• Navigation patterns in mobile applications. How to make the right choice?
• rohitverma_87831/my-interview-experience-at-google-afc1080df175">My Interview Experience at Google
Маркетинг
• Лучшая мобильная игра в Game Awards 2023
• Pimento использует ИИ для превращения брифов в креативные мудборды
Кроссплатформа
• PWA vs. нативные приложения: когда и как выбрать?
• lordjadawin/the-anatomy-of-dart-code-analysis-understanding-key-entities-ba75cf20d8ba">The Anatomy of Dart Code Analysis: Understanding Key Entities
• Implementing Blurred Bottom TabBar in React Native
• Separation of Concerns in Flutter Applications
• Flutter Deep Linking: The Ultimate Guide
iOS
• Вопросы с собеседований: коллекции в Swift
• Поваренная книга SwiftUI: состояние, привязка, ObservableObject и ObservedObject
• Как я создаю iOS игру на Unity c использованием MidJourney, ChatGPT, Adobe Firefly и много ручного труда
• How to get the most played Apple Music songs and albums using Swift
• Quick Search with SwiftUI Searchable
• kodekarim/xcode-15s-hidden-treasure-logging-like-a-pro-2024-6fc993d65ccb">Xcode 15’s Hidden Treasure: Logging Like a Pro 2024
• tunahanbekdas/swift-singleton-pattern-1ab19b53b79d">Swift: Singleton Pattern
• The Case Against [unowned self]
• emndeniz/ios-ui-testing-with-deep-links-7c33e9f9b7f1">iOS UI Testing with Deep Links
#ios
Случилось забавное - в Internet Archive нашли архив TestFlight с кучей старых игр и приложений на 1.2 ТБ. Напомню, что TestFlight не всегда принадлежал Apple, до 2015 года он был независимой компанией и у него даже был собственный сайт, через который все также тестировали свои сборки. В начале 2015 года он был закрыт, примерно тогда же Архив и получил весь дамп - судя по всему, из-за из неправильно настроенного облачного хранилища. Понятно, что вы не можете просто загрузить одно из старых приложений на свой нынешний телефон и вернуться в прошлое. Но в Discord уже есть сообщество, которое копается в архиве, так что, вероятно, что-нибудь с этим придумают.
Разработка
• В Internet Archive нашли старые приложения и игры из TestFlight
• Что такое мьютекс
• «Додо пИИцца». Как мы внедрили AI в приложение пиццы в Дубае
• Designing Perfect Tabs
• Redesigning our global order tracking experience
Маркетинг
• Маркетологи в мобайле. Итоги года 2023. Часть 1
• Топ быстрорастущих приложений в России в декабре
• Итоги года и планы на 2024 от Adjust
• Using campaign links to track impressions, downloads, and sales
Кроссплатформа
• Transition Animation: настраиваем анимацию переходов во Flutter
• Jetpack Preferences DataStore in Kotlin Multiplatform
iOS
• Google AI SDK for Swift: генеративный ИИ для ваших приложений
• Apple останавливает продажи Apple Watch Series 9/Ultra 2 из-за нарушений патентов
• redhotbits/from-swiftui-vanilla-to-mvvm-like-a-pro-470b22f304c9">Stop using MVVM and abusing Observable classes in SwiftUI
• Coordinator Pattern for iOS Apps
• Why I chose The Composable Architecture for SwiftUI and never looked back
• Mastering MapKit in SwiftUI. Interactions.
• Preparing your App for VoiceOver: Accessibility Actions
#ios
Android
Прочитайте мое интервью с Сергеем Опиваловым по поводу его доклада на Mobius про управление сложностью состояния.
• Как управлять сложностью состояния — Сергей Опивалов
• Android-PiP: реализация «картинки в картинке»
• Разработка для нестандартных устройств
• Мок-собеседование по Android System Design
• Android SDK Extensions — новые фичи на старых Android
• Animating Inside and Outside the Box with Jetpack Compose
• The ViewModel’s leaked Flow collectors problem
• Glassmorphic Bottom Navigation in Jetpack Compose
• Building Passive UI in Jetpack Compose
• Kandy: the new Kotlin plotting library by JetBrains
• Demystifying Pixel Shaders (AGSL)
• Don’t use var in enums
#android
Apple представила "условное ценообразование" для подписок
Можно снижать цену в зависимости от подписок на k.s,t другие другие продукты.
1. Условное ценообразование для подписок в App Store позволяет предоставлять клиентам скидку на подписку до тех пор, пока они активно подписаны на другую подписку.
2. Такое ценообразование может использоваться как для подписок на собственные продукты, так и между двумя разными разработчиками.
3. Покупатели смогут обнаруживать эти ценовые скидки в приложении, во внеплатформенных маркетинговых каналах и в App Store.
4. Apple поможет вам управлять реализацией, обеспечивая клиентам беспрепятственный процесс оформления и покупки на основе предоставленного вами условного ценового предложения.
И что: на заре Интернета были партнерские ссылки, теперь будут партнерские подписки. Но в целом, конечно, удобно 🌐
Служба Безупречных Помощников Деда Мороза расскажет, почему она такая быстрая 🎅
🌐 Онлайн-митап
🗓 19 декабря в 17:00 (МСК, GMT+3)
Посмотрим, как устроена Система быстрых платежей и что помогает ей выдержать повышенную нагрузку новогодних хлопот — когда миллионы людей покупают подарки.
Разработчики СБП расскажут, как в СБП обеспечивается скорость, надежность и отказоустойчивость и почему им пришлось ускорять транзакционные отчеты в несколько тысяч раз. А еще, в чем особая магия платежных ссылок — фундамента множества сценариев оплаты.
Авторы лучших вопросов к докладам получат подарки от организаторов — наборы мерча Мир Plat.Form.
Подробности и регистрация по ссылке.Реклама. АО "НСПК". ИНН 7706812159
Перевел статью про символизацию логов сбоев в Xcode. Зачем так делать так до конца и не понял (нет, в целом то конечно идея здравая, но ведь Xcode все сам делает?), но зато хоть разобрался с самим термином. Символизация - перевод лога/дампа сбоя из машинного кода в читаемый. Для этого есть, собственно, сам лог и отладочный символьный файл, который содержит все данные о коде. Сопоставляем и понимаем, в каком именно месте произошла ошибка. Так что если у вас где-нибудь спросят - тоже будете знать.
Разработка
• Мой опыт прохождения собеседования в Google
• MedLM: генеративный ИИ для индустрии здравоохранения
• Разметить всё: как мы настроили систему логирования в приложении каршеринга
• Migrating Netflix to GraphQL Safely
• Lessons from building GitHub code search
Маркетинг
• Gaming Upfronts 2023: The Power of Audio Advertising Unveiled
• Email marketing for mobile apps: A comprehensive guide
Кроссплатформа
• Flutter Tutorial: building an offline-first chat app with Supabase and PowerSync
• Platform Channels are Dead! Objective-C/Swift Interop is Here!
iOS
• Символизация логов сбоев с помощью Xcode + Что такое символизация логов сбоев
• andres.carort/ios-developer-roadmap-2023-330fd5cb7479">iOS Developer Roadmap 2023
• Stretching an audio file using Swift
• Selecting multiple items with a two-finger pan gesture
• Mastering the ‘Final’ Keyword in Swift: A Comprehensive Guide for Optimized Coding
• Symbolicating SwiftUI (and any Apple Framework)
#ios
Не Гуглом одним, Microsoft тоже выпустил свою “малую” языковую модель Phi-2. Она тоже может работать на ноутбуке или смартфоне, при этом, как пишет Microsoft, гораздо более способная, чем остальные. В Phi-2 2.7 млрд параметров, в Llama 2 и Mistral по 7 млрд, при этом новая модель обгоняет их. Правда, пока Phi-2 доступна только для “академических” целей и коммерческое ее использование запрещено. Но будущее в виде способных моделей, работающих локально на смартфонах, уже, очевидно, совсем близко.
Разработка
• Microsoft выпустила модель Phi-2, которая «может работать на мобильном устройстве»
• Вопросы с собеседований: что такое Потокобезопасность (Thread-Safe)
• Адвент-календарь MonkeyUser на 2023 год
• Доктор Bazel: как я научился не волноваться и полюбил сборки
• How Plane, an open-source alternative to Jira, got to the #1 in project management on GitHub in less than a year
Маркетинг
• Маркетологи в мобайле: Александр Багринцев (Sunlight)
• DistroKid запустил приложение для Android
Кроссплатформа
• State of React Native survey
• How to store key-values in KMP in the secure way
• Flutter Firebase Festival
• ximya/modularizing-flutter-ui-with-factory-constructors-f13907b6f5d4">Modularizing Flutter UI with Factory Constructors
iOS
• Aespa: фото и видео в 2 строчки кода
• SwiftUI: Разбираемся с identity на примере переходов
• Как добавить drag and drop в ваше приложение
• Modern iOS Navigation Patterns
• knoo/whats-new-in-uikit-bc8a98090cfc">What’s new in UIKit
• Mastering MapKit in SwiftUI. Camera.
• Implementing Drag Gestures In Xcode 15 (SwiftUI)
#ios
🚀 Мои друзья из Appbooster приглашают на вебинар «Продвижение приложений в мобильных сторах в 2024 году»
🙌 Будет все самое интересное:
• Как подготовить приложение к продвижению с точки зрения ASO
• Работа с репутацией в App Store и Google Play
• Как подобрать запросы для продвижения
• Стратегии продвижения в App Store и Google Play
• Как настроить кампании в платформе Appbooster
• Что нового в платформе Appbooster
• Разбор успешных кейсов
• Полезные инструменты для продвижения
• Есть ли жизнь в альтернативных сторах
🎁 Для всех зарегистрировавшихся на вебинар будет доступна акция «Новогодний кэшбэк». Все подробности — на вебинаре.
Дата и время проведения: 20 декабря в 17:00 (мск)
Длительность: 1 час
Спикер: Анна Назарова, аккаунт-менеджер платформы Appbooster
👉 Зарегистрироваться на вебинар!Реклама. ООО "ДЖУСИСОФТ". ИНН 6312098419. erid: LjN8JufEF
На Reddit нашел интересное обсуждение - разработчик, вернувшийся к iOS-разработке спустя 4 года мягко говоря недоумевает по поводу того, как все усложнилось (ну или по крайней мере не улучшилось). Архитектуры - говно, async/await - днище, отладчик и Xcode - совсем полное днище, SwiftData - сахарный ненадежный бардак ну и все в таком духе. В общем, оказалось, что он такой не один:
Все новые функции и фреймворки кажутся полуфабрикатами, сломанными, и часто приходится возвращаться к старым парадигмам, потому что Apple не знает, каким вообще должно быть программирование на iOS. Функциональное, реактивное, основанное на наблюдателях? Понятия не имею, но удачи вам в попытках использовать новые API.
С другой стороны многие говорят, что все совсем не так и на самом деле iOS-разработка вполне упрощается и просто надо развиваться в своей области. Короче, крайне занимательное чтение, рекомендую.
Разработка
• Как я использую мутационное тестирование для поддержки хорошего покрытия тестами
• Вопросы с собеседований: что такое Copy-On-Write
• Как много языков может влезть в одного программиста?
• What I Wish I Knew As a Mid-Level Engineer
• How to arrange GitHub actions to improve feedback cycles
• Dr. Bazel: How I Learned to Stop Worrying and Love Building Systems
Маркетинг
• Epic Games выиграла в суде у Google
• Как я потерял $2,85 млн и решил создать приложение для массового инвестирования
Кроссплатформа
• Build a watch app using Flutter
• punnyarthabanerjee/handling-real-time-data-in-flutter-efficiently-without-firebase-9b088c1b20d3">Handling Real-time data in Flutter efficiently without Firebase
iOS
• iOS-разрабокта становится сложнее — обсуждение на Reddit
• Поваренная книга SwiftUI: добавление кастомной формы к представлению SwiftUI
• Symbolicate crash logs with Xcode
• Leveraging Emerge Tools in CI/CD Pipelines for iOS App Size Optimisation
• Distributing a Swift Macro using CocoaPods
• Writing Custom SwiftLint Rule with SwiftSyntax
• cjckytxz/getting-to-swift-weak-part-1-d6a0e54599e4">Getting to Swift.weak { }
#ios
Epic Games выиграла в суде у Google
Спустя три года после того, как производитель Fortnite компания Epic Games подала в суд на Apple и Google, обвинив их в незаконной монополии на магазины приложений, Epic наконец одержала победу.
1. Присяжные по делу Epic против Google сегодня вынесли свой вердикт - они пришли к выводу, что Google превратила свой магазин приложений Google Play и сервис Google Play Billing в незаконную монополию.
2. Epic "в основном" проиграла свою борьбу с Apple два года назад. Но дело Epic против Google оказалось совсем другим. Оно было связано с секретными сделками по распределению доходов между Google, производителями смартфонов и разработчиками крупных игр, которые, по внутреннему мнению руководителей Google, были призваны сдержать конкурентов в магазинах приложений. Дело показало, что Google боялась именно Epic. И все это было решено судом присяжных, в отличие от решения Apple.
3. Пока мы не знаем, что именно выиграла Epic, это решит судья, который определит, каковы будут соответствующие последствия. Компания Epic не требовала денежной компенсации — она хотела, чтобы суд сказал Google, что каждый разработчик приложений имеет полную свободу вводить свои собственные магазины приложений и свои собственные биллинговые системы на Android. В какой форме - пока непонятно.
4. Google заявил, что компания планирует обжаловать вердикт.
И что: на самом деле, ничего особо революционного нет - и Google, и даже Apple, которая выиграла, уже готовы к стороннему биллингу и альтернативным магазинам. Конечно, сделали они это так, что лучше бы не делали, но это уже дело следующих судебных разбирательств.
Android
• Как интегрировать Dynamic Features в Android-приложение
• Tusky: Android-клиент для Mastodon
• Когда официальные гайды не такие и полезные или WebSocket на ktor
• How to build Wrapped 2023 in Compose Animation
• Kotlin K2 Compiler's Latest Features: Subtle Under-the-Hood Advances for Koin
• Exceptions for control flow in Kotlin
• What can Advanced / Lesser Known Modifiers do for your UI
• How I use Mutation Testing to Drive Good Test Case Coverage
#android