С мест докладывают, что Google подложил очередную свинью разработчикам. С января вступают в действия новые правила, согласно которым обязательно использовать платформу управления согласием. Речь идет о назойливых всплывающих окнах, появляющихся при первом посещении приложения и предлагающих дать согласие на отслеживание и т.п. Фишка в том, что если пользователь отказался, то… реклама ему вообще перестает показываться. А значит доход падает примерно на 40%. По крайней мере так у автора. Сам Google вроде как говорит, что это не баг, а фича. Может до января еще и исправят, но похоже пока только и остается, что смотреть в небо и ждать падения “метеорита некомпетентности” на всех нас (С)
Разработка
• Не смотрите наверх: метеор некомпетентности Google уничтожит тысячи приложений через четыре месяца
• Microsoft удаляет WordPad из Windows спустя почти 30 лет
• Как пройти кодинг интервью со мной
• Почему стоит вкладываться в опенсорс
• VR: как это работает
• Мобильные виджеты
• 5 проектов выходного дня, которые значительно повысят ваши навыки кодинга
• Podlodka #334: стартап-акселераторы
• Главные языки программирования 2023
• Tech leading as a mobile engineer at Monzo
• Bézier curves
• The Worst Programmer I Know
• Vector search for dummies
Маркетинг
• Самые скачиваемые и зарабатывающие приложения в России в августе 2023
• Supercell и Chess.com объявили о месячном партнерстве
• Apple открыла раздел «Приложения от Apple»
• App Store: загрузки падают, а доходы растут
• Как правильно выстроить монетизацию в первую сессию пользователя
• BeFake: социальная сеть с ИИ, в которой не надо быть настоящим
Кроссплатформа
• Распознаем паспорт РФ в PWA: быстро, качественно, без сервисов/без утечек
• Things to look forward to in React Native
• Flutter App Architecture with Riverpod
• Building a Gmail-Like Email App with Flutter and Python Backend
iOS
• Простая анимация для всплывающего окна
• Как мы делали новую iOS-камеру ВКонтакте и VK Клипов
• Показываем красивое с помощью видеоредактора в VK Клипах на iOS
• Crush: работа с CoreData
• Exploring the new Preview Macro with SwiftUI and UIKit
• Linking C++ static library in iOS project
• Selection and PieCharts in iOS 17
• Running Code When Your View Appears
• Swift Typo Detector
• Plussing your iOS app
#ios
Самые скачиваемые и зарабатывающие приложения в России в августе 2023
Установки
Лидер прошлого месяца, Threads, скатился в загрузках аж на 95 место — ажиотаж быстро закончился и новая социальная сеть мгновенно потеряла свою популярность.
1. Telegram
2. Wildberries
3. Free VPN Proxy by Planet VPN
4. Госключ
5. Yandex with Alice
6. OZON: товары, продукты, билеты
7. TikTok
8. VPN — fast proxy + secure
9. Авито: квартиры, авто, работа
10. Merge War: Monster vs Cyberman
Заработок
Как и в предыдущем месяце, в топе зарабатывающих преобладают игры. Топ-10 зарабатывающих приложений и игр в России:
1. VK: social network, messenger
2. Royal Match
3. Telegram
4. PUBG MOBILE
5. Roblox
6. Gardenscapes
7. Tanks Blitz PVP битвы
8. FaceApp: Perfect Face Editor
9. Homescapes
10. Litres: Books and audiobooks
Интересный запуск
В App Store появилось приложение Chto? от инди-разработчика Владислава Пачайкина. Это подборки фильмов, в которых пользователи могут «матчить» кино и тем самым выбирать, что смотреть вместе. Последнее обновление случилось как раз 17 августа, после которого и начался рост установок. По данным AppMagic, приложение за август и и начало сентября только в App Store получило около 50,000 установок, причем большинство из России.
📅 Данные за июль
А/Б эксперименты теперь в AppMetrica
С помощью новой фичи продакты и аналитики смогут без лишних усилий тестировать гипотезы, а при успешном прохождении тестов сразу внедрять их из интерфейса AppMetrica.
Новая функциональность дает возможность принимать более рациональные решения и сэкономить время на раскатке изменений на пользователе. Можно опираться на статистику влияния на продуктовые метрики, например, какой лучше повесить баннер или какую выбрать кнопку активации.
Провести одновременно два А/Б теста можно и в бесплатной версии. Решение базовых задач это должно закрыть. Платная версия дает возможность проводить сразу до 100 экспериментов с использованием до 2000 параметров.
Рекламная сеть VK открывает владельцам сайтов и приложений больше возможностей для заработка
VK запустила новый кабинет для партнеров рекламной сети. В нем стало удобнее управлять рекламными блоками и настраивать их дизайн, анализировать статистику, тестировать монетизацию еще неопубликованных приложений и многое другое. Если паблишер раньше работал в кабинете myTarget, все данные можно импортировать в новый кабинет.
Для регистрации можно использовать VK ID или почту. Ознакомиться с инструкцией подробнее можно по ссылке.
Android
• Что такое Kotlin Symbol Processing (KSP)
• RemoteCam: веб-камера для Android
• Вопросы с собеседований: что такое «выведение типов» (type inference) в Kotlin
• Используем UI-тесты для поиска утечек
• Использование Compose для ТВ-версии приложения Иви: мощный фреймворк для создания эффективных Android-приложений
• Top 100 Kotlin Interview Questions and Answers
• balsikandar/at-your-service-android-5271bbc81806">At your Service(Android)
#android
Инженеры AvitoTech разработали инструмент для ускорения автотестов мобильных приложений. Знакомьтесь, Emcee.
Тест-раннер раскидывает тесты на несколько воркеров, параллелит их и формирует единый файл с результатами. Время полного тестирования сокращается в разы, а разработчики освобождаются от рутины.
Можно попробовать бесплатно или сразу разогнать тестирование на полную мощность. Больше подробностей — в официальном канале Emcee.
Подписывайтесь!
Реклама ООО "Авито Тех", ИНН 9710089440
erid: LdtCK4J7b
Не знаю как вы, а я периодически пользуюсь Notepad++ - прекрасный минималистичный открытый редактор ака блокнот с большими возможностями. Занятно, что еще в конце апреля исследователи нашли переполнение буфера с выполнением произвольного кода. За прошедшее время вышло 4 новые версии, а автор так и не исправил их, хотя, собственно, автору сообщили об уязвимости в том же апреле. Смысл а) не надо так; б) ох уж этот open source; в) даже в блокноте могут быть критические уязвимости; г) какой блокнот для кода вы используете?
Разработка
• ИИ Duet стал доступен в Google Workspace
• История разработки приложения для складных смартфонов Samsung. Часть 1
• Не дадим Windows Phone умереть! Как я написал свои клиенты VK, YouTube для Nokia Lumia? Сам себе экосистема ч.2
• Measuring developer productivity? A response to McKinsey
Маркетинг
• Больше возможностей для заработка от рекламы VK
• Маркетологи в мобайле: Дарья Пасюк («Додо Пицца»)
• Don’t look up: Google’s meteor of incompetence will kill thousands of apps in four months
Кроссплатформа
• Вложенная навигация во Flutter: что такое декларативный роутер и зачем он нужен
• Dart 3.1 & a retrospective on functional style programming in Dart 3
• Recreating the Telegram Collapsable Header on iOS using Reanimated
iOS
• Овладеваем StoreKit 2: ProductView и StoreView в SwiftUI
• RxSwift: реактивное расширение для Swift
• Common Pitfalls Caused by Delayed State Updates in SwiftUI
• iOS Deeplink Handling: The Asynchronous Way
• Enabling drag reordering in SwiftUI lazy grids and stacks
• Xcode 15: Automated accessibility audits
• An Unusual Rail Adventure
• Advanced text validation in UIKit with Combine
• Optionals in Swift
• Implementing Polling in SwiftUI
#ios
Я то все гадал, как тот же Google Pay повышает яркость на одном экране, а оказывается это делается одним оператором. Из других новостей - RuStore обязали предустанавливать, даже если производитель ОС против. Раньше это вроде как не касалось параллельного импорта, а теперь магазин стал обязательным для всех (aka как убить хорошую идею обязаловкой). Ну и Google открыл ряд новых интересных картографических API. Есть, например, про пыльцу.
Разработка
• Где платят больше всего в Big Tech: исследование Blind
• Бесплатный курс «LangChain: чат с вашими данными»
• Google открывает API о солнечных возможностях, качестве воздуха и уровне пыльцы
• iPhone 14 Pro Max стал самым продаваемым телефоном в мире
• The Unexpected Find That Freed 20GB of Unused Index Space
Маркетинг
• RuStore станет обязательным для всех
• $6 млн: Kiki — аренда жилья для «друзей»
• Realy — приложение для людей, которым не хватает других людей
Кроссплатформа
• 4.0 Асинхронность. Isolates, потоки, процессы
• dtejaswini.06/hydrated-bloc-in-flutter-simplifying-state-management-258542723a6c">Hydrated Bloc in Flutter: Simplifying State Management
• Top 10 Flutter Apps You Must Make as a Beginner
• alexandersnotes/never-pass-textstyle-to-widgets-56808860085b">Don’t pass TextStyle to Widgets
• Compose Multiplatform 1.5.0 Release
iOS
• Овладеваем StoreKit 2
• Месячная заруба с Apple. Рефакторим бридж. Часть 2
• Park API — Server-Side Swift With Hummingbird
• Transitioning from MVVM to MV: A Journey of Simplifying App Architecture
• Jump 🐒 SwiftUI Coordinator with Router
• walfandi/a-beginners-guide-to-clean-architecture-in-ios-building-better-apps-step-by-step-53e6ec8b3abd">A Beginner’s Guide to Clean Architecture in SwiftUI: Building Better Apps Step by Step
• shiny.shubham/10-lesser-known-lldb-commands-7d9a1d1070d5">10 Lesser Known LLDB Commands used in iOS App development
• Swift’s Secret: Using @_exported attribute for Simplified Module Imports
#ios
Еще в середине 90-ых я учил С++ как раз по учебнику Бьёрна Страуструпа. За прошедшие 30 лет я он получил множество премий, выпустил еще несколько книг, я потерял волосы и стал чем-то на него похожим, и вот выходит его новое видео, в котором он делится советами. О жизни, разработке, карьере. Всего 3 минуты и несколько ключевых советов, так что, наверное, каждый осилит. Как пример: «Вы не можете просто писать код. Вам нужно что-то сделать с культурой и тем, как выражать идеи. Я ни разу не пожалел о времени, потраченном на историю и математику. Математика обостряет ваш ум, а история даёт некоторое представление о ваших ограничениях и о том, что происходит в мире».
Разработка
• (Life) Advice From The Creator of C++
• $235 млн в Серии D: Hugging Face — ИИ-сообщество и инструменты MLOps
• Что такое MLOps
• Монетал — Учет расходов: разбор приложения
• Рецепт юзабилити-тестирования
• Как отдать технический долг
• Trunk based development в мобильной разработке
• How Grab uses Graph Databases to Reduce Fraud
• Ask HN: Where do I find good code to read?
• 8 Reasons Why WhatsApp Was Able to Support 50 Billion Messages a Day With Only 32 Engineers
Маркетинг
• Доход Gmail вырос в 179 раз с 2021
Кроссплатформа
• alexandersnotes/flutter-chopper-authentication-retry-on-401-unauthorized-e0128fb0a7d">Flutter Chopper Authentication + Retry on 401 Unauthorized
• serhiihulenko/kmp-work-with-existing-project-6e7efbcd3a78">KMP: Work with existing project
iOS
• GRDB: удобная работа с SQLite
• Эластичная анимация
• Декларативная навигация в iOS-приложении
• История «Сбербанк Онлайн» на iOS
• Месячная заруба с Apple. Рефакторим бридж. Часть 2
• Расширенное управление памятью с помощью Unsafe Swift
• Making your SwiftData models Codable
• Introducing ObservableConverter
• Scrollable lists using Protocol-Oriented Programming and UICollectionViewCompositionalLayout
#ios
• GRDB – A toolkit for SQLite databases, with a focus on application development
• SwiftData Background Tasks
• Mastering SwiftUI’s zIndex: A Comprehensive Guide
• Swift High Performance: Dictionary Keys
Монетал — Учет расходов: разбор приложения
Разбираю приложение @kruil: Монетал - бесплатный и без рекламы трекер расходов
TLDR: Как пет-проект - превосходно. Но приложение не монетизируется и бизнеса “не ведет”. А тогда для чего оно?
Статья: https://apptractor.ru/info/apps/monetal.html
Если хотите принять участие - оставьте ссылку в форме или напишите в комменты.
Как не забросить построение инфраструктуры
Новый еженедельный дайджест - ровно 111 новостей и статей. Прочитайте, поставьте 👍, сохраните в избранное и поделитесь с коллегами. Еще у меня есть канал IT Insights, где новости и статьи про код, технологии и все самое интересное за пределом мобайла. Там, например, есть "Как работает компьютер - глубокое погружение (на примере Linux)".
💻 Прислать материал для дайджеста можно сюда. А поддержать канал здесь.
Android
• MPV: видео-плеер для Android
• Кодогенерация. KAPT. KSP. Manual DI
• Android-разработчик: Middle за 1 год в Казахстане
• Step-by-Step Guide to Screenshot Testing in Android
• Refactoring Multi-Module Kotlin Project With Konsist
• Compose Interoperability in Espresso Tests
• Making ADB a little bit dynamic
• The onBackPressed Is Now Deprecated in Android 13 and Might Need Major Changes in Existing Apps
#android
Тинькофф ищет мобайл-разработчиков.
Если пишете для iOS или Android, участвуйте в Mobile Weekend Offer. Сможете пройти собеседование за выходные и получить оффер в течение трех дней.
Масштабные финтех-задачи, продукты для 30 млн пользователей и хорошая зарплата прилагаются.
Успейте оставить заявку до 13 сентября: https://l.tinkoff.ru/mobile_wo-23
Реклама АО «Тинькофф Банк»
Осваиваем умирающий Windows Phone
Новый еженедельный дайджест - 120 новостей и статей. Прочитайте, поставьте 👍, сохраните в избранное и поделитесь с коллегами. Еще у меня есть канал IT Insights, где новости и статьи про код, технологии и все самое интересное за пределом мобайла. Там, например, "Как пройти кодинг интервью со мной" - 22 профессиональных совета о том, как проходить собеседования с программированием.
💻 Прислать материал для дайджеста можно сюда. А поддержать канал здесь.
Видео и подкасты за неделю:
• (iOS Ru)
Простая анимация для всплывающего окна
• (iOS Ru)
Как мы делали новую iOS-камеру ВКонтакте и VK Клипов
• (iOS Ru)
Показываем красивое с помощью видеоредактора в VK Клипах на iOS
• (iOS En)
SwiftUI Animated Tab Icons - Animated SF Symbols
• (iOS En)
Build Switcher: Local Build Caching for Xcode
• (iOS En)
How to Save and Manage Data with Core Data in Swift
• (iOS En)
Using @_exported attribute for Simplified Module Imports
• (iOS En)
Enhancements to ScrollView in iOS 17
• (And Ru)
Кодогенерация. KAPT. KSP. Manual DI
• (And Ru)
Android-разработчик: Middle за 1 год в Казахстане
• (And En)
Full Guide to Manual Dependency Injection + Removing Dagger
• (And En)
How to create an advanced text validation with Combine
• (And En)
Using the Gradle Version Catalog in Android projects
• (Dev Ru)
VR: как это работает
• (Dev Ru)
Podlodka #334: стартап-акселераторы
• (Dev Ru)
Мобильные виджеты
• (Dev Ru)
5 проектов выходного дня, которые значительно повысят ваши навыки кодинга
• (Dev Ru)
Почему стоит вкладываться в опенсорс
• (Mrk Ru)
Как правильно выстроить монетизацию в первую сессию пользователя
Посмотрели/выпустили какое-то другое интересное видео? Отправьте боту🧑🏻💻
У Data.ai и IDC вышел отчет о мировом рынке игр - Gaming Spotlight Report. Из интересного - ATT и введение ограничений на фингерпринтинг, усиление ограничений на использование мобильных устройств подростками в Китае приведут к снижению рынка мобильных игр на 2%.Тем не менее это 108 млрд. долларов и главный сектор игрового рынка, мобильного рынка и вообще.
Разработка
• Треть программистов теряет свои профнавыки на текущем месте работы
• Microsoft закрывает Visual Studio для Mac
• Expected and Actual Mechanism in Kotlin Multiplatform Mobile
• Case Study: Roebuck. UI/UX Design and Illustrations for Educational Mobile App
• Scrum: Failure By Design?
Маркетинг
• yossabourne/my-girlfriends-journey-to-ios-development-5c5112b940bd">Inspiring Story — My Girlfriend Becoming A Self-Taught Developer
• В AppMetrica появились A/B-эксперименты
• «Игровой рынок 2023»: отчет Data.ai и IDC
• Samsung выпустил свое ИИ-приложение с рецептами
Кроссплатформа
• Полное руководство по использованию FVM (Flutter Version Management) – жонглируйте версиями Flutter sdk в своих проектах
• Rare cases When to use RN over Native
• Dart Programming list collection tips & tricks
iOS
• Осваиваем StoreKit 2: SubscriptionStoreView в SwiftUI
• Mastering SwiftUI Custom Modifiers
• Enabling drag reordering in SwiftUI lazy grids and stacks
• Functions and Closures in Swift
#ios
Microsoft закрывает Visual Studio для Mac
Компания Microsoft объявила о прекращении выпуска Visual Studio для Mac.
1. В Visual Studio для Mac больше не будет добавляться никаких новых фреймворков, сред выполнения или новых возможностей для языков.
2. Текущая версия интегрированной среды разработки будет поддерживаться Microsoft до августа 2024 года.
3. Примечательно, что в версии Visual Studio 2022 для Mac была проведена огромная работа по модернизация - сделан нативный пользовательский интерфейс, оптимизация под Apple Silicon, а также впервые была реализована полная 64-битная работа.
4. VS Code для Mac останется и его разработка продолжится.
И что: страшно уже за Xcode 😊 На самом деле странное решение, особенно после таких усилий. Но, наверное, аудитория VS на Mac была не очень большой, так что MS с легкостью ею пожертвовала.
Android
• Why Build a Pattern Library in Jetpack Compose?
• Dagger 2.48 with Dagger and Hilt KSP processors
• Getting Better with Kotlin — Exploring Advanced Features and Effective Coding Strategies
• @Preview Driven Development with Compose
• Mutable State vs. State Management Libraries in Android
#android
🤖 Ты Android разработчик? - Проверь себя, пройди тест!
Хочешь расти дальше и создавать быстрые, оптимизированные приложения для Android - тогда наш курс для тебя!
Пройди тест из 20 вопросов и проверь свои знания. Сможешь сдать — пройдёшь на продвинутый курс "Android Developer. Professional " от OTUS по специальной цене.
Возможна оплата курса в рассрочку
👉 ПРОЙТИ ТЕСТ: https://otus.pw/a9Ma/
Хочешь протестировать учебный процесс заранее? Тогда приходи на открытый урок курса!
▶️ 30 августа в 20:00 открытый урок «Android Internals».Нативная интеграция. Информация о продукте www.otus.ru
Android
• Как повысить яркость экрана в Android-приложении без запроса разрешения
• Ivy Wallet: открытый трекер финансов
• Новый взгляд на аналитику ошибок в production, или работающая альтернатива Crashlytics
• Recreating UseCase: Embracing a Fluent and Fun Approach
• khater/dark-mode-on-android-with-jetpack-compose-using-datastore-bb2a1eff5565">Dark mode on android with Jetpack Compose using dataStore with Hilt
• summitkumar/kotlins-reactive-tools-a-deep-dive-into-rxkotlin-and-flow-part-i-ce9c28db4840">Kotlin’s Reactive Tools: A Deep Dive into RxKotlin and Flow
• Seeing your composable in shades of grey
• mmbialas/become-more-senior-android-developer-with-these-15-android-studio-tips-tricks-part-1-3abbe762e0a9">Become More Senior Android Developer with these 15 Android Studio Tips & Tricks
#android
Опрос про архитектуры
Вопрос применения разных шаблонов меня не оставляет и потому затеял новое исследование:
• Какие архитектурные шаблоны вы используете на работе
• Какие знаете
• Какие используете в пет-проектах
• С какими сложностями сталкиваетесь
Опрос займет несколько минут. Доступен здесь. Результаты будут в канале.
Android
• Konsist: тестирование архитектуры и соглашений языка Kotlin
• Как узнать кто вызывал функцию? StackTrace стек вызовов в Kotlin & Java
• Универсальные пуши для Android. FCM, HMS и RuStore в одном месте
• Ускоряем сборку за счёт миграции с kapt на ksp
• Запускаем IDEA и CLion на Android
• Empowering Code with High-Order Functions
• An update on Jetpack Compose Accompanist libraries
• Set Activity Screen Brightness without Permission
• A World Beyond Libraries: Cross-Library screenshot tests on Android
• Using the Gradle Version Catalog in Android projects
#android
• Building a widget using Jetpack Glance
⚡️Пройдите тест по Swift и проверьте свои знания.
Ответьте на 20 вопросов и узнайте, насколько вы готовы к обучению на курсе — «iOS Developer. Professional» от OTUS. Курс доступен в рассрочку!
👉🏻 ПРОЙТИ ТЕСТ — https://otus.pw/EXDi/
❗️На курсе вы освоите ключевые особенности Swift 5, сможете определять целесообразность применения паттернов и погрузитесь в нюансы использования Rx.
🎁 Сможете пройти успешно тест — получите доступ к записям прошлых открытых уроков курса!
Нативная интеграция. Информация о продукте www.otus.ru
Доход Gmail вырос в 179 раз с 2021
Вы когда-нибудь видели пейвол в Gmail? Наверняка нет. А он есть!
1. По оценкам AppFigures, в июле чистый доход Gmail только от App Store составил 7.3 млн долл. И это чистый доход, то есть то, что Google получает после того, как Apple забирает свою долю.
2. В январе 2023 эта сумма составляла 5.1 млн. долл., а в январе 2022 — всего 1 млн. долл. Это означает, что чистый доход Gmail за последние полтора года вырос на 630%! А с 2021 года - в 179 раз.
3. Что же продает Gmail? Пространство для хранения. Gmail на iOS предлагает несколько подписок для увеличения объема хранящихся сообщений, причем наиболее популярной сейчас является подписка на 100 ГБ. На Android они работают через приложение Google One, которое уже долгое время является самым высокодоходным приложением в Google Play.
И что: вместо того, чтобы показывать пользователей пейвол в тот момент, когда вы этого хотите, найдите функции, которые нужны вашим пользователям, и убедитесь, что они просто оплачиваются, когда они им действительно нужны. Так вы превратите своих пользователей в платящих клиентов.
Приглашаем на Red Hot Chili Apples — бесплатный митап ЮMoney для iOS-разработчиков
⏰ Митап пройдёт в Санкт-Петербурге и онлайн 29 августа в 18:30 (мск).
Разработчики ЮMoney, Сбера и ВКонтакте поделятся своим опытом, а после докладов вы сможете задать им вопросы.
Темы докладов:
– Кодогенерация из OpenAPI
Узнаем с Дмитрием Шаколо из ЮMoney, как перестать писать код для работы с API и подружиться с кодогенератором.
– Команда Платформы — Сердце Большого Проекта
Как держать пульс технологий, управлять ростом и обеспечивать бесперебойность — откроем для себя роль команды платформы в большой современной разработке. Взгляд изнутри от заядлого платформера Сбера, Миши Харитончика.
– Автоверсионирование и как сделать его правильно
Максим Холявкин из ВКонтакте расскажет зачем нужно автоверсионирование, как сделать так, чтобы было удобно пользоваться, и как делать нельзя.
– Разработка платёжного SDK
Илья Фёдоров расскажет про mSDK ЮMoney, его архитектуру и устройство: как быстро встроить mSDK в мобильные сценарии, чтобы он стал удобным способом принимать деньги.
Все подробности — на сайте. Регистрируйтесь и зовите коллег 💜