Хочу сделать канал про ИИ - с упором на практическое применение, со статьями и новостями. Будете участвовать?
Anonymous Poll
50%
Да
23%
Нет
16%
Не знаю
12%
Посмотреть
Forwarded from AppFiles - Mobile Development
Видео и подкасты за неделю на @AppFiles
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Что было год назад:
•
•
•
•
• Осознанный подход к метрикам
•
(iOS Ru) Исследуем мир фото и видео редакторов•
(iOS Ru) Найди и исправь ошибки в коде — Задачи с собеседования•
(iOS Ru) Запускаем приложения на своем iOS-симуляторе•
(iOS Ru) Осторожно, Combine!•
(iOS Ru) Позаботимся о памяти при использовании value-типов•
(iOS Ru) Swift – больше, чем язык для iOS•
(iOS En) Videos from Swift Heroes 2024•
(iOS En) Staggered Animated View Using SwiftUI •
(iOS En) Advanced SwiftUI Animations - PhaseAnimator•
(iOS En) A case for Custom Bindings in SwiftUI: Essential Tips and Tricks•
(iOS En) VoiceMemos Waveform Audio Scrubber Using SwiftUI - Waveform Visualization•
(And Ru) Почему вам стоит включить Gradle Configuration Cache•
(And Ru) Интеграция GeckoView в Dynamic Feature•
(And Ru) Последнее слово в Android-навигации•
(And En) Introduction to the SDK Runtime•
(And En) How to Refactor Legacy Android Code With a Clear Step-By-Step Approach•
(And En) Applying the Observer Pattern in Kotlin•
(And En) Validating the chaos of RSS feeds with JetBrains’ Junie & some domain modeling sorcery•
(Crs Ru) Kotlin не для Android•
(Crs Ru) Как мы делали суперапп «Дилер онлайн», и что из этого получилось•
(Crs Ru) Совместная работа Kotlin/Native GC и ARC в iOS•
(Dev Ru) Правовой статус кодаЧто было год назад:
•
(Crs Ru) Flutter Dev Podcast #45: Собеседования на позицию Flutter-разработчика•
(Dev Ru) Пишем рекомендательную систему музыки на Java•
(Dev Ru) Задача из Моего Собеседования в Amazon•
(Dev Ru) Ада Лавлейс и программирование• Осознанный подход к метрикам
👍2
Хакнуть утечки памяти
Новый дайджест за прошедшую неделю со всеми материалами - iOS-разработка в Zed и Picture-in-Picture в 2ГИС, автоматизация версионирования и системные идеи, которые никогда не работают, посудомойка в облаке, дело асинхронного программирования, ускорение Android-сборки и многое другое. Заходите!
Новый дайджест за прошедшую неделю со всеми материалами - iOS-разработка в Zed и Picture-in-Picture в 2ГИС, автоматизация версионирования и системные идеи, которые никогда не работают, посудомойка в облаке, дело асинхронного программирования, ускорение Android-сборки и многое другое. Заходите!
👍2
Когда несколько месяцев назад Apple, казалось бы внезапно, выпустила Apple Invites, все в интернете были готовы к тому, что весь рынок приложений для приглашений рухнет. Или, как сказали бы опытные разработчики, были готовы к “шерлокированию”.
Согласно AppFigures, приложение Apple Invites стартовало очень хорошо, добавив 1.6 млн новых загрузок в первую неделю своего появления в App Store. Но потом установки довольно быстро пошли на спад, составляя в среднем 45 тысяч в день на протяжении большей части февраля, и продолжили падать в марте, составляя в среднем 25 тысяч ежедневных загрузок на протяжении большей части месяца.
Теперь, когда у нас есть некоторый контекст, давайте посмотрим на конкурентов. Для этого соберем все лучшие приложения для приглашений и посмотрим на количество загрузок с момента выхода Apple Invites по сравнению с аналогичным периодом прошлого года.
Все приложения для приглашений в этой подборке получили больше загрузок после выхода Apple Invites по сравнению с прошлым годом, и это вполне логично. Apple показала людям, которые на самом деле не знали о существовании приложений для приглашений, что они есть, и Apple Invites, будучи несколько простым и доступным только в App Store, заставил их искать альтернативы. Количество загрузок Evite выросло на 7%, Paperless Post — на 10%, а Partiful, приложение, которое все упоминали в феврале в сравнении с Apple Invites, выросло на 295%. Punchbowl был единственным конкурентом, у которого не было отмечено никакого роста, но он самый маленький из всех.
Рынок приложений с приглашениями был не очень велик до того, как на него вышла Apple, и вместо того, чтобы отнимать пользователей у существующих приложений, Apple действительно создала осведомленность о новом для многих миллионов продукте. Именно так ей удалось получить миллионы загрузок, в то время как все остальные приложения также увеличили свои показатели.
Так что не каждый релиз от Apple — это плохо.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5👌2
iOS
• Исследуем мир фото и видео редакторов
• Найди и исправь ошибки в коде — Задачи с собеседования
• Запускаем приложения на своем iOS-симуляторе
• Осторожно, Combine!
• Позаботимся о памяти при использовании value-типов
• Swift – больше, чем язык для iOS
• SwiftUI Grid, LazyVGrid, LazyHGrid Explained with Code Examples
• Building a dependency injection framework
• Fast & Fluid: Integrating Rust egui into SwiftUI
• Profiling apps using Instruments
• ModelActor is Just Weird
• How Trendyol Achieved 70% Faster Build Time with iOS App Revamp
• Исследуем мир фото и видео редакторов
• Найди и исправь ошибки в коде — Задачи с собеседования
• Запускаем приложения на своем iOS-симуляторе
• Осторожно, Combine!
• Позаботимся о памяти при использовании value-типов
• Swift – больше, чем язык для iOS
• SwiftUI Grid, LazyVGrid, LazyHGrid Explained with Code Examples
• Building a dependency injection framework
• Fast & Fluid: Integrating Rust egui into SwiftUI
• Profiling apps using Instruments
• ModelActor is Just Weird
• How Trendyol Achieved 70% Faster Build Time with iOS App Revamp
AppTractor
Исследуем мир фото и видео редакторов
В этом эпизоде расскажем, с чего можно начать делать свой фото или видео редактор.
👍2
Android
• AnimationSequence — последовательные анимации для Jetpack Compose
• Google внедряет сторонний биллинг в Google Play в Великобритании
• Последнее слово в Android-навигации
• Почему вам стоит включить Gradle Configuration Cache
• Интеграция GeckoView в Dynamic Feature
• Lissen: как я красивый плеер для аудиокниг писал
• APK vs AAB: How We Deliver Android Apps
• Android Architecture - Fetchers update
• Home sweet home: some thoughts on storing files
• Make WebViews edge-to-edge
• Media3 1.6.0 — what’s new?
• Everyone knows all the apps on your phone
• AnimationSequence — последовательные анимации для Jetpack Compose
• Google внедряет сторонний биллинг в Google Play в Великобритании
• Последнее слово в Android-навигации
• Почему вам стоит включить Gradle Configuration Cache
• Интеграция GeckoView в Dynamic Feature
• Lissen: как я красивый плеер для аудиокниг писал
• APK vs AAB: How We Deliver Android Apps
• Android Architecture - Fetchers update
• Home sweet home: some thoughts on storing files
• Make WebViews edge-to-edge
• Media3 1.6.0 — what’s new?
• Everyone knows all the apps on your phone
AppTractor
AnimationSequence — последовательные анимации для Jetpack Compose
AnimationSequence — это мощная, но интуитивно понятная библиотека Jetpack Compose (поддерживает Android, iOS, Desktop и Web), разработанная для упрощения последовательной анимации в ваших приложениях для Android. С минимальными усилиями создавайте элегантные…
ИИ-краулеры — это тараканы интернета, считают многие разработчики. Хотя любой сайт может стать мишенью для веб-краулеров, что иногда может привести к его падению из-за нагрузки, разработчики открытого кода «непропорционально» страдают от ИИ-краулеров. Проблема в том, что многие ИИ-боты не соблюдают Robots Exclusion Protocol и robot.txt. В январе разработчик FOSS описал, как AmazonBot без устали парсил Git-сервер, вызывая DDoS. Блокировать ИИ-краулеров бесполезно, потому что они лгут, меняют свой user agent, используют живые IP-адреса в качестве прокси и т.д. Они будут парсить ваш сайт, пока он не упадет, а потом будут обращаться к нему снова и снова. По словам одного из разработчиков, «даже приходится прибегать к запрету целых стран», чтобы отбиться от ИИ-ботов. В ответ на это создали инструмент под названием Anubis. Anubis — это обратный прокси-сервер, который надо пройти, прежде чем запросы попадут на Git-сервер. Он блокирует ботов, но пропускает браузеры, управляемые людьми. Cloudflare предложил бесконечный лабиринт из поддельного контента, куда заманивают незваных ботов. Он предназначен для того, чтобы “замедлять, запутывать и тратить впустую ресурсы AI краулеров и других ботов, которые не соблюдают директивы”.
Разработка
• Разработчики вынуждены отбиваться от ИИ-парсеров
• Mocking Star — мощный инструмент мокирования запросов
• Правовой статус кода
• Deploying a Swift Server App to Fly.io and Railway
• Setting up a translation system for your Android and iOS app
• There is no Vibe Engineering
Маркетинг и аналитика
• Apple Invites не разрушили рынок, а сделали вот что
• Протестируйте уродливый пейвол: вот почему вам стоит это сделать
• Установки Signal после скандала выросли на 28%
Кроссплатформа
• Kotlin не для Android
• Как мы делали суперапп «Дилер онлайн», и что из этого получилось
• Совместная работа Kotlin/Native GC и ARC в iOS
• The Ultimate React Native Course - Build Your First Mobile App in 2025
• Exposing SwiftUI Views to React Native: An Integration Guide
• Deep Dive into Haptics: Enhancing User Experience through Tactile Feedback
Разработка
• Разработчики вынуждены отбиваться от ИИ-парсеров
• Mocking Star — мощный инструмент мокирования запросов
• Правовой статус кода
• Deploying a Swift Server App to Fly.io and Railway
• Setting up a translation system for your Android and iOS app
• There is no Vibe Engineering
Маркетинг и аналитика
• Apple Invites не разрушили рынок, а сделали вот что
• Протестируйте уродливый пейвол: вот почему вам стоит это сделать
• Установки Signal после скандала выросли на 28%
Кроссплатформа
• Kotlin не для Android
• Как мы делали суперапп «Дилер онлайн», и что из этого получилось
• Совместная работа Kotlin/Native GC и ARC в iOS
• The Ultimate React Native Course - Build Your First Mobile App in 2025
• Exposing SwiftUI Views to React Native: An Integration Guide
• Deep Dive into Haptics: Enhancing User Experience through Tactile Feedback
AppTractor
Разработчики вынуждены отбиваться от ИИ-парсеров
Пусть это на мгновение впитается в сознание - по словам Венеранди, разработчикам «даже приходится прибегать к запрету целых стран», чтобы отбиться от ИИ-ботов, игнорирующих файлы robot.txt.
👍5
Все знают, какие приложения установлены на вашем телефоне
Еще несколько лет назад любое приложение, установленное на устройстве Android, могло видеть все другие приложения на вашем телефоне без вашего разрешения. С 2022 года, с Android 11, Google удалил этот доступ для разработчиков приложений. Согласно их новой политике видимости пакетов, приложения должны видеть другие установленные приложения только в том случае, если это необходимо для их основных функций.
Автор статьи изучил несколько самых популярных приложений в Индии и выяснил, что все они так или иначе получают эту и множество другой информации:
Еще несколько лет назад любое приложение, установленное на устройстве Android, могло видеть все другие приложения на вашем телефоне без вашего разрешения. С 2022 года, с Android 11, Google удалил этот доступ для разработчиков приложений. Согласно их новой политике видимости пакетов, приложения должны видеть другие установленные приложения только в том случае, если это необходимо для их основных функций.
Автор статьи изучил несколько самых популярных приложений в Индии и выяснил, что все они так или иначе получают эту и множество другой информации:
Это заставляет меня задуматься, в чем была цель политики видимости пакетов Google? Она должна была защищать пользователей, но большинство приложений, похоже, все равно нашли способы ее обойти. А данные об установленных приложениях очень конфиденциальны и личные.
Пожалуйста, помните, что в следующий раз, когда вы случайно установите приложение на свое устройство Android, эта информация будет транслироваться по всему миру. Брокеры данных будут использовать ее для составления вашего профиля, сопоставлять ее с данными о вас из других рекламных сетей, и в конечном итоге она будет использована для решения о том, сколько вам придется заплатить в следующий раз, когда вы закажете самсу.
😱10
iOS
• DriftCheck — обнаружение утечек памяти
• Обзор Copilot в Xcode на SwiftUI
• Как правильно организовать проект c модульной архитектурой в iOS-разработке
• Presenting an Inspector with SwiftUI
• Text concatenation vs Text interpolation in SwiftUI
• Documenting your code with DocC
• SwiftUI Craftsmanship: State Management
• The Dark Side of Apple Development: Why Developers Are Struggling On Apple’s Increasingly Hostile Platforms
• DriftCheck — обнаружение утечек памяти
• Обзор Copilot в Xcode на SwiftUI
• Как правильно организовать проект c модульной архитектурой в iOS-разработке
• Presenting an Inspector with SwiftUI
• Text concatenation vs Text interpolation in SwiftUI
• Documenting your code with DocC
• SwiftUI Craftsmanship: State Management
• The Dark Side of Apple Development: Why Developers Are Struggling On Apple’s Increasingly Hostile Platforms
AppTractor
DriftCheck — обнаружение утечек памяти
Неожиданно легко допустить утечку памяти в вашем приложении, даже не осознавая этого. Если утечки памяти остаются без внимания, они могут увеличить объем занимаемой памяти вашего приложения, что приводит к более быстрому завершению работы приложения в фоновом…
👍1
Android
• Все знают, какие приложения установлены на вашем телефоне
• Поддержка webextensions под Андроид, вторая серия
• Local Database: Comparing Realm, SQLDelight, and Room
• Simplifying Dependency Injection in Android Jetpack Compose with Hilt
• Profile & Benchmark Android Builds
• Все знают, какие приложения установлены на вашем телефоне
• Поддержка webextensions под Андроид, вторая серия
• Local Database: Comparing Realm, SQLDelight, and Room
• Simplifying Dependency Injection in Android Jetpack Compose with Hilt
• Profile & Benchmark Android Builds
AppTractor
Все знают, какие приложения установлены на вашем телефоне
Пожалуйста, помните, что в следующий раз, когда вы случайно установите приложение на свое устройство Android, эта информация будет транслироваться по всему миру.
👍3
Разработка
• Нет никакого вайб-инжиниринга
• How our Meditation App Broke Records Overnight, almost crashing our servers
• It’s all fun and games… until your boss starts vibe coding
• WattWise: Terminal-Based Power Monitoring Using Smart Plugs
Маркетинг и аналитика
• Новая игра Tinder проверяет ваши навыки флирта с ИИ-персонажами
Кроссплатформа
• Реализация простого SSE клиента на Dart
• Develop Your Own Networking Client In Compose MultiPlatform
• Shopping list and Compose Multiplatform
• Build Gen AI Apps Fast with Firebase and Flutter: A Hands-On Starter Guide
Please open Telegram to view this post
VIEW IN TELEGRAM
AppTractor
Новая игра Tinder проверяет ваши навыки флирта с ИИ-персонажами
Другими словами, смысл в том, чтобы отрабатывать свои навыки в безопасной обстановке, чтобы вы могли чувствовать себя более уверенно в реальной жизни.
❤6
Swift набирает обороты. Команда Swift представила первую стабильную версию swiftly, менеджера версий Swift, который избавит вас от хлопот по установке, управлению и обновлению вашего набора инструментов Swift. Последняя версия Swift поставляется с Xcode для написания приложений для платформ Apple. Но, возможно, вы захотите установить Swift на другую платформу, например Linux, или использовать другую версию набора инструментов для создания служб или инструментов командной строки. Загрузка, извлечение и установка надежной сборки Swift вместе с соответствующими зависимостями для вашей операционной системы может потребовать довольно много ручных и подверженных ошибкам шагов. Swiftly — лучший инструмент для установки автономной цепочки инструментов, предоставляющий команды для установки Swift на новую систему, обновления до последней стабильной версии и экспериментирования или тестирования с “ночными” снепшотами или более старыми версиями. Он также позволяет легко переключаться между несколькими установленными цепочками инструментов. Вы даже можете добавить файл в репозиторий своего проекта, чтобы swiftly использовал одну и ту же версию цепочки инструментов для всех членов вашей команды разработчиков.
Разработка
• Это весело и забавно… пока ваш босс не узнает про вайб-кодинг
• Как мы оживили DPED: ИИ-проект для улучшения мобильных фото до снимков с «зеркалок»
• How to work in tech when your job isn't safe
• Making Uber’s ExperimentEvaluation Engine 100x Faster
• Train & Weather Tracker with Raspberry Pi & E-Ink
• The 13 software engineering laws
Маркетинг и аналитика
• Skylight — альтернатива TikTok, созданная на основе Bluesky
Кроссплатформа
• Dart / Flutter — применяя zero / empty объекты ко всему
• Leveraging Dart FFI for high-performance ML in Flutter — a practical implementation
• How to Implement Swipe Actions in Flutter with Slidable
• Flutter Belgium Meetup #23
iOS
• Вышел swiftly 1.0
• Документируем код с помощью DocC
• Конкатенация против интерполяции текста в SwiftUI
• Say Goodbye to dismiss: A State-Driven Path to More Maintainable SwiftUI
• Create a Custom Single Select Button in SwiftUI
Android
• Tack Android — красивый метроном для Android
• BundledSQLiteDriver: новый взгляд на SQLite в Android и Kotlin Multiplatform
• Как мы сделали дизайн-систему для мобильных устройств и TV
• Why you should learn multi-module architecture in Compose as soon as possible!
• Understanding Dispatchers: Main and Main.immediate
• Hybrid Encryption in Android: Secure Communication Between Mobile and Backend Systems
Разработка
• Это весело и забавно… пока ваш босс не узнает про вайб-кодинг
• Как мы оживили DPED: ИИ-проект для улучшения мобильных фото до снимков с «зеркалок»
• How to work in tech when your job isn't safe
• Making Uber’s ExperimentEvaluation Engine 100x Faster
• Train & Weather Tracker with Raspberry Pi & E-Ink
• The 13 software engineering laws
Маркетинг и аналитика
• Skylight — альтернатива TikTok, созданная на основе Bluesky
Кроссплатформа
• Dart / Flutter — применяя zero / empty объекты ко всему
• Leveraging Dart FFI for high-performance ML in Flutter — a practical implementation
• How to Implement Swipe Actions in Flutter with Slidable
• Flutter Belgium Meetup #23
iOS
• Вышел swiftly 1.0
• Документируем код с помощью DocC
• Конкатенация против интерполяции текста в SwiftUI
• Say Goodbye to dismiss: A State-Driven Path to More Maintainable SwiftUI
• Create a Custom Single Select Button in SwiftUI
Android
• Tack Android — красивый метроном для Android
• BundledSQLiteDriver: новый взгляд на SQLite в Android и Kotlin Multiplatform
• Как мы сделали дизайн-систему для мобильных устройств и TV
• Why you should learn multi-module architecture in Compose as soon as possible!
• Understanding Dispatchers: Main and Main.immediate
• Hybrid Encryption in Android: Secure Communication Between Mobile and Backend Systems
AppTractor
Вышел swiftly 1.0
С этим выпуском начата официальная поддержка его как части основного набора инструментов Swift, включая размещение его как части организации Swift на GitHub.
❤5✍3
iOS
• VDAnimation — декларативные анимации для SwiftUI
• Google AI Studio: макеты Figma -> iOS приложение на Gemini 2.5 Experimental
• Воспроизведение и редактирование видео с AVFoundation. Часть 1. Ассеты простые
• Transform your LLM into an Xcode project copilot
• Region-Specific Language Control: Implementing Forced Localization in iOS Apps
• New in Swift 6.1: Test Scoping Traits
• Say Goodbye to dismiss: A State-Driven Path to More Maintainable SwiftUI
• VDAnimation — декларативные анимации для SwiftUI
• Google AI Studio: макеты Figma -> iOS приложение на Gemini 2.5 Experimental
• Воспроизведение и редактирование видео с AVFoundation. Часть 1. Ассеты простые
• Transform your LLM into an Xcode project copilot
• Region-Specific Language Control: Implementing Forced Localization in iOS Apps
• New in Swift 6.1: Test Scoping Traits
• Say Goodbye to dismiss: A State-Driven Path to More Maintainable SwiftUI
AppTractor
VDAnimation — декларативные анимации для SwiftUI
VDAnimation предоставляет мощный, декларативный способ создания сложных анимаций в SwiftUI с минимальным кодом. Создавайте анимации последовательно, параллельно, с настраиваемым временем и кривыми.
👍1
Android
• Изучайте многомодульную архитектуру в Compose как можно скорее
• Как я писал проводник для Wear OS и что из этого вышло
• Валидация полей формы в Android-приложении и не только
• Why Kotlin’s callbackFlow can cause memory leak (And How to Fix It!)
• Android Builds: Simple Recipes to Enhance Developer Productivity
• Изучайте многомодульную архитектуру в Compose как можно скорее
• Как я писал проводник для Wear OS и что из этого вышло
• Валидация полей формы в Android-приложении и не только
• Why Kotlin’s callbackFlow can cause memory leak (And How to Fix It!)
• Android Builds: Simple Recipes to Enhance Developer Productivity
AppTractor
Изучайте многомодульную архитектуру в Compose как можно скорее
Этот опыт укрепил мою веру в то, что начало с хорошо спланированной многомодульной архитектуры может сэкономить время, снизить сложность и сделать долгосрочную разработку намного более управляемой.
❤1
Шон Годекке (Zendesk, Staff Software Engineer в GitHub) написал про то, как работать в условиях усилившейся конкуренции и нестабильности. Наивный подход — просто работать так же, как работали, но добавить больше часов. Правильный (по Шону) - сосредоточиться на более рациональном использовании времени (в частности, предлагается временно сократить или приостановить написание тестов, рефакторинг, помощь другим командам, изучение новых технологий и функций, работу над внутренними процессами команды) и упарываться над тем, что важно:
Разработка
• Как работать в разработке в условиях спада
• Что такое симплекс-метод
Маркетинг и аналитика
• Тим Суини назвал Apple и Google «бандитскими» компаниями
• Push Notifications Statistics (2025)
Кроссплатформа
• Flutter Routing Done Right: A Scalable Approach
Когда на вас обращено внимание, вы должны работать так усердно, как только можете. Это как если бы у вас был краткосрочный множитель на счете в видеоигре, и вы отчаянно пытаетесь набрать очки, пока применяется множитель. Если говорить обо мне, то бывают периоды, когда я работаю по двенадцать часов в день, и периоды, когда я работаю намного меньше восьми часов.
Абсолютно необходимо выполнять как часть «работать меньше», так и часть «работать больше». Никто не может все время бежать спринт. Если вы работаете обычные восемь часов, а затем увеличиваете время до двенадцати для крупных проектов, вы, скорее всего, выгорите.
Разработка
• Как работать в разработке в условиях спада
• Что такое симплекс-метод
Маркетинг и аналитика
• Тим Суини назвал Apple и Google «бандитскими» компаниями
• Push Notifications Statistics (2025)
Кроссплатформа
• Flutter Routing Done Right: A Scalable Approach
AppTractor
Как работать в разработке в условиях спада
По рассказам, руководители технологических компаний теперь дают своим сотрудникам внутренние указания работать усерднее и быстрее, а новая угроза увольнений добавляет вес этой директиве. Инженеры по праву напуганы. Что нам делать?
👍5😁1
Чувствуете себя надежно на своем месте на работе?
Anonymous Poll
32%
Да
4%
Уже да
17%
Уже нет
11%
Нет
23%
Все мы тут самозванцы
12%
Посмотреть
Бразилия расследует App Tracking Transparency
Apple подвергается пристальному вниманию в Бразилии из-за обвинений в антиконкурентной практике в App Store. Хотя компании было предоставлено больше времени для обсуждения дела, бразильский антимонопольный регулятор Cade теперь расследует действия Apple из-за функции App Tracking Transparency.
Началось все из-за жалоб запрещенной компании на M, которая утверждает, что только сторонним приложениям необходимо запрашивать у пользователей разрешение на сбор их данных, в то время как приложения Apple имеют право бесплатно собирать и делиться данными с компанией. Бразильский регулятор говорит, что «есть доказательства» того, что Apple «собирает и обрабатывает информацию от своих пользователей на более выгодных условиях, чем те, которые предлагаются третьим лицам».
В Бразилии Apple пока не предстанет перед судом, поскольку Cade все еще изучает положения и условия компании для ATT в сторонних приложениях. Конечно, если регулятор сочтет условия ATT несправедливыми, компания может столкнуться с штрафами в Бразилии в будущем. Но несколько дней назад Франция оштрафовала Apple на 132 миллиона долларов и тоже из-за ATT. Местный регулятор не подверг сомнению сам ATT, но обнаружил, что методы его реализации «искусственно усложняют использование сторонних приложений и искажают нейтральность фреймворка в ущерб небольшим издателям, финансируемым за счет рекламы». Получилась асимметричная система, в которой издатели обязаны получать двойное согласие пользователей для отслеживания на сторонних сайтах и в приложениях, в то время как Apple не запрашивала согласия у пользователей своих собственных приложений.
Apple подвергается пристальному вниманию в Бразилии из-за обвинений в антиконкурентной практике в App Store. Хотя компании было предоставлено больше времени для обсуждения дела, бразильский антимонопольный регулятор Cade теперь расследует действия Apple из-за функции App Tracking Transparency.
Началось все из-за жалоб запрещенной компании на M, которая утверждает, что только сторонним приложениям необходимо запрашивать у пользователей разрешение на сбор их данных, в то время как приложения Apple имеют право бесплатно собирать и делиться данными с компанией. Бразильский регулятор говорит, что «есть доказательства» того, что Apple «собирает и обрабатывает информацию от своих пользователей на более выгодных условиях, чем те, которые предлагаются третьим лицам».
В Бразилии Apple пока не предстанет перед судом, поскольку Cade все еще изучает положения и условия компании для ATT в сторонних приложениях. Конечно, если регулятор сочтет условия ATT несправедливыми, компания может столкнуться с штрафами в Бразилии в будущем. Но несколько дней назад Франция оштрафовала Apple на 132 миллиона долларов и тоже из-за ATT. Местный регулятор не подверг сомнению сам ATT, но обнаружил, что методы его реализации «искусственно усложняют использование сторонних приложений и искажают нейтральность фреймворка в ущерб небольшим издателям, финансируемым за счет рекламы». Получилась асимметричная система, в которой издатели обязаны получать двойное согласие пользователей для отслеживания на сторонних сайтах и в приложениях, в то время как Apple не запрашивала согласия у пользователей своих собственных приложений.
👍4
Forwarded from AppFiles - Mobile Development
•
(iOS Ru) Одна билд-система, чтоб править всеми•
(iOS Ru) Влияние Swift Runtime на производительность приложения•
(iOS Ru) Разрабатываем CLI-инструменты на Swift•
(iOS En) Disable Interactive Dismissal of Navigation Zoom Transition•
(iOS En) Localizing Apple UI in 2025•
(iOS En) Monitoring iOS apps•
(iOS En) SwiftUI in UIKit?! Watch Me Inject Animations into a UIKit App•
(iOS En) SwiftUI Animation Bugs? Here's How I Fixed Them!•
(iOS En) Animated Dialogs Like Family App Using SwiftUI•
(iOS En) Creating an Over Top View in SwiftUI: A Unique Way to Present Edit Views•
(iOS En) Swift Protocols - An Introduction•
(And Ru) Как мы разработали свой фреймворк SingleState-навигации на Android•
(And Ru) Танцы вокруг дерева семантики: UI-тесты Compose-экранов•
(And Ru) Многомодульность — ответы на вопросы с экспертами•
(And En) Enhancing app performance in Android•
(And En) Anatomy of the SDK Runtime•
(And En) No more Manual Koin Initialization - New Context Binding is Awesome•
(Crs Ru) Kotlin в GitHub Actions. Расширяем горизонты KMP•
(Crs Ru) Как я перестал бояться и полюбил компилятор Dart•
(Crs En) Using Platform-Specific APIs in KMP Apps•
(Dev Ru) Avito UX meetup: взаимодействие, метрики и мемы•
(Dev Ru) Полный обзор новой операционной системы HarmonyOS Next. Получилось ли?•
(Dev Ru) Профессия: cистемный аналитик•
(Dev En) Full 2025 Backend Dev Crash Course for Beginners With Spring Boot (Kotlin, JWT Auth, MongoDB)•
(Dev En) Code DeepSeek V3 From Scratch in Python - Full Course•
(Dev En) How to Survive in 2025 Tech Job Market?Что было год назад:
•
(And Ru) Как работает Android Work Profile•
(And Ru) Разбор кода магазина приложений•
(And Ru) Опыт, Java vs Kotlin и работа со списками•
(Crs Ru) Как Compose Multiplatform for iOS может убить Flutter?•
(Dev Ru) Открытое алгоритмическое собеседование•
(Dev Ru) Как разрабатывать Яндекс Маркет, обеспечивать качество и работать с BDUI•
(Dev Ru) Собеседование продуктового аналитика в АвитоPlease open Telegram to view this post
VIEW IN TELEGRAM
👍3
Жизнь после конкатенации
Все статьи, новости, видео и библиотеки за прошедшую неделю - конкатенация против интерполяции, дизайн-система для мобильных устройств и TV, применение zero/empty объектов, игра на LUA для часов Xiaomi Redmi Watch 4, уродливые пейволы, навыки флирта с ИИ-персонажами и многое другое. Заходите!
Все статьи, новости, видео и библиотеки за прошедшую неделю - конкатенация против интерполяции, дизайн-система для мобильных устройств и TV, применение zero/empty объектов, игра на LUA для часов Xiaomi Redmi Watch 4, уродливые пейволы, навыки флирта с ИИ-персонажами и многое другое. Заходите!
👍5
Kotlin-bench — это специализированный бенчмарк, разработанный для оценки производительности больших языковых моделей (LLM) и AI-агентов в задачах, связанных с реальной разработкой на Kotlin и Android. Цель бенчмарка — предоставить объективный инструмент для сравнения производительности различных LLM в контексте понимания и генерации кода на Kotlin.
Особенности Kotlin-bench
• Основан на реальных задачах: Бенчмарк включает 100 задач, взятых из популярных GitHub-репозиториев, таких как kotlinx.coroutines и Anki-Android. Эти задачи отражают реальные проблемы, с которыми сталкиваются разработчики при работе с Kotlin и Android.
• Объективная оценка решений: Для проверки корректности решений, сгенерированных моделями, используются юнит-тесты соответствующих проектов. Модель считается успешно справившейся с задачей, если её код проходит все тесты, что обеспечивает объективность оценки.
• Сравнение производительности моделей: Kotlin-bench позволяет сравнивать различные LLM по их способности решать задачи, связанные именно с Kotlin и Android.
На текущий момент бенчмарк Kotlin-bench продемонстрировал следующие результаты при оценке производительности LLM в задачах, связанных с разработкой на Kotlin и Android:
• Gemini 2.5: показала наилучший результат, успешно решив 14% задач.
• Claude 3.7 (режим «thinking»): приблизился к результатам Gemini 2.5, также продемонстрировав высокую эффективность.
• Deepseek R1: занял третье место по производительности.
• OpenAI o3-mini: показал менее впечатляющий результат, решив лишь 2% задач.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥3❤1😁1
iOS
• Используем бесплатный Moderation API от OpenAI в Swift
• SmartCodable — лучшие Codable
• Одна билд-система, чтоб править всеми
• Влияние Swift Runtime на производительность приложения
• Разрабатываем CLI-инструменты на Swift
• Swift 6.1 Released
• DocC for Multi-Platform Documentation
• Modern URL construction in Swift
• Cross Compiling Swift
• Why I never subclass UITableViewCell or UICollectionViewCell
• Используем бесплатный Moderation API от OpenAI в Swift
• SmartCodable — лучшие Codable
• Одна билд-система, чтоб править всеми
• Влияние Swift Runtime на производительность приложения
• Разрабатываем CLI-инструменты на Swift
• Swift 6.1 Released
• DocC for Multi-Platform Documentation
• Modern URL construction in Swift
• Cross Compiling Swift
• Why I never subclass UITableViewCell or UICollectionViewCell
AppTractor
Используем бесплатный Moderation API от OpenAI в Swift
Интеграция Moderation API от OpenAI позволяет сбалансировать доступность контента и безопасность пользователей, гарантируя, что ваше приложение останется функциональным и ответственным.
❤1