Маркетинг и монетизация
Дайджест интересных материалов для мобильного разработчика #318 (17-23 августа)
В этом выпуске переезд Lingualeo на PostgreSQL, главные ошибки свободного ПО, война Epic c Apple, восприятие интерфейсов и золотой век программирования, «часы Уизли», поведение пользователей и многое другое!

Мы попросили нашего лидера бэкэнд разработки, Олега Правдина, рассказать о том, как они с командой параллельно с поддержкой основного продукта собрали новую модульную структуру сервиса на базе PostgreSQL, перенесли бизнес-логику в базы данных и провели миграцию с миллионами пользователей.
«Остановите Total Commander!» или главная проблема свободного ПО
Сегодня мы попробуем разобраться, почему Open Source приложениями никто не хочет пользоваться. Статья получилась довольно длинной, но не пугайтесь, будет интересно.
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в



iOS


- Airport — маркетплейс для приложений в TestFlight
- Как мы загружали банковскую карту из iPhone в брелок
- Знакомимся с Needle, системой внедрения зависимостей на Swift
- Обновление Lightroom удалило все пользовательские фотографии на iOS
- Apple отзывает сертификаты разработчиков у Epic Games и ставит под удар Unreal Engine
- Как подготовиться к iOS 14 и новым правилам конфиденциальности Apple
Анимация View в SwiftUI Как я получил свою первую работу iOS-разработчика Организация вашего Swift-кода в Xcode с помощью локальных пакетов Микровзаимодействия в SwiftUI — анимация кнопок меню Новое в области искусственного интеллекта в iOS 14 Как создать вариант сборки в iOS-приложении 24 расширений Swift для более чистого кода Как настроить большой iOS/tvOS/watchOS проект для большой команды и избежать конфликтов? Время сборки Xcode с BitBar MotionToastView: красивые «тосты» для iOS Countdown: таймер на SwiftUI



Android


- Внедрение IMA SDK в Android-приложениях
- Автотесты на Android. Картина целиком
- Декомпилируем приложение xiaomi сканер и забираем результат сканирования
- История про «боль» и как мы ее исправляем
- Анализ Android-рынка в Китае
Отключение Jetifier Написание эффективных Layouts Google Play In-App Review API: интеграция и опыт работы Более умные приложения с Awareness API Создание лучшего и более чистого RecyclerView.Adapter с Kiel Обнаружение объектов в Android с помощью Firebase ML Kit Activities не то, что вы думаете Android MVVM с Firebase Firestore Кодлабы для новых игровых технологий Android Добавление удивительных переходов в Android-приложение с помощью Material Motion Фрагменты: восстановление внутреннего устройства MovieHunt: правильная архитектура кино для Android InstaGrabber: открытый клиент Instagram



Разработка


- Восприятие интерфейсов пользователями на примере панелей из Lego
- Data-driven подход к разработке контента: как мы создаем роботов в War Robots
- Глоток свободы: как флеш-игры повлияли на игровую индустрию
- Сервис на языке Dart: каркас серверного приложения
- Mind Map в тестировании — или легкий способ тестировать сложные приложения
- Выбор мобильных устройств: пошаговая инструкция для начинающих QA. Часть II
- Хочу в геймдев #11: как попасть в зарубежную геймдев-компанию
- Podlodka #177: криптография
- Золотой век программирования закончился?
- Открыт прием заявок на чемпионат по программированию Yandex Cup
- Обзор рынка мобильной разработки в кризис: что происходит и к чему готовятся агентства?
- 5 принципов качественного UI
- Появление дизайнеров-полубогов. ИИ и машинное обучение
- Аффордансы в дизайне. Дизайн привычных вещей
- Как создать иллюстрации, когда не умеешь рисовать
- Дизайн приложений: примеры для вдохновения #13
- FigmaExport: как автоматизировать экспорт UI-Kit из Figma в Xcode и Android Studio проекты
- Как формируется стоимость разработки мобильного приложения?
Делайте больше, делая меньше React Native против Flutter: решение ожидается в 2020 году 6 месяцев использования GraphQL Разработка Open Source системы иконок в Microsoft Создание чистого приложения «Game of Life» на Flutter с использованием гексагональной архитектуры и TDD Как определять токсичные вакансии разработчиков по их описаниям Захватит ли ИИ UX? Фреймворк быстрых UX-исследований Почему я отказался от Google Firestore (и никогда не вернусь) 4 признака неопытного разработчика



Аналитика, маркетинг и монетизация


- Объединяем закрытый WhatsApp и открытый SIP – Часть 1
- Почему действия Epic вредят игровой индустрии
- Epic запускает чемпионат #FreeFortnite
- iPhone с предустановленным Fortnite продают за $10,000
- Facebook поддержал Epic в борьбе с монополией Apple
- Взлет приложений для здоровья и фитнеса в 2020
- myTarget оценивает влияния наружной рекламы на установки приложений
- Яндекс запустил супер-приложение Go, помогающее решать повседневные задачи в городе
- Likee почти догнал TikTok
- Симуляторы показали самый большой рост в 1 полугодии 2020
- App Annie: как изменилось поведение пользователей в мобайле в первом полугодии 2020
- Что нужно учесть при оптимизации страницы приложения на иностранные языки
- Как мы за 2 месяца бесплатно получили 400 тысяч установок из TikTok



AI, Устройства, IoT


- Проект «часов Уизли» с демонстрацией местоположения членов семьи
- Склеиваем несколько фотографий в одну длинную с помощью машинного обучения
- Спасти рядового датасайнтиста. Как работать над компьютерным зрением, чтобы сделать проект и не потерять себя
- Интернет автомобилей: кому нужны данные о вашей езде
- Рынок умных часов растет
- BlackBerry готовит новый смартфон с клавиатурой
- Университет машинного обучения Amazon открывает свои курсы для всех
- Google AI Vision и Text to Speech на Raspberry Pi
Как создать собственного личного AI-помощника с помощью Python AI учится играть в Super Mario Bros!


-
Разработка1 месяц назад
10 уроков успеха от стартапов, созданных одним человеком
-
Аналитика промо-кампаний1 месяц назад
Click, Download, Play! Как использовать геймплей в создании перформящих креативов: часть первая
-
Магазины приложений4 недели назад
Google вводит новые правила проверки приложений в Play
-
Интервью1 месяц назад
Как устроены собеседования в SberDevices — Максим Сидоров