Маркетинг и монетизация
Дайджест интересных материалов для мобильного разработчика #318 (17-23 августа)
В этом выпуске переезд Lingualeo на PostgreSQL, главные ошибки свободного ПО, война Epic c Apple, восприятие интерфейсов и золотой век программирования, «часы Уизли», поведение пользователей и многое другое!
Мы попросили нашего лидера бэкэнд разработки, Олега Правдина, рассказать о том, как они с командой параллельно с поддержкой основного продукта собрали новую модульную структуру сервиса на базе PostgreSQL, перенесли бизнес-логику в базы данных и провели миграцию с миллионами пользователей.
«Остановите Total Commander!» или главная проблема свободного ПО
Сегодня мы попробуем разобраться, почему Open Source приложениями никто не хочет пользоваться. Статья получилась довольно длинной, но не пугайтесь, будет интересно.
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в Telegram-канале.
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 месяц назад
Разработка, управляемая тестами (TDD), для исправления ошибок
-
Исследования1 месяц назад
Приложения с подпиской 2024 — отчет RevenueCat
-
Статьи1 месяц назад
Как Google испортил свою открытую культуру и скомпрометировал свой продукт
-
Разработка1 месяц назад
Осваиваем ViewModel в Android: «можно» и «нельзя» — Часть 1