Mobile Development by AppTractor
11K subscribers
1.87K photos
39 videos
11 files
4.65K links
Цифры, советы и все интересное о разработке мобильных приложений и сервисов. Комментарии и вопросы можно писать прямо @lbogolubov

• Аудитория https://t.me/apptractor/1066
• Сайт https://apptractor.ru/
Download Telegram
Раньше инвестировали в лопаты, потом в магазины для лопат, а сейчас в ремонтников магазинов для лопат. Хороший пример - Komodor, платформа поиска и исправления ошибок в Kubernetes. Так что если вы можете автоматизировать сервисы третьего порядка - IAP, поиск ошибок в контейнерах или еще что-нибудь - десятки миллионов долларов вполне могут вас дождаться 😉

Разработка

$42 млн в Серии B: Komodor — платформа устранения сбоев в Kubernetes
7 причин, по которым я объясняю ответы во время технического интервью
AppsFlyer запустил Единый источник истины для iOS
Отправляем миллиард уведомлений в месяц
Podlodka #267: кодеки
$6.6 млн в посевном раунде: Novu — открытая инфраструктура уведомлений
78% пользователей отказывается от персонализированной рекламы в App Store
55+ перспективных технологий IoT, которые вы должны иметь на своем радаре (обновление 2022 года)
Найти всё, что скрыто. Поиск чувствительной информации в мобильных приложениях
«Не унывайте, пацаны»: основатели российского приложения для медитации ещё не вышли в прибыль, но уже идут в США

iOS

6 советов, как улучшить программирование в Swift
Runestone: текстовый редактор для iOS
Асинхронный код синхронно: как устроено юнит-тестирование в СберМаркете
Правильно подключаем тяжелые зависимости к Xcode проекту через Swift Package Manager
Цикл рендеринга SwiftUI
SwiftUI все еще не готов к продакшену
Значения среды как альтернатива внедрению зависимостей в SwiftUI
Предварительная выборка в iOS
Расширенные протоколы в Swift
SwiftUI для разработчиков UIKit

Android

Android и Play на Google I/O 2022
Работа с памятью в Android: GC, ARC, RAM
Вышло расширение Google Home для Visual Studio Code
Now in Android: лучшие практики Android-разработки
Знакомьтесь: библиотека TiRecycler
Как я перестал бояться и начал делиться секретами с телефоном
В России начал работать магазин приложений NashStore — российский аналог Google Play
Каталоги версий Gradle для отличного управления зависимостями
Новый способ совершать сетевые звонки на Android
Вопросы для собеседования среднего уровня по Android
Ищем ofnsrb в UI с помощью CPU профайлера в Android Studio

Кросс

Flutter Dev Podcast #35: безопасность инфраструктуры для Flutter-разработки
Kotlin 1.5.30 и KMM/KMP
Пинболл с I/O на базе Flutter и Firebase
7 удивительных инструментов разработки приложений на Flutter,
🔥8😁1🤔1
Apple разрешает автоматически увеличивать цены на подписку

В этом году Apple уже тестировала новую функцию, позволяющую разработчикам автоматически повышать цены на возобновляемые подписки. Эта «пилотная программа» была ограничена отдельными разработчиками, а Apple теперь внедряет эти изменения для всех.

В настоящее время, когда разработчик увеличивает цену автоматически возобновляемой подписки, пользователи должны подтвердить, что они продолжат подписку по новой цене, в противном случае подписка автоматически отменяется. Теперь, с обновлением, повышенные цены могут взиматься даже без действий пользователя.

Есть некоторые ограничения. Главное, повышение цен не может происходить чаще, чем раз в год. При этом максимальное увеличение - на 5 долларов для обычных подписок или 50 долларов для годовых. В таких случаях Apple будет сообщать пользователям об изменении цен по электронной почте, через push-уведомления и сообщения в приложении.
🤯19😱4🔥31👍1
Как найти новые источники эффективного трафика для приложения, сохраняя бенчмарки по CPA и CAC (стоимость платящего пользователя)?

“Перекрёсток” использовал рекламу в Директе с оптимизацией на покупки в приложении.

В рекламных объявлениях тестировались тематические запросы и разные промокоды на доставку и скидку с определенной суммы заказа.

В итоге на протяжении пяти месяцев кампании фактический CPA не превышал целевого. Даже несмотря на внесение изменений в ходе кампаний, алгоритм переобучался и достигал цели.

Приложение получило качественный трафик — треть установок закончились покупкой. Стратегии с оптимизацией на действие в приложении работают даже на таких масштабных рекламных кампаниях, как продвижение приложения “Перекрестка”, удерживая заданный CPA.

Подробнее о проведенной кампании - в статье.
👍2
Интересное мнение про SwiftUI - говорят, что никак не готов он к проду. Память в Xcode утекает, старые версии iOS не поддерживаются, все еще меняется, навигация не работает и т.п. Наверняка тоже самое можно сказать и про Compose. Однако нельзя не признать, что разработка с декларативным подходом резко ускорилась и упростилась. А использовать его или нет, уже дело проекта и разработчиков. Утечки рано или поздно заштопают, версии ОС пользователи обновят, а навигацию починят.

Разработка

SwiftUI все еще не готов к продакшену
Многие софтверные компании — посмешище
Инструменты разработки и LiveOps: Как стабильно управлять тоннами контента игры
Кейс UX/UI - Drill IT
Модульные тесты замедляют меня

iOS

Apple разрешает автоматически увеличивать цены на подписку
Регулировка contentOffset с помощью UICollectionViewLayout
Создание кастомной геометрии со стандартными формами в SceneKit под SwiftUI
Разница между singleton и Singleton в Swift
Как внедрить шаблон MVVM в разработку приложений для iOS

Android

Floating Action Button Speed Dial: плавающая кнопка с действиями
Как работает UI в Android. Не все так сложно
Повышение качества кода Kotlin для кодовой базы Faire
Fastlane: автоматизируйте развертывание и выпуск бета-версий приложений для Android.

Кроссплатформа

Kotlin Multiplatform Mobile — совместное управление состоянием пользовательского интерфейса
Как на Flutter-проекте реализовать разделение Google-сервисов и Huawei-сервисов
Нестандартное оформление кнопок, текстовых полей и других элементов управления Flutter
Адаптивные макеты во Flutter
Повышает ли Flutter производительность разработчиков?
Анонс набора инструментов для казуальных игр Flutter
👍7🔥2
Используете SwiftUI/Compose в проде?
Anonymous Poll
30%
Да
42%
Нет
28%
Хочу всех посмотреть
👍4
Mobius — конференция по мобильной разработке от JUG Ru Group, в формате online+offline

Online-часть: 25–27 мая.
Offline-день: 22 июня, Санкт-Петербург.

Вас ждут выступления, посвященные трендам и новым технологиям, обмен опытом и общение с коллегами в чатах. А на offline-дне можно вживую пообщаться со спикерами, лично познакомиться с единомышленниками и потусоваться у партнерских стендов.

Некоторые темы выступлений:
✔️ Как разработчики вернули к жизни приложение для сотрудников розничной сети МТС.
✔️ Что такое подход Dependency Injection, какие DI-фреймворки существуют и чем они могут быть полезны.
✔️ Как атрибут inlinable влияет на производительность и компиляцию кода на Swift.
✔️ Какие проблемы могут возникнуть при использовании Koin в растущем Android-приложении и как их решать.

Для подписчиков канала организаторы сделали промокод, который поможет купить персональный билет со скидкой: apptractor2022JRGpc

Билеты, подробности и полная программа уже на сайте.
Начинаем работу с Flutter Casual Games Toolkit

Если вы когда-нибудь в качестве пет-проекта хотели изучить Flutter и одновременно сделать какую-нибудь простенькую казуальную игру, то самое время. Google представил Flutter Casual Games Toolkit - специальный шаблон, который вы можете использовать для создания собственной игры. Этот стартовый проект предоставляет готовые «Свистелки и перделки», такие как главное меню, страница настроек, поддержку звука и т.д. К нему же прилагаются несколько примеров игр (пинбол и крестики-нолики), собственный открытый игровой движок (он существует еще с версии 2.8), видео туториал, обсуждение в Discord для разработчиков игр на Flutter.

Статья: https://apptractor.ru/fltgmkt
Платформа: Flutter
👍5🤩2🤔1
Mattt — разработчик, бывший технический писатель Apple, контрибьютор Swift, мантейнер Alamofire и AFNetworking, основатель NSHipster, выложил книги своего издательства Flight School. Там есть руководство по строкам, числам и Codable в Swift. Навскидку - большие (про строки, например, 173 страниц) подробные и интересные издания о том, как все в Swift происходит. Так что если хотите выйти за пределы let name = "Swift" - посмотрите 📖 По крайней мере получите удовольствие от оформления 😀

Разработка

Бесплатные книги по Swift от Flight School
$20 млн: Pipedream — простая интеграция API
MyTracker открывает возможность для создания кастомизированных метрик
VPS и ARCore Geospatial API
Kincony KC868-A16: контроллер 16-го уровня
Подборка новых, необычных и стильных мобильных iOS приложений
Минцифры и VK анонсировали запуск магазина Android-приложений RuStore
Как я выторговал офер в 300 000 от Google
Прекратите создавать UI компоненты с нуля
Системный дизайн и рекомендательные алгоритмы 20 крупных компаний

iOS

Sankey: диаграммы Санки для iOS
Apple представила новые функции доступности
Золотые правила “weak self”
Pull to refresh в SwiftUI
Заполнители типов взгляд на новую функцию Swift 5.6
Фингерпринтинг локального устройства в iOS
Туториал по Vision Framework для iOS: обнаружение контуров

Android

Jetpack Compose для поздних последователей
Кастомные анимации Canvas в Jetpack Compose
Оставьте Retrofit, переходите на Ktor в Android

Кроссплатформа

Начинаем работу с Flutter Casual Games Toolkit
Flutter каналы платформы
Воркшопы DartPad от GDE по Flutter
Оптимизируем React Native
Ускоряем Kotlin Multiplatform
👍6
Занятное исследование поиска приложений различных категорий в Google. Без предыстории за предыдущие года трудно оценить положение, но дейтинг на первом месте. После пандемии, видимо, все снова бросились знакомиться. Что менее ожидаемо - на втором месте по частоте запросов приложения для торговли акциями. Статистика мировая, так что игра на бирже, судя по всему, стала уже мировым хитом. Фоторедакторы в эпоху Инстаграмов и Тиктоков на третьем. Игры только на четвертом, но это видимо уже перекос именно в поисковую статистику категорий, мало кто ищет “game apps”.

Разработка

Самые популярные категории приложений 2022
Мой вопрос с кодинг интервью в Google
VK открывает набор на оплачиваемую стажировку для начинающих разработчиков игр
Facebook замораживает найм в продуктовые команды
Как выжить при быстром росте аудитории, когда игра за день становится хитом
Эволюция инди-игры: от Google Play до собственного магазина
Мобильный маркетинг в 2022: спасибо, что живой
Что не так с UX-ом подписок
26 главных вопросов по программированию, которые помогут пройти собеседование в Microsoft
Я потратил 2 года на запуск крошечных проектов

iOS

Соединяем iOS AppDelegate, SceneDelegate и ViewController
Шаблон Xcode MVVM-C для сокращения времени разработки
Заполнители типов: взгляд на новую функцию Swift 5.6
7 шорткатов Xcode для больших проектов
Apple GPU и невозможная ошибка

Android

MiStoryView: истории для Android-приложения
Делаем Android-приложение библиотечным модулем
Девять кругов ада в миграции проекта Kotlin Multiplatform на koin-annotations
Используете ли вы самый мощный инструмент Kotlin?
API сканирования штрихкодов Google - сканирование кодов без разрешения камеры

Кроссплатформа

Тестирование Flutter-приложений: гайд по разработке тестов на Flutter
Flutter 3: что нового
Автоматический перевод приложения Flutter
👍2🤯1
Всегда хотели сравнить производительность своей команды разработки с конкурентами? Теперь есть такая возможность. Платформа управления программной инженерией Jellyfish запустила то, что она называет «первым в отрасли инструментом сравнительного анализа». Он позволит инженерам проверять, насколько хорошо они работают по сравнению с другими компаниями. Jellyfish Benchmarks основан на анонимизированных данных, которые компания собирает со всех инженерных групп.

Пользователи получают доступ к более чем 50 метрикам, включая время, затрачиваемое на рост, количество решенных issues, частота развертывания, смердженные пул-реквесты, коммиты, дни программирования, частота инцидентов, среднее время восстановления (MTTR), и пр.

Такие агрегированные общеотраслевые инженерные данные дают больше контекста для понимания, позволяя компаниям сравнивать и сопоставлять внутренние данные с данными своих коллег из разных секторов.
👍9🤔1
Наш традиционный большой еженедельный дайджест со всеми 107 материалами за неделю. По возможности поставьте лайк, поделитесь с коллегами, поддержите на Boosty - мне важно видеть ваше внимание и отклики 🔥
🔥19👍5
Вышло актуальное исследование производительности мобильной рекламы в России и Украине в марте-апреле. eCPM практически везде, кроме баннерной рекламы, упал на десятки процентов или вообще в разы. Показы тоже сократились, впрочем CTR вырос. В общем, соболезнования всем, кто монетизировался рекламой (да и IAP тоже). Интересный вывод - пропало еще не все, можно что-то попытаться поделать 😀

Разработка

Мобильная реклама в России и Украине: отчет Appodeal
ARCore Geospatial API улучшает создание мирового AR-контента
VK Play провела исследование игровой аудитории в России
Дизайн приложений: примеры для вдохновения #76
Видео Ozon Tech Mobile Meetup
Podlodka #268: формальные методы и верификация программ
Jellyfish запускает отраслевые бенчмарки для команд разработки
Go в API для мобильного приложения. Создаем совместный список покупок с мгновенными уведомлениями
Стандартных метрик уже недостаточно: как найти и удержать ядро своей mid-core игры
14 Важных UI/UX типсов для твоего дизайна

iOS

В Apple показали гарнитуру смешанной реальности
Colorue: рисование на iOS
SwiftUI — простое управление состоянием MVVM
6 причин, по которым команда MEGA полностью перешла на SwiftUI
Редактирование пакетов Swift в Visual Studio Code
100 рецептов SwiftUI
Освоение TimelineView в SwiftUI

Android

Используете ли вы самый мощный инструмент Kotlin?
В Google Play появились теги доступности
ComposePPT: презентации PowerPoint на Compose
Более чистый способ взаимодействия между Composable и ViewModel в Jetpack Compose
Простая инъекция зависимостей с помощью Koin 3.2 и аннотаций Koin
Первый взгляд: «песочница конфиденциальности» Google и ее влияние на SDK
Кастомный прогресс бар с Jetpack Compose Canvas API

Кроссплатформа

11 вещей, о которых вы должны помнить перед стартом нового проекта на Flutter
Сборка приложений и игр для MacOS на Flutter 3.0
15 лучших инструментов Flutter, которые вы должны знать
👍5
Какой основной источник доходов вашего приложения в России?
Anonymous Poll
8%
Встроенные покупки
12%
Подписка
7%
Реклама
2%
Все вместе
9%
Другое
61%
Всех посмотреть
Тут пошли слухи, что EA собирается продаваться. Среди предполагаемых кандидатов на покупку - Apple, Disney и Amazon. И хотя наверняка Apple ничего не купит, только представьте дивный новый мир, в котором Battlefield выходит на iOS так сказать mobile-first, а Mac становится нормальной игровой платформой. Потрясение основ!

Разработка

Apple говорит о покупке EA
Google Play временно разрешает сторонние платежи
1000 и 1 нюанс. UX-проектирование и тестирование сложного функционала или почему не нужно спешить делать дизайн
Нелегкий путь к динамическому анализу мобильных приложений
Спасаем тревожных миллениалов от необходимости звонить: как в приложении для заказа пиццы появился чат
Стойте! Вы используете пул-реквесты неправильно
Вы против мира глупостей — советы разгневанным инженерам
Что я узнал из 50 собеседований ML-инженеров

iOS

Swift Algorithm Club: алгоритмы и структуры данных с объяснениями
Создаем красивый экран загрузки для вашего iOS-приложения
Выводим приложение в оффлайн с Salesforce Mobile SDK
Инъекция кода с Dyld Interposing
Объяснение замыканий в Swift

Android

Бесплатный курс по корутинам
5 шагов к Google Fonts в Jetpack Compose
Как мы уменьшили наш ANR в три раза

Кроссплатформа

Как подружить Elementary и BLoC
Кастомные сообщения во Flutter
Лучший пакет навигации во Flutter
👍6
На Build 2022, которая началась вчера, Microsoft объявила о большом походе на Arm (по крайней мере в плане разработки). Говорят о выходе Visual Studio 2022 для Arm64 и миниатюрного Arm PC. Что касается инструментов, то кроме VS будут нативные VS Code, Visual C++, .NET 6 и Java, WSL и WSA для запуска приложений Linux и Android. Кроме того будет компьютер для разработчиков, до боли напоминающий Mac mini - Project Volterra. В нем будет процессор Snapdragon и нейронный процессор (NPU), что в совокупности с инструментами позволит создавать “облачные приложения с искусственным интеллектом”.
👍8👏2
Статей технических особых что-то нет, потому перевел занятную почти буддистскую статью про недовольство тем, что код или технологии не работают так, как могли бы. Если вам также кажется, что многое, если не все, сделано через жопу и Проклятие инженера мучает вас по ночам - прочитайте. Вкратце рецепт прост - мир несовершенен, стоит принимать его с эмпатией и радоваться хотя бы просто нормальному. К тому же может быть все не так, как вам кажется, а гораздо “более лучше”. Просто попробуйте посмотреть на это с другой точки зрения 🤔

Разработка

Вы против мира глупости: советы разгневанным разработчикам
V Bionic — победитель 2022 Imagine Cup
Рекламная стратегия в условиях рецессии
Niantic запускает VPS и социальную сеть
Visual Studio 2022 получает поддержку ARM и компьютер Project Volterra
TinyML — машинное обучение на микроконтроллерах
VK запустила бета-версию магазина приложений RuStore
Почему я избегаю async/await
Stack Overflow уничтожает разработчиков

iOS

Удаление учетных записей в iOS-приложениях станет обязательным с 30 июня
Как делать автоматические вычисления тригонометрии в Swift
SwiftUI в 2022 году
Как повысить производительность кода за счет сокращения инициализации типа коллекции
16 полезных расширений для SwiftUI

Android

Compose Reports to HTML: отчеты компилятора в HTML-страницах
Многомодульный BDSM: стоит ли внедрять Gradle модули и какие типы модулей бывают?
Навигация в Compose за 3 минуты
Путь Tokopedia к поддержке темного режима
Jetpack Compose под капотом: события касания

Кроссплатформа

Зачем (и когда) использовать Flutter вместо Unity
👍7🤔2🔥1
Вот чем мне нравятся релизы Niantic, так это всегда сочной и красивой графикой. Компания продолжает развивать мировую AR-платформу и на этой неделе представила свою Visual Positioning System. Она работает в рамках общего Lightship SDK и позволяет сделать так, что AR-опыт будет до сантиметра привязан к физическому местоположению, например, показываться на фасаде здания или у памятника в парке, а не просто бесцельно плавать в поле зрения камеры. Казалось бы, при чем тут Pokémon Go? А вот. Google для своей VPS использовал фотографии Street View, а Niantic - миллионы фотографий с камер игроков Ingress и Pokémon Go. Уже доступно 30,000 локаций в 6 городах. Пока все работает бесплатно для iOS, Android и Unity.
👍8
Apple публикует данные двух исследований экономики приложений. Главные цифры - в настоящее время индустрия разработки iOS-приложений поддерживает более 2.2 миллиона рабочих мест в США (Android - 2 млн). Плюс, за последние два года доходы мелких разработчиков (которых в App Store 90%) в США выросли на 118%, а в среднем по миру на 113%.
👍3🎉1
На сайте Академии Яндекса вышел материал от Леши Шведчикова, разработчика из команды Яндекс Про, который рассуждает, как Flutter объединяет создателей мобильных приложений iOS и Android. В материале — про плюсы и минусы опенсорсного фреймворка, а также коротко о том, почему Яндекс запустил стек Flutter.

А еще у той же Академии Яндекса с 20 июля стартует Школа мобильной разработки. Участие бесплатное, но для поступления нужно заполнить заявку (срок — до 23 июня) и выполнить тестовое задание — там понадобятся знания Swift, Java или Kotlin. Если есть желание пообщаться с ведущими экспертами и поработать над реальными задачами Яндекса, вам точно сюда.
👍12😢21😁1
Казалось бы темный режим, что там - бери, да делай. Однако если у вас многомодульный проект со множеством кода, цветов, ресурсов и подобный вещей, то реализация темного режима уже перестает быть томной. Разработчики Tokopedia написали скрипт и ряд вспомогательных инструментов, которые автоматизировали большую часть работы. А сейчас внедрили проверки на уровне пул-реквестов и блокируют фичи, если в них нет темноты. В общем, занятная история о том, как все в больших проектах происходит...

Разработка

Путь Android-приложения к поддержке темной темы: пример Tokopedia
В экономике iOS-приложений в США занято 2.2 млн человек
Как качественно измерять трафик в мобильных приложениях
Уроки 5 лет аудита кода в технических стартапах

iOS

Spiral: спирали для SwiftUI
[Async/await] Проблемы Swift 5.4
Как адаптировать View для каждого устройства
Кто еще хочет улучшить качество кодовой базы
Как создать Redux-подобный контейнер в Swift с нуля
Реализуем шаблон Координатор с помощью Combine

Android

Стратегии управления зависимостями Gradle
Lazy Grid макеты в Compose
Как создать ярлыки в приложении для Android
15 лучших библиотек Android на 2022 год

Кроссплатформа

Dart 2.17: Продуктивность и интеграция
Основные ошибки, которые допускают разработчики во Flutter
Эффект тени во Flutter
👍3
Видео Школы мобильной разработки Яндекса

Летом 2021 года прошла Школа мобильной разработки от Академии Яндекса: студенты слушали лекции, выполняли домашние задания и работали над реальными проектами бок о бок с менторами и ребятами других направлений. Курсы лекций рассчитаны на разработчиков, которые уже начали изучать основы разработки под iOS или Android и хотят углубить и систематизировать свои знания.

iOS (14 видео)
Android (16 видео)
👍20