🤖 Google Play прекращает все отношения с российскими разработчиками
Аминь. С 26 декабря 2024 года Google Play прекратит делать платежи в адрес разработчиков, чьи банковские счета находятся в России. Доход от продаж по всему миру начисляться не будет. Так же станет невозможна монетизация - с указанной даты будут отклоняться все попытки пользователей приобрести платные приложения, сделать покупку или оформить подписку у тех разработчиков, банковский аккаунт которых находится в стране.
🤖 Очень смешно, но с мест докладывают, что Google Play вроде как обновил политику “20 тестеров на 14 дней” на “12 тестеров в течение 14 дней”. Хотя официального объявления не было, похоже, что требования все таки снизились. Вряд ли для разработчиков произойдут большие изменения. Да, вы сможете более просто набрать 12 тестеров, но были и приложения с более чем 80 тестерами, которые получали отказ в доступе к магазин. Так что будем дальше наблюдать, как Google стреляет себе в ногу.
Разработка
• Туториал «RAG с нуля»
• Building a User Signals Platform at Airbnb
• How we reduced our cloud spending by 20%
Маркетинг и монетизация
• Лучшие приложения и игры для iPhone, iPad и Mac — Победители App Store Awards 2024
• Маркетологи в мобайле: Татьяна Панюшева (Яндекс Карты)
• Duolingo помогает Netflix и помогает поклонникам «Игры в кальмара» выучить корейский язык
• В YouTube Playables появился мультиплеер
Кроссплатформа
• Why people say Flutter app do not feel native
• genovich/crossplatform-architecture-for-an-apps-core-simple-linear-scalable-3373106d2a1d">Crossplatform architecture for an app’s core. Simple. Linear. Scalable
iOS
• Улучшаем предварительные просмотры Xcode с помощью покрытия модульными тестами
• Новогоднее настроение на Metal
• shobhakartiwari/completion-handlers-vs-tasks-in-swift-471645f8234d">Completion Handlers vs. Tasks in Swift
• Mastering Forms in SwiftUI: Selecting Information
• rayleefx/ios-native-json-parser-7f054c3185f6">iOS: Native JSON Parser
• Blooming fireworks with Metal and SwiftUI
Android
• Shared Element Transition в Jetpack Compose
• Passage — аутентификация для Kotlin/Compose Multiplatform
• AndroidAPS в часах. Продолжение
• 5 steps to implement MVI architecture with Jetpack Compose
• Screenshot testing in Jetpack Compose
• How easy is drag-and-drop in Compose?
#ios #android #mobile #dev
🦜🔗RAG с нуля
Туториал «RAG с нуля» от Langchain и RAG Playground — два отличных образовательных ресурса, которые помогут вам сделать свою RAG.
LLM обучаются на данных, предоставленных их преподавателями. Если вы хотите предоставить им свои собственные данные для выполнения запросов, вы можете сделать это двумя способами. Старый способ заключался в тонкой настройке базовой модели. Тонкая настройка, хотя и является вполне оправданной техникой, имеет несколько недостатков: она требует больших ресурсов, как вычислительной мощности, так и объемов данных, а также должна постоянно обновляться при поступлении новых данных. Другой вариант, более современный и легкий, — это RAG (Retrieval Augmented Generation). RAG позволяет LLM усиливать запрос пользователя, подключаясь к внешним данным в режиме реального времени при генерации результатов. Такой подход требует меньше ресурсов, не нуждается в постоянном обновлении, так как использует данные во время выполнения, и, конечно, главное преимущество заключается в том, что он извлекает актуальные для пользователя ответы.
Новый курс от Langchain покажет вам, как построить RAG-систему с нуля. Это плейлист на YouTube из 14 частей, он начинается с абсолютных основ и движется по конвейеру к завершению, описывая все промежуточные шаги. При этом используется собственный фреймворк Langchain, Python, векторное хранилище ChromaDB, интерфейс ChatOpenAI и LLM от OpenAI. Весь код размещен в GitHub проекта в виде блокнотов Jupyter, которые вы можете скачать и запустить на своей машине.
В качестве дополнения к обучающим ресурсам курса есть интерактивная площадка RAG Playground (не связанная с Langchain). Эта площадка позволяет изучить каждый шаг конвейера RAG с помощью интерактивных визуализаций.
Проблема 70%: суровые истины о программировании с помощью ИИ
Адди Османи, инженерный лидер Google, написал отличную программную статью о проблемах программирования с ИИ.
Если вкратце о постановке вопроса, то проблема 70% - ИИ может сделать 70% работы, но оставшиеся 30% становятся упражнением на убывающую отдачу, в которой вы делает один шаг вперед и два назад.
TLDR: ИИ не делает наше программное обеспечение кардинально лучше, потому что его качество никогда не ограничивалось в первую очередь скоростью программирования. Трудные части разработки программного обеспечения — понимание требований, проектирование поддерживаемых систем, работа с нестандартными ситуациями, обеспечение безопасности и производительности — по-прежнему требуют человеческой оценки. Что делает ИИ, так это позволяет нам быстрее проводить итерации и эксперименты, что потенциально может привести к лучшим решениям благодаря более быстрым исследованиям. Но только если мы сохраним инженерную дисциплину и будем использовать ИИ как инструмент, а не как замену хорошим практикам разработки ПО. Помните: цель не в том, чтобы быстрее написать больше кода. Она заключается в том, чтобы создавать лучшее программное обеспечение. При разумном использовании ИИ может помочь нам в этом. Но мы сами должны знать, что значит «лучшее» и как этого добиться.
Разработка
• Как повысить свою ценность в ИТ: в поиске новых компетенций
• Карьерный маршрут: от мидла до архитектора ПО
• Построение event-driven приложения с Apache Flink
• От исполнителя до менеджера менеджеров: что поможет, а что не спасет
• PL/SQL – SQL на стероидах: Oracle, энтерпрайз, базы данных
• Llama стала еще более эффективной
• Особенности построения графиков Qt в «Авроре»
• The 70% problem: Hard truths about AI-assisted coding
• Grifters, believers, grinders, and coasters
Маркетинг и монетизация
• Новогоднее освещение для дока и меню Mac
• Бразильский суд отменил антимонопольное решение по Apple
Кроссплатформа
• Awesome Open Source Flutter Apps
• alexsinelnikov/multi-window-support-with-flutter-desktop-21f5f9281c7b">Multi window support with Flutter desktop
iOS
• Использование Apple Swift и SwiftUI в iOS 18
• SFBAudioEngine — работа с аудио для macOS, iOS и tvOS
• Как мы внедряли пакетный менеджер и поняли всё про iOS-зависимости
• Как мы сделали внутренний сервис в The Composable Architecture
• Concurrency Step-by-Step: Reading from Storage
• Enhance Xcode Previews with Unit Test Coverage
• Discovering iOS memory leaks III: Automating with Github Action
• Most popular videos of WWDC24
#ios
Как уменьшить вопперы и табы
Новая подборка всех материалов за неделю - уменьшение размера банковского приложения и транзишинометр для Android, вопперы и табы, сертификаты и профили, сколько приложений, из выпущенных в 2024 году, стали успешными, вранье LLM и многое другое. Подключайтесь!
А также подписывайтесь на другие мои каналы:
• AppFiles - подробнее про библиотеки, статьи и видео про мобильную разработку
• IT Insights - интересное про всю остальную разработку и программирование
• Хорошие новости - просто хороши и добрые истории
Новогоднее освещение для дока и меню Mac
Настроение праздничное, но нужно работать? Новое приложение для macOS под названием Festivitas поможет вам украсить экран компьютера мерцающими праздничными огнями, которые развешиваются по меню и освещают док.
Можно настроить толщину кабеля, размер лампочек, расстояние между ними, высоту и паттерн мигания, цвета и прочее. Вы также можете переключиться на белый свет вместо цветов и отключить подсветку в доке или в строке меню, в зависимости от ваших предпочтений. Таким образом, если вы обнаружите, что подсветка отвлекает вас от просмотра, например, важных уведомлений Slack в доке, вы можете просто отключить подсветку дока на время рабочего дня. Или, если подсветка панели меню мешает вам видеть коллекцию открытых вкладок Chrome, вы можете настроить высоту провисания, чтобы подсветка располагалась, например, над вкладками.
Новое приложение доступно по цене, которую определяет сам пользователь, но не менее 4 евро. По словам разработчика, пользователи платят за приложение до 30 евро.
🇸🇱 Начиная с сегодняшнего дня Google меняет технологию, на основе которой работает Play Integrity API на всех устройствах под управлением Android 13 (уровень API 33) и выше, чтобы сделать его более быстрым, надежным и конфиденциальным для пользователей. Разработчики, уже использующие Play Integrity API, могут отказаться от использования новых вердиктов уже сегодня — все интеграции API будут автоматически переведены на новые вердикты в мае 2025 года. Усовершенствованные вердикты будут требовать и в большей степени использовать аппаратные сигналы безопасности с помощью Android Platform Key Attestation, что значительно усложнит и удорожит их обход для злоумышленников. Google также будет корректировать вердикты при обнаружении угроз безопасности в разных версиях Android SDK. Переход на новые вердикты позволит сократить количество сигналов от устройств, которые необходимо собирать и оценивать на серверах Google, на ~90%, а тесты показывают, что задержка в вынесении вердиктов может улучшиться на ~80%. Разработчики, которые уже используют Play Integrity API, могут подключиться к новым вердиктам сейчас или подождать, пока они автоматически обновятся для них в мае 2025 года.
Разработка
• Engineers Do Not Get To Make Startup Mistakes When They Build Ledgers
Маркетинг и монетизация
• Custom Product Pages: как их внедрить и получить максимальную отдачу от рекламы iOS-приложения
• Прогнозы Adjust на 2025 год: как мобильный маркетинг трансформируется в новых условиях
• Cameo открывается для всех
Кроссплатформа
• Flutter: Simplified Unidirectional Data Flow
iOS
• Удобная навигация в SwiftUI для iOS 16 и выше
• MotionMachine — мощная, элегантная и модульная анимация на Swift
• Cursor AI в iOS-разработке. Приложение «Фото с Flickr.com»
• How I reduce the iOS Banking app size by 50%
• Testing completion handler based code in Swift Testing
• Integrating Live Activity and Dynamic Island in iOS: A Complete Guide
• Leveraging the Power of Generic Protocols in Swift
Android
• Смарт-очки Samsung дебютируют в январе
• Play Integrity API становится быстрее и надежнее
• Вопперы и табы: как мы сделали меню для Burger King
• Top 6 Tips for Starting a Modern Android Codebase From Scratch
• Android Binder Mechanism: The Backbone of IPC in Android
• Android 15 for Raspberry Pi 5
• rafcio/highlight-text-in-compose-f5ea1f99563a">Highlight text in Compose
#ios #android #mobile #dev
Сколько приложений, выпущенных в 2024 году, смогли добиться успеха?
Предположим, что успех это $100,000 - для большого приложения, конечно, порог самоокупаемости или даже убыток, но для большей части, наверное, достаточно успешный показатель.
• По данным AppMagic, за первые 11 месяцев 2024 года было выпущено 113,297 новых приложений (и 190,360 игр, однако в данном исследовании мы рассматриваем только приложения).
• Из них больше $1000 удалось заработать 2011 приложению - 1.77%. То есть больше 98% всех новинок сгинули в безвестности.
• Отметку в $10,000 дохода превысили 1214 приложений (1.07%).
• Больше $50,000 заработало 610 приложений (0.53%).
• Больше $100,000 заработало 377 продуктов (0.33%).
• На первом месте по заработкам приложение MiniShorts - представитель «короткометражных драм», растущего тренда в области стриминга. Оно на настоящий момент заработало более $20 миллионов. На втором месте Chatbot AI - Search Assistant с примерно $8.5 миллионами, еще один яркий представитель тренда ИИ-помощников. На третьем и четвертом местах еще два приложения с короткими видео, а на пятом удаленное из обоих магазинов приложение Donna AI Song & Music Maker, успевшее получить от пользователей $3.8 млн. Всего в Топ-20 по заработку 6 приложений с «короткометражными драмами», 4 мессенджера, 2 ИИ-чатбота.
• По загрузкам (среди тех, кто заработал больше $100,000) лидирует Chatbot AI с более чем 27 миллионами установок. На втором месте приложение SnapTick для загрузки видео из разных социальных платформ, на третьем XTranslate для перевода фото, голоса и т.п.
А сколько ваше приложение заработало за год?
Давно хотел поделиться безумным ноутбуком Lenovo - ThinkBook Plus Gen 5. Его фишка в том, что база - это полноценный компьютер на Windows, а отстегивающийся экран - планшет на Android. Казалось бы хрень полная, но на удивление Lenovo удалось не только сделать два качественных устройства по отдельности, но и все это неплохо заставить вместе работать. Переключение бесшовное и обе ОС вроде как вполне нормально сосуществуют вместе (файлы синхронизируются через отдельную папку). Так что если вам нужна рабочая станция для Android-разработки и устройство для тестирования, то тут это прямо настоящий 2-в-1. Цена, конечно, доставляет, но все же пример хороший - и может кто-нибудь сделает подобное за более вменяемые деньги 🧰
Разработка
• Lenovo ThinkBook Plus Gen 5 Hybrid: больше безумных ноутбуков!
• Почему не стоит указывать сертификаты в своем профиле
• Ускорение разработки продуктов с помощью горизонтальных решений
• Перестаньте использовать Copilot. Вред ИИ для разработчиков
• Топ-5 страхов и проблем ИТ-индустрии — монополизация, ИИ, сокращения, выгорания
• Breaking the 4Chan CAPTCHA
Маркетинг и монетизация
• Кто выиграет от продажи Chrome?
Кроссплатформа
• Профилирование Flutter-приложений
• Понимание PWA: выбираем между Flutter и Web, и что ожидают заказчики
• Lessons learned releasing my first Flutter app on iOS
#mobile #dev
iOS
• Анимируем представления UIKit с помощью анимации SwiftUI
• ATProtoKit — простая работа с AT Protocol
• Как оптимизировали Яндекс Go для отображения 50+ заказов
• Кодогенерация в iOS-разработке
• ChatGPT in Xcode: is it good?
• Simple state sharing and persistence in Swift
• Why Can't You Loop Over Ranges of Characters in Swift
• jpmtech/building-a-clone-of-the-messages-app-in-swiftui-82e84b3be159">Building a Clone of the Messages app in SwiftUI
#ios
Почему не стоит указывать сертификаты в своем профиле
Интересное исследование interviewing.io, платформы для проведения анонимных интервью. Их гипотеза - то, что сертификаты нужны худшим разработчикам. У кого хорошее образование и карьера в известных компаниях (забавно, что в статье для этого используется термин "родословная, pedigree) и так все хорошо.
Собственно, исследование подтвердило это - люди с сертификатами проходят интервью заметно хуже чем те, у кого их нет (53 и 57% соответственно).
Мы также увидели, что в целом сертификаты несут негативный сигнал и что эти результаты сохраняются даже на все более благоприятном для работодателей рынке труда. Как мы и ожидали, эти реалии создают неудачную петлю обратной связи. Рекрутеры, как правило, превыше всего ценят карьеру и образование, а значит, они реже общаются с нетрадиционными кандидатами. Когда они видят профили нетрадиционных кандидатов с сертификатами, то, поскольку они все равно не собирались с ними разговаривать, со временем у них возникает негативная ассоциация с этими сертификатами. Более того, учитывая, что люди, указывающие сертификаты, чаще всего показывают худшие результаты на собеседованиях, когда рекрутеры выбирают породистых кандидатов, имеющих сертификат, и те показывают худшие результаты, эта негативная ассоциация только усиливается. В силу этой механики сертификаты укрепляются в сознании рекрутеров как плохие, и указание их в профиле становится контрпродуктивной стратегией в отношении скрытых гениев, тех самых кандидатов, которым сертификаты должны были бы помочь в первую очередь.Читать полностью…
Видео и подкасты за неделю на @AppFiles
• (iOS Ru)
Как оптимизировали Яндекс Go для отображения 50+ заказов
• (iOS Ru)
Кодогенерация в iOS-разработке
• (iOS En)
Interactive Navigation Gesture | SwiftUI
• (iOS En)
Swift Testing with Test Plans and Floating Point Equality
• (iOS En)
Building a Reading List App
• (iOS En)
Create an Animated Mesh Gradient in SwiftUI
• (And Ru)
Плагины — это просто
• (And Ru)
Как Jetpack ViewModel переживает поворот экрана
• (And En)
Clipping and masking | Jetpack Compose Tips
• (And En)
Rules about performance tools - Android Developers Backstage
• (And En)
How to Observe the REAL Internet Connectivity - Android Studio Kotlin Tutorial
• (And En)
The Ultimate Gradle Kotlin Beginner's Crash Course For 2025
• (Crs Ru)
Профилирование Flutter-приложений
• (Crs Ru)
Понимание PWA: выбираем между Flutter и Web, и что ожидают заказчики
• (Crs En)
Let's Build a Game with Jetpack Compose! (Kotlin Multiplatform)
• (Dev Ru)
Ускорение разработки продуктов с помощью горизонтальных решений
• (Dev Ru)
Перестаньте использовать Copilot. Вред ИИ для разработчиков
• (Dev Ru)
Топ-5 страхов и проблем ИТ-индустрии — монополизация, ИИ, сокращения, выгорания
• (Dev En)
Event-Driven Architecture Course – NextJS, Clerk, Webhooks
#ios #android #mobile #video
В первом квартальном выпуске Android 15 наконец-то получит полноценную поддержку оконного режима для настольных компьютеров. Google анонсировал новый оконный режим Android для настольных компьютеров чуть более двух месяцев назад, а на следующей неделе он появится на планшетах в выпуске Android 15 QPR1. В начальной версии оконного режима рабочего стола будут отсутствовать некоторые базовые функции, такие как кнопка сворачивания, но, к счастью, они появятся в будущей версии. Все идет к тому, что Google таки заместит ChromeOS на Android.
Разработка
• BDUI — это спасение от релизов: «Какие ваши доказательства?»
• Упс, что-то пошло не так. Как UX-редактору написать сообщение об ошибке?
• Vector Databases Explained Simply
Маркетинг и монетизация
• Готовые решения для зимнего дизайна страницы приложения
Кроссплатформа
• mohaberabi98/develop-your-own-crashlytics-library-using-kotlin-multiplatform-4e9380010ef5">Develop Your Own Crashlytics Library Using Kotlin Multiplatform
iOS
• Делаем поисковые подсказки в SwiftUI
• wesleymatlock/mastering-sendable-in-swift-6-e13d04d86820">Mastering Sendable in Swift 6
• jpmtech/building-the-avatar-view-from-messages-using-swiftui-26c7608f4d9a">Building the Avatar View from Messages using SwiftUI
• Working with Natural Language framework
• Getting view size in SwiftUI without GeometryReader
Android
• Полное руководство по написанию чистого кода Jetpack Compose
• Google готовит новые функции для работы с окнами на рабочем столе Android
• Constraints Explorer — отладка layout constraints
• Benchmarking Koin vs. Dagger Hilt in Modern Android Development (2024)
• ramadan123sayed/deciding-between-flow-and-suspend-in-kotlin-repositories-a-detailed-guide-999efa7dcd08">Deciding Between Flow and Suspend in Repositories: A Detailed Guide
• What's new in Kotlin 2.1.0
• App incorrectly labeled as malware -> lost 30,000+ users
• Rules about performance tools
#ios #android #mobile #dev
⛑ Дейтинг в России 2024
По данным Sensor Tower, в мире мобильные приложения для онлайн-знакомств снижают свои показатели использования и вовлеченности, что вызвано множеством факторов, от экономики до растущей конкуренции. А как дела с дейтингом обстоят в России?
• По данным AppMagic, в ноябре 2024 года Топ-20 приложений в категории заработали $1.12 млн и получили 1.19 млн новых установок.
• Много это или мало? Если посмотреть в ретроспективе, то в ноябре 2021 года категория получила $1.8 млн, в 2022 $1.7 млн, в 2023 доход упал почти втрое — до $674 тысячи, в 2024 началось восстановление и доход в этом году превысил $1.1 млн. Это все еще почти в два раза меньше, чем три года назад.
• Лучшие приложения по заработку это PURE, Twinby, Mamba, VK Знакомства и Hornet.
• Интересно, что PURE получает около 40% всех доходов категории. Топ-5 приложений по доходам получает уже 91% всех денег.
• С установками по очевидным причинам такого падения не случилось, но все же они плавно снижаются. Для Топ-20 приложений в ноябре 2021 было 1.7 млн установок, в 2022 1.53 млн, в 2023 1.63 и в этом году 1.37 млн новых инсталов. Интересно, что PURE, лидер по доходам, по установкам только замыкает первую десятку.
• Недавно я делал исследование - вероятность добиться успеха новому приложению составляет около 0.33%. Как с этим дела в дейтинге? Можно ли выйти на рынок с новым продуктом и потеснить уже работающих? Нет, нельзя. Ни одно из выпущенных в 2024 году приложений не достигло в России никаких значимых успехов.
И что: доходы категории в России значительно упали и они явно концентрируются у нескольких ведущих приложений. Лидер получает практически половину всех денег. Места для новых продуктов нет. Да, есть некоторое восстановление, но до прежних показателей категории расти еще много лет - категория только в России не жизнеспособна. Что касается установок, то и они, в соответствии с мировыми тенденциями, снижаются.
Обязательно поставьте лайк, если хотите продолжения по другим категориям.
Победители App Store Awards 2024
Apple объявила лучшие приложения App Store 2024 года:
• Приложение года для iPhone - Kino
• Приложение года для iPad - Moises
• Приложение года для Mac - Adobe Lightroom
• Приложение года для Watch - Lumy
• Приложение года для Vision Pro - What If…? An Immersive Story
• Приложение года для Apple TV - F1 TV
Все финалисты тут.
⛑ Удивительно, но будучи когда-то локомотивом экономики приложений, дейтинг постепенно загибается. Sensor Tower докладывает, что и установки, и количество пользователей падают - на 9% и 3% по сравнению с предыдущим годом соответственно. В США все еще хуже - в 3 квартале загрузки и MAU в этой группе снизились на 14% и 8%.Да, растут отдельные нишевые продукты, но в целом по миру категория не то чтобы падает, но выходит на плато. Кто работает в дейтинге, давайте интервью сделаем о текущем положении дел?
Разработка
• Проблема 70%: суровые истины о программировании с помощью ИИ
• I can now run a GPT-4 class model on my laptop
Маркетинг и монетизация
• Пользователи расстаются с приложениями для знакомств
• Самые скачиваемые и зарабатывающие приложения в России в ноябре 2024
Кроссплатформа
• Как подружить Flutter и Huawei — настраиваем Flutter. Часть 2
• How to add platform-specific icons to a Compose Multiplatform project
• Dependency Injection with Injectable: Boosting Your App’s Performance & Scalability
• talsec/how-to-implement-secure-storage-in-flutter-8ce2a3e467e3">How to implement Secure Storage in Flutter?
iOS
• Как собрать и внедрить высоконагруженный модуль. Опыт Звука
• Первая в мире альтернатива Apple Pay для iPhone запущена в Норвегии
• SwiftUI: Caching in Layout Protocol
• Xcbeautify — украшатель xcodebuild
• Understanding opaque types in Swif
• Migrating XCTest to Swift Testing
Android
• Using BlockHound to track blocking calls in non-blocking dispatchers
• KaushalVasava/how-observe-internet-in-android-a-new-way-using-flow-8304a33b4717">How to observe Internet in Android? A new way using Flow
• olivervicente/9-tips-to-improve-your-jetpack-compose-previews-a4e00831bacc">9 Tips to improve your Jetpack Compose Previews
• Customisation of Shared Element Transition of Jetpack Compose
• Implementing Live Camera OCR with Jetpack Compose
• UI State, Callbacks and Equality Pitfalls
Android
• Jetpack Compose Animations — примеры анимация на Compose
• Как мы использовали Dynamic Feature Delivery на Android
• Как в Яндекс Музыке пишут визард с помощью Jetpack Compose
• Gradle уже не тот! Мнение билд инженера
• ridvanozcan48/feature-flags-and-modular-development-ensuring-flexibility-in-large-android-projects-14e9213c4b2a">Feature Flags and Modular Development: Ensuring Flexibility in Large Android Projects
• Speeding Up UI Tests 4x While Reducing Costs
• Testing Different Navigation Options with Compose
#android
💽 Использование Apple Swift и SwiftUI в iOS 18
Вышел новый анализ iOS. Главные цифры:
• Количество файлов, составляющих iOS, продолжает расти: iOS 18 содержит 6800 бинарных файлов, по сравнению с 6030 в iOS 17. Это 770 новых файлов.
• iOS 18 теперь содержит 592 бинарных файла, использующих SwiftUI, а количество бинарных файлов, содержащих хотя бы одну строку кода Swift, увеличилось на 50% по сравнению с iOS 17 и iOS 18.
• В iOS 16 только 4 приложения использовали жизненный цикл приложений на базе SwiftUI, а в iOS 17 их число выросло до 14. В iOS 18 жизненный цикл приложений на базе SwiftUI теперь используют 19 приложений.
• Главным языком все равно остается Objective-C.
• В iOS 18 количество приложений, использующих UIKit, выросло всего на 8%, в то время как количество приложений, использующих SwiftUI, выросло более чем на 50%.
• В iOS 18, похоже, Apple также начинает или планирует использовать Swift на низком уровне в Secure Enclave.
Видео и подкасты за неделю на @AppFiles
• (iOS Ru)
Как мы внедряли пакетный менеджер и поняли всё про iOS-зависимости
• (iOS Ru)
Как мы сделали внутренний сервис в The Composable Architecture
• (iOS En)
Why not build Apple Intelligence ourselves?
• (iOS En)
How to Limit the Xcode Console Spam with CloudKit and SwiftData
• (iOS En)
SwiftUI App Intro Animation's - Walkthrough Page Animation's
• (iOS En)
Extract UIKit View From SwiftUI View
• (iOS En)
Swift Testing 101 - Xcode 16 Tutorial
• (And Ru)
Как мы использовали Dynamic Feature Delivery на Android
• (And Ru)
Как в Яндекс Музыке пишут визард с помощью Jetpack Compose
• (And Ru)
Gradle уже не тот! Мнение билд инженера
• (And En)
Clipping and masking | Jetpack Compose Tips
• (And En)
How to Create a One-Time Password TextField in Jetpack Compose
• (And En)
Immutable and Persistent Lists
• (And En)
Hot Reload Magic
• (Crs En)
UUID in Kotlin Multiplatform
• (Crs En)
How to Manage Run-Time Permissions in Android and iOS with Compose Multiplatform
• (Dev Ru)
Как повысить свою ценность в ИТ: в поиске новых компетенций
• (Dev Ru)
Карьерный маршрут: от мидла до архитектора ПО
• (Dev Ru)
Построение event-driven приложения с Apache Flink
• (Dev Ru)
От исполнителя до менеджера менеджеров: что поможет, а что не спасет
• (Dev Ru)
PL/SQL – SQL на стероидах: Oracle, энтерпрайз, базы данных
• (Mrk En)
Playtime EMEA 2024
#ios #android #mobile #video
Huawei позиционирует HarmonyOS Next как альтернативу Android. В отличие от предыдущей версии, Next не поддерживает установку и запуск приложений Android. У Next есть основные приложения и Huawei также работает с разработчиками в Китае, чтобы перенести 4000 из 5000 самых популярных приложений в стране на эту платформу и выпустить еще 100,000 приложений в течение года. Тем не менее, многие альтернативы Android ранее терпели неудачу, потому что им не удавалось привлечь разработчиков к поддержке платформы. И вместо того, чтобы ждать, пока международные разработчики перенесут свои приложения на HarmonyOS Next, компания запустила в ней виртуальную машину с Android. Утилита создает контейнер для запуска приложений Android, что не является новой концепцией, но интересно, что она так быстро появилась для новой операционной системы. После установки утилита позволяет установить ряд приложений для Android из автономного магазина. Конечно, у инструмента есть множество ограничений и вообще непонятна его дальнейшая судьба. Но то, что Next все-таки получила поддержку Android, дает ОС хоть какие-то шансы на внешнем рынке.
Разработка
• WASM-4: Build retro games using WebAssembly for a fantasy console
Кроссплатформа
• Flutter vs. React Native’s New Architecture: Performance Benchmark
iOS
• Как я уменьшил размер банковского приложения для iOS на 50%
• wesleymatlock/debugging-swiftui-layouts-tips-tricks-and-techniques-917f73b36838">Debugging SwiftUI Layouts: Tips, Tricks, and Techniques
• How to Create Dynamic iOS Apps: Remote Styling with SwiftUI
• shobhakartiwari/singleton-in-xcode-16-4be58e4400b8">Singleton in XCode 16
Android
• Выделение слов в Compose
• В HarmonyOS нашли виртуальный Android
• Aerial Views — скринсейвер для Android по мотивам Apple TV
• Build AI-Powered Chatbot Apps for Android Using Firebase
🌐 Apple объявила о работе App Store на новогодних праздниках. Уже несколько лет магазин приложений не закрывают на Рождество, но, возможно, время рассмотрения приложений увеличится. Магазин предлагает планировать отправку важных для вас материалов заблаговременно, так как ожидается большое количество заявок, и с 20 по 26 декабря обзор приложений может занять больше времени.
Разработка
• Самые высокооплачиваемые вакансии декабря в сфере разработки приложений
• 4 Ways to Lead Meetings That Work
• Making a trading Gameboy: A pocket exchange and algo trading platform
Маркетинг и монетизация
• Сколько приложений, из выпущенных в 2024 году, заработало больше $100,000?
• How to create and upload high-quality App Store assets with RocketSim and Helm
Кроссплатформа
• Toglefritz/building-a-watchos-companion-app-for-flutter-08f80ea8cb1b">Building a WatchOS Companion App for Flutter
• Google needs to invest in more Flutter
iOS
• App Store на Новый год
• Tesla представила приложение для Apple Watch
• Портал, манулы и мячи: опыт разработки для Apple Vision Pro. Часть 2
• Stretching audio by small amounts using Swift
• Text field enhancements in SwiftUI
• iamsandytwix/swiftui-navigation-0fbb8aaa6c52">Convenient Navigation in SwiftUI for iOS 16 and Above
Android
• Изогнутое нижнее меню в Jetpack Compose
• SVG to Compose — утилиты для конвертации SVG в ImageVector
• Самостоятельная доработка Android APS
• Настройка Sora Editor
• Rich Link Representation in Jetpack Compose
• Making the Play Integrity API faster, more resilient, and more private
• Android Studio Meerkat | 2024.3.1 Canary
#ios #android #mobile #dev
Обновления в приложении Tesla
Подушка-пердушка практически в 2025 году? Ну... да. Наверняка сам Маск продвигал эту фичу (представьте, как она все утверждения и спринты проходила).
В целом же всего было 18 крупных и 8 мелких обновлений. Среди них — возможность просматривать ролики Dashcam и Sentry Mode прямо из приложения Tesla для смартфонов и сохранять их на телефон, чтобы редактировать или делиться ими с другими пользователями; кастомные рисунки и номерные знаки для Cybertruck; установка желаемого уровня заряда батареи по прибытии в пункт назначения; режим Санты для пикапа; новая игра Boomerang Fu и пр.
Кроме того выходит приложение Tesla для Apple Watch - оно будет делать многое из того, что делает приложение для смартфона, служить ключом, открывать багажник, активировать климат-контроль и показывать уровень заряда батареи.
Android
• Плагины — это просто
• Как Jetpack ViewModel переживает поворот экрана
• Material Photo Widget — виджет с фотографиями=
• Kotlin trick: writing shared Enum utility code
• Kotlin 2.1.0: Smarter when with Guard Conditions
• Migration Guide from Retrofit and KAPT to Ktor and KSP
• Curved Bottom Bar in Jetpack Compose
#android
👍Научитесь писать проверки для своего проекта, правильно подсвечивать в IDE и репортить найденные инциденты!
На бесплатном уроке онлайн-курса «Android Developer. Professional» — «Android Lint»: регистрация
Что будет на вебинаре?
- Подробно рассмотрим API Android Lint и PSI/UAST деревья
- Научимся реализовывать свои Detector'ы
- Научимся тестировать реализованные Detector'ы.
Каким слушателям вебинар будет полезен?
- Инженерам, которые интересуются статическим анализом, хотят автоматизировать поиск codesmell'ов, проверку кодстайла, проверку принятых в проекте регламентов.
🔥После вебинара вы сможете продолжить обучение на курсе по спеццене, в том числе, в рассрочку.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Нерабочие подсказки
Все материалы за неделю - в новой подборке поисковые подсказки на SwiftUI и сравнение Koin и Dagger, асинхронность в iOS и переживания Jetpack ViewModel, Tracer спустя год, пасьянс для забытой периферии, доходы и установки в России в 3 квартале и многое другое. Подключайтесь!
🧩 GitHub опубликовал исследование того, как Copilot влияет на программирование. Результаты в целом показывают, что код, написанный с помощью GitHub Copilot, обладает повышенной функциональностью и улучшенной читаемостью, имеет более высокое качество и получает большее количество апрувов. Собственно, к исследованию собственного продукта всегда стоит подходить с настороженностью. Есть и другое мнение - по данным GitClear, использование Copilot сильно коррелирует с «ошибочным кодом», выкладываемым в репозитории, появляется больше скопированного/вставленного кода и меньше рефакторинга. Так что, как минимум, надо к использованию ИИ подходить крайне взвешенно.
Разработка
• Улучшает ли GitHub Copilot качество кода?
• Raspberry Pi запускает Compute Module 5 для встраиваемых приложений
• Всё о новых штрафах за утечки данных. Сколько светит и как защитить своё приложение
• Lights Out: Tools for controlling webcam LED on ThinkPad X230
Маркетинг и монетизация
• Google пытается отменить антимонопольную победу Epic
• How to catch the Golden Geese of mobile in 2025
Кроссплатформа
• Flutter Riverpod 2.0: Modern State Management and Code Generation
iOS
• SwiftfulFirestore — работа с Firestore в Swift Concurrency
• Testing requirements with #require in Swift Testing
• The power of previews in Xcode
• malak.samir2001/preferencekey-in-swiftui-47379b3d494c">PreferenceKey in SwiftUI
Android
• Сравнение Koin и Dagger Hilt в современной Android-разработке
• akimaelio/advanced-viewmodel-injection-with-daggerhilt-in-jetpack-compose-0e8f74791a40">Advanced ViewModel injection with DaggerHilt in Jetpack Compose
• Elevating Your Jetpack Compose UI with GraphicsLayer
• Top 5 Problems Google Leaves to Third-Party Vendors for Android Developers
#ios #android #mobile #dev
Честно, статья так и называется - “Легаси шмегаси”. Но суть ее превосходна, она о том, что legacy не в коде, а в головах. За пределами парадигмы “делайте хорошо, а плохо не делайте”, автор совершенно справедливо замечает, что если код понимаем, документирован, изменяем и выполняет свои задачи, то он уже не является legacy. Собственно, отчасти о том, как этого добиться, он дальше и рассуждает. Рекомендую.
Разработка
• Легаси шмегаси
• Кросс-платформенное тестирование мобильных приложений: особенности, инструменты и решения
• Top 10 Rules of Continuous Integration
Маркетинг и монетизация
• Доходы и установки в России в 3 квартале 2024 года
• Appcharge получает $26 млн на продажу игровой валюты
Кроссплатформа
• Why everyone is talking about state management?
iOS
• Асинхронность в iOS: как ускорить корпоративные приложения и не сломать мозг разработчика
• Антимонопольный регулятор Бразилии снимает ограничения на IAP в App Store
• LazyPager for SwiftUI — просмотрщик изображений
• Swift TOP 5 Mostly Used Protocols
• SwiftUI Zoom Navigation Transitions: Add a Touch of Magic to Your App
• Implementing search suggestions in SwiftUI
• Generating JWT Tokens in Swift for the App Store Connect API
Android
• Google Developer Program становится платной
• Custom modifiers in Jetpack Compose
• The Ultimate Guide to Writing Clean Jetpack Compose
• Exploring Kotlin Coroutines through Output Questions
#ios #android #mobile