В 2023 году Roblox выплатил создателям игр $741 млн
Это примерно на 19% больше, чем 623.9 миллиона долларов годом ранее и примерно в 4 раза больше, чем 250 миллионов 4 года назад.
В прошлом году около сотни игр Roblox принесли более $1 млн. Девять игр принесли не менее $10 миллионов. Более 12,000 разработчиков обменяли Robux на валюту реального мира. Около 3,500 человек заработали более $10,000, а 750 — более $100,000.
И что: да, это в основном Escape The Butcher Shop или Toilet Simulator, но почти миллиардный рынок!
Лучшее из вчерашнего в #ios - Расширения в Swift: Как и когда их использовать
Расширения в Swift позволяют расширить существующий класс, структуру, перечисление или протокол новой функциональностью. Будь то пользовательский тип, определенный вами, или текущий тип во фреймворке, расширения могут создавать пользовательские аксессоры и улучшать типы, с которыми вы работаете.
Статья: https://www.avanderlee.com/swift/extensions/
Android
• PhotoView: компонент ImageView с жестами
• Deep dive into delegated properties: разбираемся с делегатами в Kotlin
• Делаю навигацию в приложении на Compose
• Refining Compose API for design systems
• michalankiersztajn/android-biometric-authentication-with-biometricmanager-8e804781a884">Android Biometric Authentication With BiometricManager
• Seven demos to understand coroutines: scope, context and Jobs
• BerkOzyurt/uistate-in-kotlin-basic-information-and-usage-tips-2b07683ddb3f">UIState in Kotlin: Basic Information and Usage Tips
• gokcensolmaz99/retrofit-vs-ktor-client-1c937a827d1b">Retrofit vs. Ktor Client
#android
Лучшее из вчерашнего: shubhgajjar2004/different-ways-to-change-the-color-of-status-bar-and-navigation-bar-in-android-jetpack-compose-edd1c5542257">статья на Medium Различные способы изменить цвет Статус и Нав Бара в Android Jetpack Compose
• EdgeToEdge()
• Accompanist
• Window
Android
• Сквозное тестирование с помощью шаблона Робот и Jetpack Compose
• alitahasubfly/i-made-the-same-app-15-times-here-are-the-results-part-1-introduction-methodology-ae9fcc1485e4">I made the same app 15 times, here are the results
• Evolving our Android CI to the Cloud
• Quick start guide to writing Espresso UI tests on Android
• Type Stability in Compose
• shubhgajjar2004/different-ways-to-change-the-color-of-status-bar-and-navigation-bar-in-android-jetpack-compose-edd1c5542257">Different ways to change the color of Status bar and Navigation bar in Android Jetpack Compose
#android
Обозрел топ самых быстрорастущих приложений января - по загрузкам и выручке. В первом варианте лидируют какие-то дикие приложения-помощники для Стандофф 2 из Google Play. Чему это, кроме ASO, может научить не совсем понятно, зато в денежном топе нашел ServerCat — SSH Terminal. Приложение работает только на iOS и предлагает функции автоматизации для системных администраторов. В нем есть подписки и встроенные покупки и с апреля 2020 года приложение заработало, по оценкам AppMagic, около 800 тысяч долларов с 2 миллионов загрузок (а какая у вас конверсия? :)). Так что заповедь остается все той же - решайте насущные проблемы и станете миллионерами. Ну или спамьте ASO, а вдруг вывезет.
Разработка
• Как затащить новую технологию
• Как увольнять людей?
• Kotlin исполнилось 8 лет
• Event-Driven Architecture Fundamentals and Common Pitfalls (and How to Avoid Them)
Маркетинг
• Топ быстрорастущих приложений в России в январе
• В Европе заработает Epic Games Store
Кроссплатформа
• Создаем гироскопический параллакс-эффект во Flutter
• Как стать Flutter-разработчиком бесплатно?
• Вызовы масштабируемости Kotlin Multiplatform на большом проекте
• Using Amper with Fleet in a Kotlin/Compose Multiplatform project
• What’s new in Flutter 3.19
Android
• Google выпустил первую предварительную версию Android 15 для разработчиков
• Vico: легковесные графики для Android
• Многомодульность для UI-тестов
• Как мы создавали дизайн-систему на Jetpack Compose
• Как мы автоматизировали генерацию Baseline Profile
• Кто-то съел мою память на CI!
• Верхнеуровневый обзор архитектуры CI/CD мобильного приложения
• Random Musings on the Android 15 Developer Preview 1
• Photo StoryTelling - Leveraging Generative AI and Google APIs to compose posts from your photo albums
• Avoid "Useless" Cases in Layered Architecture
• Testing with Accessibility Scanner
• Build Rot: The Hidden Technical Debt in Maven and Gradle Builds
• Understanding Nested Scrolling in Jetpack Compose
#android
Опровергаем технические собеседования
Подборка всех материалов за прошлую неделю - опровергаем архитектурные заблуждения и знакомимся с Swift Algorithms, собеседуемся в RuStore и двигаем рукой справа налево, уменьшаем продуктовую анимацию, тащим новые технологии, идем в Мордор с Фродо и многое другое!
Kotlin исполнилось 8 лет
JetBrains выпустила Kotlin в 2016 году и версия 1.0 вышла 15 февраля. За прошедшее время Kotlin стал главным языком Android-разработки и универсальным языком программирования, который обеспечивает разработку для бэкенда, мобильных устройств, веб-приложений, десктопов и науки о данных.
В конце 2023 года Kotlin достиг 15 места в рейтинге языков программирования TIOBE, а в опросе Stack Overflow 2023 года так же находится на 15 месте, опережая Swift, Dart и борясь с Rust и Go.
В Data.ai
отчитались о росте дейтинга - январь 2024 года поставил рекорд по доходам и загрузкам в категории. Правда, потребители в основном остаются верны своим приложениям и в США Топ-3 приложения занимают более 53% рынка. Впрочем, только в январе 2024 года 28 приложений в стране получили более 1 миллиона долларов, так что ориентация на нишевые сегменты вполне позволяет неплохо жить. А значит всяких чудных приложений для свиданий, о которых я тут периодически пишу, будет все больше.
Разработка
• Rasa, платформа для разработки разговорных чат-ботов, привлекает $30M
• VK Education открывает набор на бесплатные образовательные программы в IT и digital
• Что учесть при портировании приложения на Аврору
• Pkl: Apple's New JSON/YAML Killer
Маркетинг
• Январь поставил рекорд по загрузкам и доходам дейтинг-приложений
• Пиратское приложение Kimi вышло в лидеры App Store
Кроссплатформа
• Создаем параллакс-эффект во Flutter с CustomPaint
• Создание кастомного React Native компонента Switch с помощью библиотек Reanimated и Gesture Handler (Часть 2)
• Apple Wants To Kill PWAs
• Method Channels in Flutter for Native Code Interaction
• The State of React Native
iOS
• Знакомимся с пакетом Swift Algorithms
• Топ-5 распространенных практик написания хорошего Swift-кода
• Как устроен @State в SwiftUI
• iOS Mobile App Security: Best Practices for iOS Mobile Developers
• Understanding Once and For All SwiftUI Alignment Guides
• SwiftUI Field Guide
#ios
Еще одно интересное в своей идее приложение - Fantasy Hike. Внутри это фитнес-трекер, который считает шаги, снаружи это путешествие в Мордор в попытке уничтожить Кольцо Всевластия 🌋. Приложение отслеживает ваш ежедневный прогресс, рассчитывает, когда вы прибудете к своей огненной цели, предоставляет уведомления о важных сюжетных событиях и позволяет соревноваться не только с основным оригинальным “носителем”, но и с другими персонажами. При среднем прохождении 5 километров в день вы достигнете Огненной горы через 1 год и 228 дней. Вполне достаточно, чтобы полюбить ходьбу. А как вы можете применить сеттинг “Властелина колец” в вашем приложении?
Разработка
• Chat with RTX от NVIDIA позволяет запускать генеративные модели на ПК
• The power of product principles
• How to create the perfect icon
• Reverse-engineering an encrypted IoT protocol
• Maybe Everything Is a Coroutine
Маркетинг
• Fantasy Hike — фитнес-трекер по мотивам «Властелина колец»
• iMessage в ЕС не будет считаться платформенным сервисом
Кроссплатформа
• Debug your Flutter App like a Pro with these 5 Tips & Tricks
• A PocketBase backend for Flutter and Dart
iOS
• OKLCHGradient: OKLCH градиенты для SwiftUI
• Камера как сканер штрих-кодов: проблемы, инструменты и эксперименты
• Automating app releases for multiple platforms with Xcode Cloud
• Self vs self in Swift – Find out the differences with practical examples
• SwiftConf '23 Videos
• iOS Interview Guide: Equatable Protocol
#ios
На сладкое - дейтинг для ПК-бояр состоятельных господ. Не, серьезно. Каких только дейтингов мы не видели. Но вот приложение Score, запущенное сегодня финансовой платформой Neon Money Club, предназначено для знакомств людей с хорошим и отличным кредитным рейтингом. Фоново говорят, что оно призвано помочь повысить осведомленность о важности финансов в отношениях, что кредитный рейтинг не равно состоятельность и прочие интересные вещи, но вне этого, конечно, сама идея оригинальностью не блещет.
Разработка
• Что ждёт мобильную разработку в 2024 году
• The UX of Threads’ downfall
• (Almost) Every infrastructure decision I endorse or regret after 4 years running infrastructure at a startup
Маркетинг
• Score — новое дейтинг приложение для людей с хорошей кредитоспособностью
Кроссплатформа
• Организация “глобальных” провайдеров во Flutter Riverpod с помощью миксинов
• iOS Development With Kotlin Multiplatform: Tips and Tricks
• From Native to React Native to Flutter
iOS
• Автоматический аудит доступности SwiftUI в Xcode 15
• Опровергаю пять архитектурных заблуждений
• expertappdevs/sorting-out-your-app-architecture-with-swiftui-design-patterns-013248907e93">Sorting Out Your App Architecture With SwiftUI Design Patterns
• Exploring SwiftUI Property Wrappers: @FetchRequest, @SectionedFetchRequest, @Query, @Namespace, @Bindable
• How to use @ScaledMetric in SwiftUI for Dynamic Type support
• Discovering Swift Algorithms package
• Getting started with Apollo iOS for GraphQL with Swift
#ios
Лучшее из вчерашнего в #dev (1.4К апвоутов на Reddit!) - Ложные представления Junior-разработчиков о том, что значит быть Senior-ом
• У них есть все ответы
• Работают с самыми новыми технологиями
• Не работают над скучными задачами
• Делают большие изменения
• У них есть время отдохнуть
• Они решают, что делать
• Они незаменимы
Статья: https://vadimkravcenko.com/shorts/falsehoods-junior-developers-believe-about-becoming-senior/
Google только что выпустил Gemma 2B и 7B - пару моделей ИИ с открытым исходным кодом, которые позволят разработчикам более свободно использовать исследования, проведенные во флагманском Gemini. Несмотря на небольшие размеры, Google утверждает, что модели Gemma "превосходят значительно более крупные модели в ключевых бенчмарках" и "способны работать непосредственно на ноутбуке или настольном компьютере разработчика". Они будут доступны через Kaggle, Hugging Face, NeMo от Nvidia и Vertex AI от Google.
Разработка
• Gemma - новая открытая модель Google
• Groq ускоряет работу языковых моделей
• Gemma: Introducing new state-of-the-art open models
• Falsehoods Junior Developers believe about becoming Senior
Маркетинг
• State of Mobile Gaming 2024 report
Кроссплатформа
• Исследование State of React Native 2023
• Подключаем микроконтроллер ESP32 к Flutter-приложению
• От Skia к Impeller: эволюция графического движка в кроссплатформенной разработке на Flutter
• Building a Flutter SDK
• jacobras/getting-the-native-ios-look-feel-in-your-compose-multiplatform-app-33371e6ad362">Getting the native iOS look & feel in your Compose Multiplatform app
iOS
• Добавляем SharePlay в iOS-приложение
• Миссия выполнима: как мы создали приложение для Apple Vision Pro за 8 дней
• Механизм внешних покупок по ссылке в StoreKit
• iOS/Swift: подробное руководство по модульным и UI-тестам
• Custom Core Data migrations
• Shrink Images for Accessibility in SwiftUI
• Extensions in Swift: How and when to use them
• Bad practice: not using .isMultiple(of:)
• Swift Macros: Understanding Freestanding & Attached Macros
#ios
В Google Play начали тестировать составление описаний и FAQ с помощью ИИ. В первом случае речь идет о разделе App Highlights, во втором о самых популярных вопросах о приложении. Правда, в обоих вариантах это все очень похоже - описание функций, встроенных покупок, что нравится пользователям и т.п. На данный момент такое ИИ-описание доступно только ограниченному числу пользователей и компания Google не сообщила никаких подробностей о том, когда это раскатают на всех.
Разработка
• Паттерн поиска в мобильном приложении. Какую механику выбрать дизайнеру?
• Кому и зачем нужны разработчики мобильных приложений в 1С
• Вопросы по Appium на собеседовании
• The ideal PR is 50 lines long
• How to be a -10x Engineer
Маркетинг
• Аудитория RuStore достигла 29 млн в месяц
• Google тестирует использование ИИ в Play
Кроссплатформа
• Broadening the scope of dev tools plugins
• The results of the State of React Native 2023
iOS
• Figma Preview: просмотр макетов в Xcode
• Вопросы с собеседований: Что такое ARC (Automatic Reference Counting)
• From Fragile to Agile: Automating the fight against Flaky Tests
• pavel-holec/generating-swiftui-snapshot-tests-with-swift-macros-0f31b231925e">Generating SwiftUI snapshot tests with Swift macros
• Fundamentals of type-driven code
• jaberi.mohamedhabib/elevating-code-sharing-safeguarding-intellectual-property-through-binary-frameworks-in-swift-40d2882965c1">Elevating Code Sharing: Safeguarding Intellectual Property through Binary Frameworks in Swift Packages
• Should You Enable Swift's Complete Concurrency Checking?
#ios
iOS
• Создаем анимированные переходы с помощью Matched Geometry Effect в SwiftUI
• Как устроен Яндекс Go и зачем работать со студентами и стажерами
• Навигация в SwiftUI
• Apple подтвердила прекращение работы PWA в Европе
• Rock Paper Scissor: «камень-ножницы-бумага» в одноранговой сети
• Apple готовит ИИ инструменты для Xcode
• Xcode Console and Unified Logging
• How to Implement the MVVM Design Pattern in Swift
• Swift enums and the danger of the default case
• How to write safer code using the Lock and Key pattern
• Ensuring Secure API Access: Harnessing Apple’s Attest Protocol for iOS App Integration
#ios
Google выпустил первую предварительную версию Android 15 для разработчиков
В Android 15 продолжается работа над созданием платформы, которая поможет повысить производительность и предоставит новые возможности для создания превосходных мультимедийных впечатлений, минимизации потребления энергии, максимально плавной работы приложений и защиты конфиденциальности и безопасности пользователей на самых разных устройствах.
Основные нововведения в Android 15
• Песочница конфиденциальности (Privacy Sandbox) для защиты приватных данных пользователей и обеспечения показа персонализированной рекламы.
• Health Connect из Android 14 теперь является частью платформы и в ней теперь есть новые типы данных для фитнеса, питания и т.п.
• Целостность файлов - FileIntegrityManager в Android 15 включает новые API, которые используют возможности функции fs-verity в ядре Linux. С помощью fs-verity файлы могут быть защищены пользовательскими криптографическими подписями.
• Частичный общий доступ к экрану - Android 15 поддерживает частичный общий доступ к экрану, чтобы пользователи могли делиться или записывать только окно приложения, а не весь экран устройства.
• Управление камерой в приложении - в Android 15 добавлены новые расширения для большего контроля над аппаратной частью камеры и ее алгоритмами на поддерживаемых устройствах.
• Динамическая производительность - новая ОС продолжает улучшать Android Dynamic Performance Framework (ADPF).
Вы можете начать работу уже сегодня, установив образ системы на устройства серии Pixel 6, 7 или 8, а также на Pixel Fold и Pixel Tablet. Если у вас нет устройства Pixel, вы можете использовать 64-битные образы системы с помощью эмулятора Android в Android Studio (лучше использовать последнюю версию Jellyfish).
Видео и подкасты за неделю:
• (iOS Ru)
Как устроен Яндекс Go и зачем работать со студентами и стажерами
• (iOS Ru)
Навигация в SwiftUI
• (iOS En)
Self vs self in Swift – Find out the differences with practical examples
• (iOS En)
SwiftConf ’23 Videos
• (iOS En)
SwiftUI Minimal Todo List With SwiftData & Interactive Widgets
• (iOS En)
SwiftUI CoverFlow
• (iOS En)
Making it Rain – Advanced Special Effects with SwiftUI
• (iOS En)
Pop to Root View When TabView Item is Pressed
• (iOS En)
SwiftData & CloudKit: See How To Add Syncing In Your Apps
• (And Ru)
Многомодульность для UI-тестов
• (And Ru)
Как мы создавали дизайн-систему на Jetpack Compose
• (And Ru)
Как мы автоматизировали генерацию Baseline Profile
• (And Ru)
Кто-то съел мою память на CI!
• (And Ru)
Верхнеуровневый обзор архитектуры CI/CD мобильного приложения
• (And En)
BasicTextField2 - Everything You Need to Know
• (And En)
THIS New Modifier in Compose 1.7.0 Is Amazing!
• (And En)
Mastering Code Quality: A Deep Dive into Custom Linting for Android Developers with Gopal
• (And En)
How to integrate Google sign-in with Credential Manager on Jetpack Compose with Supabase Auth
• (Crs Ru)
Вызовы масштабируемости Kotlin Multiplatform на большом проекте
• (Crs En)
The State of React Native
• (Dev Ru)
Как затащить новую технологию
• (Dev Ru)
Как увольнять людей?
• (Dev En)
Pkl: Apple’s New JSON/YAML Killer
• (Dev En)
Firestore Multiple Databases now generally available, Go 1.22, and more dev news!
Что вы интересного посмотрели/послушали про разработку на этой неделе?
🌐 @AppFiles
Apple готовит ИИ инструменты для Xcode
По слухам, компания Apple работает над новыми крупными функциями искусственного интеллекта. И появятся они не только в iOS 18, но и в собственной IDE компании.
1. Пишут, что Apple «близка к завершению» обновлению Xcode и будет в нем использовать искусственный интеллект для улучшения программирования и тестирования.
2. Речь идет о генерации и дополнении кода, а так же генерации кода для тестирования приложений.
3. Цель Apple — выпустить новые функции ИИ в Xcode уже в конце этого года. Вероятно, речь идет о релизном цикле Xcode 16.
И что: у Android Studio уже есть свой Bot, у остальных есть Copilot и Xcode последним получит ИИ-функции. Станет ли от этого лучше большой вопрос, но проще точно.
Android
• Minimum: минималистичный лаунчер
• End-To-End Testing With Robot Pattern And Jetpack Compose
• domen.lanisnik/guide-to-foreground-services-on-android-9d0127dc8f9a">Guide to Foreground Services on Android 14
• farhaddeveloper98/write-androidstudio-plugin-step-by-step-part1-create-simple-action-toolwindow-with-custom-ui-01aeefceec94">Write AndroidStudio Plugin Step By Step
#android
Пиратское приложение Kimi вышло в лидеры App Store
На прошлой неделе приложение под названием Kimi обогнало известные потоковые сервисы, такие как Netflix и Prime Video, в списке лучших бесплатных развлекательных приложений App Store.
1. Внешне Kimi было замаскировано под приложение, которое проверяет зрение, заставляя вас играть в "найди разницу" на похожих фотографиях.
2. На самом деле оно ничего подобного не делало и содержало пиратские передачи и фильмы, включая недавние блокбастеры и отмеченные наградами ленты.
3. Приложение было впервые одобрено в сентябре, но примечательно, что оно даже не маскировалось под тонкой оболочкой легальности. Вы открывали его, а там только фильмы и шоу. Нет ни заставки, ни трюка, чтобы разблокировать настоящее приложение.
4. Сейчас приложение удалено, но на это понадобились публикации в топовых изданиях и, соответственно, полгода.
И что: Apple гордится своей конфиденциальностью и безопасностью, а также тем, что приложения, которые она делает доступными для загрузки, соответствуют всем ее требованиям. Например, компания заявила, что любой альтернативный магазин приложений, который попадет на платформы, должен будет иметь строгие правила и инструменты модерации, сравнимые с ее собственными. Как самой Apple начать соответствовать своим правилам, тогда не уточнялось.
Android
Посмотрите новое интервью с Андреем Белоусом о том, куда движется Android и мобильная разработка!
• Тренды Android-разработки
• Вопросы с собеседований: Как в Android определяется приоритет приложений перед системой
• App shortcuts в Android
• Compose Multiplatform Made easy with Circuit
• The Future of Android Development is Here: Meet Studio Bot, Your AI Co-Pilot
• Exploring Kotlin’s Sealed Interface: A Comprehensive Guide for Android Developers
• vishalvis02/kotlin-performance-tuning-20-best-practices-you-should-know-55a922e838dd">Optimizing Kotlin Performance: Essential Practices You Need to Master
#android
Ищите дизайнера для вашего приложения?
Работая с нами, вы получите красивый дизайн приложения, который соответствует всем требованиям Арр Store и Google Play.
Мы придумаем креативные решения для ваших экранов, подберем оптимальные размеры всех текстов и кнопок. Из-за грамотного расположения элементов на экранах, пользователю вашего приложения будет удобно и комфортно его использовать.
Мы очень качественно подходим к работе с нашими клиентами: постоянно на связи; оперативно сообщаем вам, на каком этапе работы ваш проект; присылаем работу для внесения правок.
Наш канал - @it_perfection
Для заказа дизайна пишите - @DenisGlav
Android
• Kotlin Cheatsheet: краткий справочник по Kotlin
• Material Design 3 для Compose 1.2
• Техническое собеседование инженеров мобильной разработки в RuStore
• How to Implement Swipe to Delete with Material3
• Modern Android Development in 2024
• Speeding up isBlank()
• Material Design 3 for Compose 1.2
• How to integrate Google sign-in with Credential Manager on Jetpack Compose with Supabase Auth
#android
Material Design 3 для Compose 1.2
Вышел релиз 1.2 Compose Material 3, в котором появились новые компоненты, некоторые изменения в старых компонентах и расширение системы цветов Material3.
Статья: https://apptractor.ru/info/articles/material-design-3-dlya-compose-1-2.html
Платформа: Android