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

• Аудитория https://t.me/apptractor/1066
• Сайт https://apptractor.ru/
Download Telegram
Forwarded from Код Воробья для iOS разработчиков
Как устроено приложение Настройки. Сделано нативно.

Сделали на сценах. Root это split-контроллер, проявляется на 5.5+ айфоне и айпадах. Домашний экран назвали UIPrefsListController.

Ячейки, иконки и аксесуары установлены в дефотные вьюхи. На втором скрине кликабельный текст в футере сделали через кастомную футер-вью. Кнопку добавили через формат-текст в UITextView.

Когда доступно обновление, на домашнем экране появляется ячейка с красным кружком. Это сделали картинкой с лейблом, класс назвали BadgedTableViewCell. Ячейка аккаунта названа UIAppleAccountCell.

Иконки ячеек установлены в дефолтный контейнер. Библиотека SPSettingsIcons генерирует такие иконки для SFSymbols кодом.

#ViewHierarchy
👍7💩32
Автор первой статьи проводит интересное внедрение теории «разбитых окон» в разработку. Интересное, наверное, прежде всего совершенно другой предметной областью - криминалистикой. Но и в разработке системы становятся хрупкими и менее устойчивыми к изменениям, накапливающими ошибки, которых совершается все больше. А начинается все с первого “разбитого окна” - отложенного технического долга, неправильного решения. Заканчивается тем, что все забивают и все делают на “и так сойдет”. Рецептов автор особо не дает, разве что работать последовательно и не накапливать долг, уделять время рефакторингу. Но в целом - посмотрите на свой код, нет ли в нем того, что можно назвать "разбитым окном"?

Разработка

Теория «разбитых окон» в разработке ПО
Amazon открывает продажи Glow
Как просто уменьшить размер приложения React Native на 70–85%
Оптимальный способ отображения модальных окон на мобильных экранах
Может быть, вам следует меньше работать
Лучшие практики планирования спринтов
Как я освоил привычку leetcod-ить
Бесконечная прокрутка — как дизайн может взломать ваш мозг
Рефакторинг водительского приложения Uber

iOS

Современный параллелизм в Swift
Циклы сильных ссылок и управление памятью в Swift
Фундаментальный шаблон проектирования: синглтон
Изучение пружинной анимации в SwiftUI: основы и не только
Время жизни State Properties в SwiftUI

Android

Как защитить Android-приложения от реверс-инжиниринга и утечки данных
Groceries Store: современный продуктовый магазин
Dagger/Hilt против Koin для приложений Jetpack Compose
Kotlin Coroutines Flow в двух словах
Как использовать адаптивные изображения для ускорения ваших приложений — на примере Android Glide)
👍5🔥1
#НовостиНашихВселенных: Индекс рынка труда (учитывает количество активных работодателей, приглашений на собеседования и открытых вакансий) сейчас составляет 0,94 от средних значений 2017—2019 гг, говорит SuperJob. Спрос в IT за месяц снизился более чем в 2 раза - вакансий в IT, Интернет, связь, телекоммуникации стало на 56% меньше. С другой стороны, положительная динамика все же есть — активных вакансий за последнюю неделю стало больше на 2%.
🤔8👍1😁1😢1
Крупные рекламные сети временно, надеемся, перестали работать в России, а монетизировать приложения надо. У Яндекса есть своя рекламная сеть для приложений и компания проводит вебинар «Как монетизировать приложения с Яндексом: особенности работы и доступные инструменты», который состоится 5 апреля в 12:00.

Что будет на вебинаре:

— Как монетизировать приложения с помощью инструментов Яндекса.
— Как работает рекламная монетизация в Яндексе, кто в ней задействован и почему важно учитывать интересы всех участников.
— Как менялись подходы к монетизации приложений с течением времени.
— Как устроена Мобильная медиация Яндекса и какие рекламные сети можно к ней подключить.

Мероприятие бесплатное, нужно только зарегистрироваться по ссылке.
👍1🤮1
Большие приложения, вроде Lyft, Uber или того же Яндекса почему-то всегда кажутся примером правильных подходи, архитектур, чистого кода. А потом оказывается, что Uber переписывали много раз с нуля, Яндекс данные теряет, а Lyft вот в статье Google исправляет время запуска приложения для водителей. Исправлять-то конечно он исправляет, но осталось за кадром возникновение проблем. Почему так получилось, кто виноват, каких процедур не хватало - тоже интересно было бы узнать 🧑🏻‍💻

Разработка

Как один Android-разработчик за месяц сократил время запуска приложения Lyft 21%
$60 млн в Серии D: HackerRank — платформа подбора разработчиков
$18 млн в посевном раунде: Kooply — платформа разработки и распространения мобильных игр
Количество вакансий в сфере IT за месяц сократилось на половину
Ключевые метрики: как мы рассчитывали RPS, а пришли к custdev
Модульное тестирование Flutter — руководство для начинающих
Клон Instagram с помощью Flutter и Feeds
5 лучших проектов для Raspberry Pi)
Работа с сетью для пошаговой игры
Почему и как мы переписали наше крупнейшее мобильное приложение с нуля

iOS

SwiftLint: линтер для Swift
Множественный выбор и совместное использование элементов коллекции с использованием UIActivityController
Приложение для умных часов с CoreBluetooth и RxSwift
Реализация шаблона проектирования Адаптер в Swift
Как реализовать кастомный MapKit Callout в iOS
Лучшее в своем классе приложение для iOS
Совет по поиску утечек памяти в Xcode

Android

Dropbox представил Focus, новый плагин Gradle с открытым исходным кодом
Основы Kotlin DSL в Android
👍7👎2
#НовостиПаралелльныхВселенных: Apple разрешила “приложениям для чтения” ссылаться на внешние сайты для управления учетными записями пользователей (и совершения покупок). Сегодня App Store Review Guidelines были обновлены новой информацией.

В частности, разработчики должны подать заявку на External Link Account Entitlement. Таким образом Apple по-прежнему будет контролировать ситуацию с точки зрения того, могут или не могут разработчики просто и быстро реализовать эту функцию.

Компания также опубликовала строгие рекомендации - например, страницы должны открываться в новом окне браузера, а не в WebView, ссылки должны быть по образцу, страница не может рекламировать цены.

Наконец, приложения, которые решили использовать право на внешние учетные записи, не могут предлагать покупки в приложении. Или то, или другое, но не вместе.

Хотя сегодня Apple открыла доступ для подачи заявок, компания отмечает, что API будет доступен для использования и тестирования в «предстоящей бета-версии iOS и iPadOS».
👍8
AppCapital покупает неигровые мобильные приложения с годовой выручкой от $100k до $15m.

Мы предлагаем оценку в пределах 3-летней прибыли вашего мобильного приложения.

Для вас это возможность единовременно получить большую часть будущей выручки сразу, независимо от того, как рынок будет вести себя в будущем, а для компании — сформировать сильный и конкурентоспособный пул активов, привлекательный для инвесторов по всему миру.

Компания рассматривает в свой портфель мобильные приложения, которые соответствуют следующим критериям:
- Неигровые мобильные приложения
- iOS и Android
- Выручка от $5к в месяц
- Монетизация через подписки

AppCapital подходит к каждой сделке индивидуально, обеспечивает прозрачность оценки и скорость сделки, использует escrow инструменты при оплате для исключения рисков, а с командой крайне удобно и приятно коммуницировать.

Чтобы узнать подробности или получить оценку вашего мобильного приложение, пишите нам

Сайт: appcapital.vc
E-mail: mp@appcapital.vc
Telegram: @mpriklonsky
👍3
Основатель Docker открыл свой новый проект - Dagger (не путать с DI в Android). Это такие программируемые конвейеры CI/CD, «операционная система для DevOps». Как оно все будет пока не совсем понятно, но выглядит интересно и многообещающе. Занятно другое - стартап начинался не с идеи продукта, а с команды. Вот так собрались и начали думать, что можно улучшить. «Мы решили начать с нуля и не предполагать, что мы что-то знаем», — сказал Хайкс о процессе, который команда использовала для разработки своих идей. «Мы начали этот долгий процесс открытия, чтобы просто быть чистым листом и выслушивать проблемы людей». Вот так оно бывает. К бабушке не ходи - станут новым единорогом 🦄

Разработка

$20 млн в Серии А: Dagger — разработка CI/CD
Реализация сетевой части в пошаговой игре
Microsoft Build 2022 пройдет с 24 по 26 мая
Apple разрешает «приложениям для чтения» использовать внешние аккаунты
Безопасное банковское мобильное приложение: 8 методов
Проекты на миллион долларов, созданные одним человеком

iOS

Шорткаты для Xcode в виде Cheat sheet
Справочники в iOS: храним, обновляем, используем
Легкий параллелизм в Swift с Async/Await
Объяснение класса Swift Size, которое можно понять за 3 секунды

Android

Unfurl: превью страниц для Android
Как мы в QIWI внедряли Kotlin Multiplatform Mobile (KMM)
Конечный автомат в Android/Kotlin
👍4
#Новости: По данным Sensor Tower Store Intelligence, потребительские расходы на покупки внутри приложений, премиальные приложения и подписки в App Store и Google Play в 1 квартале 2022 года в сумме за год практически не изменились. При этом App Store в деньгах вырос на 5.8%, а Google Play упал сразу на 8.5%.

Между тем, среднее MAU в популярных приложениях выросло на 4.8% в годовом исчислении. Интересно, что лидерами по росту использования стали категории Медицина, Навигация и Путешествия. Мобильные игры показали наибольшее снижение использования по сравнению с 2021 годом, снизившись на 3.8% за год.
👍1
⚫️ Наш традиционный большой еженедельный дайджест со всеми материалами за неделю.
👍12
Forwarded from Код Воробья для iOS разработчиков
На фрилансе заказчики выбирают программиста по его приложениям в сторе. У меня появилась идея собрать личные приложения в одном месте - в новой версии сайта появится страница с приложениями разработчиков.

Добавляйте приложения в файл в публичном репозитории на github. Если аппа поддерживает английский язык, внесите её в оба файла в папках /ru и /en. После изменений делайте Pull Request.
9💩8🤔5👍1
Определились три две главные конференции для мобильных разработчиков. Первым пройдет Google I/O 2022 - с 11 по 12 мая. Через месяц после него состоится WWDC 2022 - с 6 по 10 июня. Аккурат посередине между ними еще будет Microsoft Build 2022 - с 24 по 26 мая. Все онлайн, все без билетов, разве что, вероятно, на отдельные классы надо будет записываться.

Разработка

WWDC 2022 пройдет с 6 по 10 июня
Год спустя: маркетинг и атрибуция в iOS без идентификаторов IDFA
Виральный рост TravelBoast
Оригинальные Angry Birds снова вышли на iOS и Android
Дизайн приложений: примеры для вдохновения #73
Рост доходов приложений в 1 квартале замедлился, а использование выросло на 5%
Перцентильные фильтры
Podlodka #261: стриминг видео
Самые высокооплачиваемые вакансии марта в разработке приложений: подборка hh.ru
Ошибки геймдизайна или как мы сделали игровой режим, который был никому не нужен
Flutter for Desktop — новый подход к разработке приложений
Наиболее распространенные уязвимости в мобильных приложениях
5 вещей, которым стоит поучиться у шрифтовых дизайнеров при работе с визуальными эффектами
3 шаблона проектирования, которые должен изучить каждый разработчик
Фундаментальное руководство по оптимизации SQL-запросов
Что такое Предметно-ориентированная архитектура?
Темная сторона разработки ПО

iOS

UIViewCanvas: PreviewProvider для UIView
Управляем навигацией в iOS-приложениях. Паттерн координатор от СберМаркета
Путь в iOS тех-лиды
DispatchGroup и DispatchSemaphore в Swift
Kintsugi: автоматическое решение Git-конфликтов в файлах проекта Xcode
Тестирование SwiftUI с ViewInspector для iOS

Android

MaterialChipSetWidget: чипсеты для Android
Microsoft выделяет Android-разработку в новую группу
Dagger 2 приходит конец — новый DI в Jetpack Compose
Fragula 2: навигация свайпами как в Telegram
Стили в Android. Как организовать темы в проекты
Расширенные формы для ваших Drawables
Улучшение качества кода в Android
Android и типографика Figma - как добиться 100% точности
Документирование кода Kotlin с помощью KDoc и Dokka
👍7
#Новости: Apple может изменить принцип повышения цен на подписки в iOS. До настоящего момента пользователь должен был явно согласиться с новой ценой или он автоматически терял подписку. В тестируемом новом механизме (уже есть, например, у Disney+) встроенный системный диалог только информирует пользователей о предстоящем изменении цены, а затем автоматически подписывает на нее. Когда это раскатают на всех неизвестно, но... снова да здравствует подписной скам?
😢19💩3👍1
Интересная задумка обнаружилась в лице Trunk, платформы проверки кода. Идея благостная - проверять код прямо во время написания, чтобы устранять ошибки на лету и не возвращаться к ним позже, вырываясь из потока. Trunk пишет свои линтеры, анализаторы, форматеры и прочее? Неа, берет открытые и организует их работу. Trunk опирается на работу, проделанную бесчисленным множеством других разработчиков, и объединяет их всех в единый канал для легкого доступа. Фактически, их платформа вовсе не проверка кода, а организация open source инструментов проверки самым удобным способом для автоматизации процесса. “На самом деле мы продаем «опыт разработчика» в коробке”, — говорит CEO, который ранее трудился в Uber. На это подняли 25 млн в Серии А. Да, лопаты для лопат хорошая идея.

Разработка

$25 млн в Серии А: Trunk — платформа Open Source инструментов для проверки кода
Победители Mobile Games Awards 2022
Dropbox запустил бета-тестирование цифровых магазинов Shop
Как мы настраивали CI в два захода
Чем измерить метрики производительности приложения
Подробное руководство по созданию интуитивно понятных контекстных меню
iOS и Android разработка с годами сходятся
13 инструментов управления продуктами, которые используют лучшие продакт-менеджеры
Как определить инфляцию технического долга

iOS

Apple изменит повышение цен на подписку в iOS
R.swift: удобные ресурсы в Swift
Не используйте протокол, если структура лучше справляется со своей задачей
Xcode Cloud: опыт leboncoin
Как импортировать файлы в ваше приложение с помощью UIDocumentPickerViewController

Android

Продвинутые формы для ваших Drawable
Google закрывает Play Store для продуктов, сканирующих установленные приложения
Material Design 3.0
Ускоренный курс по компилятору Kotlin
Дизайн пересекающихся библиотек
👍61
#Новости: Google последовательно косплеит Apple и готовится к чистке Play Store от устаревших приложений. Компания предупредила разработчиков приложений, что с 1 ноября 2022 года она будет скрывать приложения и блокировать их установку, если у них целевой Android API будет более чем двухлетней давности. Проще говоря, пользователи на старых ОС смогут находить и использовать приложения, а на новых - нет. Объясняют все это заботой о пользователях, как объяснил Google, каждое обновление ОС Android приносит «улучшения конфиденциальности, безопасности и взаимодействия с пользователем». И приложения должны этому соответствовать.
👍26💩10
Шаг Google по очистке Play Store:
Anonymous Poll
67%
Правильный
13%
Неправильный
20%
Я не знаю
Netflix выпускает игры, Amazon выпускает игры, теперь и «Детский мир», ритейлер детских товаров, выступил издателем детской же игры. Ход понятный и, наверное, давно уже напрашивающийся. В синергии своей отличный и для разработчика, и для продавца - тем аудитория, а этим продвижение бренда и товаров. Интересно будет посмотреть в динамике. А если вы делали игру или из ДМ - напишите, сделаем интервью. А ваш продукт кому на издательство можно отдать? 🧐

«Детский мир» выступил издателем детской мобильной игры «Рисовашка»
8 советов, как писать функции, как Senior-разработчик
$37 млн в Серии А: Tinybird — доступ разработчиков к данным в реальном времени
СheckKarlMarx: утилита для поиска уязвимостей в продовых сборках
Разработчик засыпает, просыпается маркетолог: как я приложение продвигал
Руководство по Business-driven UX

iOS

Обзор решений для навигации в iOS
Автоматизируем iOS-сборку c помощью Jenkins
Структурированный параллелизм (structured concurrency) в Swift
iOS-интервью: вопросы и ответы с примерами кода
Введение в WidgetKit
Работа с кастомным xcconfigs и Cocoapods
Xcode: настройка TDD среды
Советы по умной отладке в Xcode
Дорожная карта iOS-разработки — предварительные знания не требуются
Используем Swift Actor для обработки запросов APIs
Логгирование в Swift

Android

Google Play будет скрывать устаревшие приложения
Detekt: статический анализатор кода для Kotlin
Kotlin, как работает suspend под капотом
Изящная обработка сбоев Android-приложения
Советы по Kotlin — сколько времени выполняется ваш код?
Усовершенствованная с учетом жизненного цикла ViewModel для Android
OpenGL ES: рендеринг формы (квадрата) в приложении для Android
MVI с Compose на реальном примере
Как перетаскивать представления в Jetpack Compose
9 полезных операторов Kotlin Flow, которые вам нужно знать
👍5💩31😁1
Дополненная реальность это не только покемоны, но и действительно крайне полезные вещи. Вот, например, Snapchat выпустил новую линзу ASL Alphabet, которая может “читать” язык жестов и призвана побудить пользователей начать его изучать. Новая линза научит пользователей произносить свое имя пальцами и позволит практиковать ASL (American Sign Language) алфавит. Линза также включает игры, в которые пользователи могут играть, чтобы проверить свои знания ASL.

«Мы надеемся, что линзы не только меняют наше видение мира, но и помогают нам чувствовать себя ближе друг к другу», — говорится в сообщении компании в блоге по поводу объявления. «В мире, где преобладает языковое неравенство, дополненная реальность может помочь изменить способ нашего общения. Мы с нетерпением ждем отклика нашего сообщества, поскольку мы стремимся постоянно улучшать опыт всех в Snapchat».

Напомню, что у Snap есть фонд поддержки разработчиков линз для Snapchat. Так что если у вас есть идея - вполне можно ее и монетизировать.
🔥14👍1