Android
• Как мы сделали SPACE INVADERS: World Defense
• Android Studio for Platform — IDE для AOSP
• AAY-chart: графики для Android и Kotlin Multiplatform
• Сам написал, сам поиграл: как я написал 2D-игру для Android полностью с нуля, весом менее 1мб?
• Gradle and Java Version Compatibility: A Beginner's Guide
• Intro to Polymorphism with Kotlinx.Serialization
• Google MLKit: Quick and easy Face Detection in Android
• Automate screenshot testing for Compose previews via reflection
#android
Yandex Mobile Ads SDK: 6 версия с новыми форматами рекламы и инструментами
Теперь разработчики могут монетизировать экран загрузки приложения, при этом регулируя частоту показа рекламы и настраивая параметры отображения баннера: при открытии приложения или при переключении из другой программы. Сами баннеры адаптируются по размеру под конкретное приложение. Управлять этим параметром можно двумя способами: stickySize и inlineSize. Первый предназначен для небольших баннеров-полосок, которые занимают не больше 15% высоты экрана, а второй — для встроенных в контент адаптивных баннеров.
В рекламе с вознаграждениями добавили формат текстово-графических креативов и сетки из нескольких объявлений, и анонсированная в прошлой версии технология «DivKit» для подбора элементов объявления и их расположения в рекламе стала поддерживаться во всех форматах объявлений.
Тестируйте апдейт и повышайте эффективность рекламы — https://yandex.com/inapp/sdk6.
Android
• Как я удалил рекламу из приложения Spotify
• Compose a Compose Button by composing Composable functions
• Paging 3 on Android
• How We Made SPACE INVADERS: World Defense, an AR game powered by ARCore
• Understanding Density-Independent Pixels
• Complex SemanticMatchers for Compose UI Testing
• arshamjafari85/kotlin-contracts-empowering-your-code-for-better-quality-38c26da7d6e6">Kotlin Contracts: Empowering Your Code for Better Quality
#android
Команда Тинькофф соберет мобильных разработчиков в Челябинске 📲
Ребята проведут Tinkoff Mobile Meetup 21 сентября. Расскажут, как реализовать дизайн-систему на Jetpack Compose и работу с хранилищем данных в Android, а после поговорят про создание платформенной команды.
После докладов спикеры останутся поболтать с участниками о разном и, конечно, познакомиться!
📆 Митап пройдет 21 сентября в пространстве Лекторий КЦ 11.
Регистрируйтесь и зовите с собой коллегРеклама\АО Тинькофф Банк\ИНН 7710140679\ERID 2Vtzqw7yBUk
Видео и подкасты за неделю:
• (iOS Ru)
Swift-уроки: Simple MVVM
• (iOS Ru)
Как приручить iPhone, или Общаемся с телефоном по проводу
• (iOS En)
My Deep Dive into the "Failed to Receive Result from Plugin" Macro Error
• (iOS En)
Demystifying Sobel Operators & Edge Detection
• (iOS En)
SwiftUI Fundamentals - FULL COURSE
• (iOS En)
How To Preload Relationship Into SwiftData ModelContainer
• (iOS En)
Selection and PieCharts in iOS 17
• (And En)
Now in Android: 90 - Android brand, ART updates, Dagger KSP, and more
• (And En)
Google Play Store Listing Certificate Study Guide
• (And En)
THIS New Tool Strongly Speeds Up Your Gradle Builds
• (And En)
Don't Make THIS Mistake With Room & Databases on Android
• (And En)
Step-by-Step Guide to Screenshot Testing in Android
• (Crs En)
Building a Gmail-Like Email App with Flutter and Python Backend
• (Dev Ru)
Ozon Tech Community Mobile Meetup
• (Dev Ru)
Новая Зеландия: как живут разработчики в стране хоббитов
• (Dev Ru)
Podlodka #336: на чем программируют ученые
• (Dsg En)
UI Design a Travel App in Figma from scratch
Посмотрите, поделитесь, поставьте 👍 этому посту и он будет больше продвигаться в ленте Телеграма. А если вы увидели/выпустили какое-то другое интересное видео - отправьте боту🧑🏻💻
Напоминаю, что тут проводим опрос про используемые архитектуры - MVC, MVVM и прочие. Пройдите, поделитесь и так далее - потом агрегирую с данными в вакансиях и будет всем понимание, что учить ☺️.
Разработка
• Slack объявляет о запуске пилотного проекта Slack AI
• Яндекс представил новую версию собственной языковой модели YandexGPT 2
• OpenAI проведет первую конференцию для разработчиков 6 ноября
• asom_igor/how-to-advance-as-software-engineer-how-to-be-a-more-senior-software-engineer-6261d7fb193">How to advance as Software Engineer. How to be a more Senior Software Engineer
Маркетинг
• Приложение Voiijer — социальное сообщество для любителей природы и исследователей
• Duolingo запускает уроки математики и музыки
Кроссплатформа
• Flutter Scratch Card Game Development
• 6 Best Places to learn Flutter for FREE in 2023
iOS
• Faster iOS performance debugging with ETTrace
• Debugging universal links
• Thread safety in Swift with locks
• jokerpt/image-tracking-and-detection-using-ar-kit-d13fc64ebbd9">Image Tracking and Detection using AR-Kit
#ios
Android
• Google обновляет логотип Android
• Как публиковать и воспроизводить видео на Android с помощью опенсорс-библиотеки и стриминговой платформы EdgeЦентр
• 5 Snapshot Testing Tools for Android
• vladiachmenev/simplify-your-android-app-debugging-with-flipper-ee6f7f85a0cd">Simplify Your Android App Debugging with Flipper
• akarenina25/maximizing-efficiency-using-a-single-adapter-for-different-view-holders-in-recyclerview-b4af05afd0ae">Maximizing Efficiency: Using a Single Adapter for Different View Holders in RecyclerView
• Exploring Canvas in Jetpack Compose — Crafting Graphics, Animations, and Game Experiences
#android
Самое большое экспертное сообщество по кроссплатформе будет на CrossConf
15 сентября | Красный Октябрь, Москва
На IT-конференции CrossConf будет самое большое комьюнити по кроссплатформенной мобильной разработке. Это нельзя пропустить: мощная программа, топ-спикеры из ведущих компаний, инфлюенсеры mobile-сообщества и afterparty на прокачку интеллекта.
Купить билет
По промокоду APPTRACTOR действует скидка -20%
В деталях:
🟡2 потока по мобильной и кроссплатформенной разработке (Flutter, Kotlin, React, NativeScript, DivKit) + важные инсайты для тимлидов, проджектов и продактов в других 4 потоках. Всего более 60 докладов.
🟡Эксклюзивные доклады от спикеров ОС Аврора о ближайших планах, а также QA-сессия топ-менеджмента RuStore
🟡Открытая запись подкаста «Гости из IT» по теме Kotlin c Алексеем Гладковым в роли ведущего 🔥
🟡IT-квиз на afterparty от знатока Что? Где? Когда? Бориса Белозерова
Новости и розыгрыши в телеграме CrossConf
Британский стартап Butternut Box, который доставляет собакам здоровую еду (!), получил в новом раунде аж 354 млн долларов 🦮 Компания обещает «человеческое качество» ингредиентов (!!), проверенных и опробованных (!!!) реальными людьми (!!!!), но интересно другое. В Великобритании, по оценкам, 65% собак имеют избыточный вес, так то здоровая еда для собак - это нормально. А еще, в 2022 году объем рынка кормов для домашних животных (в мире) составит 100 млрд долларов, причем на собачьи корма придется более 40% этого сегмента. Так что даже небольшая доля на нем - вполне большая в абсолютных деньгах. И 354 млн уже не кажутся фантастическими. А какой бы вы придумал стартап/приложение для владельцев собак?
Разработка
• $354 млн: Butternut Box — доставка здоровой еды для собак
• Что такое WASM (WebAssembly)
• From Zero to SaaS: The 10 Tools for Building Your SaaS App
• What’s hot in mobile App UI/UX design in 2023?
• How we built the Tinder API Gateway
• How to Thrive at a New Mobile Engineering Position
• How Google Stores 10,000 Petabytes of Data Efficiently
Маркетинг
• Qept — простое приложение с заметками, в котором надо писать самому себе
Кроссплатформа
• AppFlowy: открытая альтернатива Notion
• Тестирование Flutter-приложений c помощью Appium
• Migrating an Android app to iOS with KMP
• React Native Performance Measuring and Monitoring Tools
• How to execute an Android intent in Flutter
iOS
• Осваиваем StoreKit 2: модификаторы представлений в SwiftUI
• marufboy/how-to-be-better-ios-developer-using-this-tips-38b88e6c055a">How to be better iOS Developer using this tips
• Advanced Swift Actors: Re-entrancy and Interleaving
• Advanced iOS Memory Management Techniques
• Building a searchable map with SwiftUI and MapKit
• How to Modularize an iOS App
#ios
С мест докладывают, что 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 параметров.
iOS
• Поваренная книга SwiftUI: понимание представлений (View) и иерархий представлений в SwiftUI
• Theming SwiftUI applications
• adha_fajri/clean-architecture-in-swiftui-b184e0e687f8">SwiftUI Clean Architecture 101
• Vending Non-Mutating Data in SwiftUI
• If and switch expressions in Swift
• Beginner’s Guide: SwiftUI and Additional Essentials
• iOS Interview Guide: Swift Initializers
• Unsafe Memory Access in Swift
#ios
В Sensor Tower проводят увольнения. По слухам, уволено 40 из 270 человек, причем все топы - CEO, CFO, CMO и прочие. Интересно было бы прочитать про причины, если компания в 2021 году утверждала, что она была прибыльна. Кроме того в 2020 году компания получила 45 млн, но тогда у нее было 75 сотрудников. Можно предположить, что раздувшийся штат ее и обрушил, но почему тогда увольняют топов - непонятно. Так или иначе, блог Sensor Tower уже полгода как ничего интересного не публикует, так что ценных отчетов больше ждать не нужно.
Разработка
• Ozon Tech Community Mobile Meetup
• Новая Зеландия: как живут разработчики в стране хоббитов
• Podlodka #336: на чем программируют ученые
• Тестирование внутреннего мобильного приложения «На связи»
• GitHub Actions Reducing Duplication / Boilerplate
• 7 simple habits of the top 1% of engineers
• The Debugging Dilemma - Why So Many Beginners Give Up on Programming
Маркетинг
• Почему ваш онбординг может быть слишком коротким
• Новое приложение Moments помогает поддерживать личные и профессиональные отношения
• В Sensor Tower провели увольнения
• Самые скачиваемые приложения в августе 2023
Кроссплатформа
• Flutter — CI/CD Azure + App Center
• Нововведения фреймворка Flutter 3.13.Часть 2
• alvaro.armijoss/flutter-state-management-provider-bloc-getx-riverpod-getit-and-mobx-c9db3168a834">Flutter State Management: Provider, BLoC, GetX, Riverpod, GetIt and MobX
• What is BuildContext in Flutter
iOS
• UI Examples: примеры красивого UI
• Swift-уроки: Simple MVVM
• Как приручить iPhone, или Общаемся с телефоном по проводу
• Dynamic Island SwiftUI Demo: пример работы с Динамическим островом
• Шейдеры в iOS для начинающих
• Shake to undo in a SwiftUI app
• SwiftUI Sensory Feedback
• Develop with Cocoa for Apple Devices without using Objective-C
• SwiftDataKit: Unleashing Advanced Core Data Features in SwiftData
• An Architecture for Behaviour-Driven Development in Swift
#ios
• SwiftUI Guide: Triggering Actions Solely on First View Appearance
Ускоряем атомарный дизайн
Новый еженедельный дайджест - прекрасные 111 новостей и статей. Прочитайте, поставьте 👍, сохраните в избранное и поделитесь с коллегами. Еще у меня есть канал IT Insights, где новости и статьи про код, технологии и все самое интересное за пределом мобайла. Там, например, "11 типов токсичных Pull-запросов" - исследование 4.5 млн программных веток.
💻 Прислать материал для дайджеста можно сюда. А поддержать канал здесь.
Ваш онбординг может быть слишком КОРОТКИМ
В блоге RevenueCat автор обращает внимание на длинные онбординги.
1. Принято считать, что процесс входа в приложение должен быть как можно менее напряженным и коротким.
2. Однако приложения для фитнеса зачастую используют прямо противоположный подход. Me+, приложение для фитнеса и здоровья №1 в Великобритании, имеет онбординг, который длился около 45-50 различных экранов. У людей, серьезно занявшихся приложением, он займет около 10 минут.
3. “Онбординги становятся все длиннее, и они становятся длиннее каким-то необъяснимым образом. Задаются вопросы, которые никак не могут быть использованы в процессе настройки продукта”.
4. Вероятно, дело в «обещании», что эта информация будет использоваться для настройки продукта. Дело в том, чтобы придать достоверность идее, что приложение опирается на "научные данные" и поможет решить задачу, которая даже может не существует. Дело в том, что чем больше вопросов, тем больше кажется ценность продукта.
5. И такие механики действительно работают. По крайней мере в фитнесе и здоровье.
И что: как и во всем, следует отвергать общепринятую мудрость и учитывать уникальный сценарий использования вашего приложения пользователями, тестируя все до достижения максимума.
Android
• Упрощение отладки Android-приложений с помощью Flipper
• Meeting Room Compose: видеоконференции на Compose
• Ускоряем поиск по коду в Android Studio
• tarunyadav83333/how-i-removed-ads-from-the-spotify-app-ac2191adf8ba">How I removed ads from the Spotify app
• Leveraging Kotlin Function Arguments Helper
#android
По совсем непроверенным слухам, Apple планирует выпустить “дешевый” MacBook для студентов и школьников для конкуренции с Chromebook. Удешевление вроде как будет за счет материалов корпуса, другой механики и, вероятно, более простых экранов. Учитывая, что средний Chromebook стоит долларов 500, а хороший 800, то интересно будет посмотреть на цену бюджетного MacBook, ведь тот же Air начинается от $999, а со скидками для студентов $899.
Разработка
• По слухам, Apple может выпустить недорогой MacBook для конкуренции с Chromebook
• Самые высокооплачиваемые вакансии августа в области разработки приложений
• Textbase: простое создание чатботов
• nerissaarvnas30/whatsapp-re-design-ui-ux-case-study-3d44febe25">WhatsApp Re-Design — UI/UX Case Study
Маркетинг
• В Google Play появились редакционные видео The Play Report
• Было: “Умный и Богатый”. Стало: “Отличная оценка!”
• Увеличили количество органических установок мобильного приложения Skyeng на 31% с помощью текстовой оптимизации
Кроссплатформа
• Ultimate Guide to Write Tests in Flutter
• Getting Started with Detox for End-to-End Testing in React Native
• How to Avoid Reverse Engineering in Flutter Applications
• blendvisions/flutter-3-13-a-game-changing-update-for-app-developers-15d52945a2e5">Flutter 3.13: A Game-Changing Update for App Developers
iOS
• Приложения для iPad и iPhone будут автоматически публиковаться в магазине приложений Vision Pro
• Поваренная книга SwiftUI: cоздание и предварительный просмотр представления SwiftUI
• Swift OpenAPI Generator: генерация кода API-вызова
• Migrating iOS GitHub Actions to Self-Hosted M1 Mac Runners
• Combine, async/await, and Unit Testing
• SwiftUI: Why You Need AnyView
• Using Tuples the Swift Right Way
#ios
Google обновляет логотип Android
Как и предполагалось, компания обновила логотип Android.
1. Само название стало писаться с большой буквы.
2. Новая стилизация (шрифт) надписи Android более точно отражает логотип Google и создает баланс между ними.
3. Робот стал трехмерным.
4. И может быть разных цветов.
И что: эпохальное изменение! 🙂
Android
• Лучшие практики обработки ошибок в Kotlin
• Simple Jetpack Compose Tabs With Fragments
• Different Ways to Achieve Function Composition in Kotlin
• kacper.wojciechowski/kotlin-context-receivers-misunderstood-and-underestimated-feature-66c4aa3b9ce0">Kotlin Context Receivers — misunderstood and underestimated feature
• Build a Real-Time Meeting App for Android with Jetpack Compose
• Material 3 Adaptive: Making Responsive Layouts with Jetpack Compose easily
#android
#фэйл №597
Учитесь, как надо давать обратную связь пользователям.
Прислала @golden_oar
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)
Как правильно выстроить монетизацию в первую сессию пользователя
Посмотрели/выпустили какое-то другое интересное видео? Отправьте боту🧑🏻💻