В этом выпуске переезд Lingualeo на PostgreSQL, главные ошибки
свободного ПО, война Epic c Apple, восприятие интерфейсов и золотой
век программирования, часы Уизли, поведение пользователей и многое
другое!
Мы попросили нашего лидера бэкэнд разработки, Олега Правдина,
рассказать о том, как они с командой параллельно с поддержкой
основного продукта собрали новую модульную структуру сервиса на
базе PostgreSQL, перенесли бизнес-логику в базы данных и провели
миграцию с миллионами пользователей.
Сегодня мы попробуем разобраться, почему Open Source приложениями
никто не хочет пользоваться. Статья получилась довольно длинной, но
не пугайтесь, будет интересно.
Этот дайджест доступен в виде еженедельной
рассылки. А ежедневно новости мы рассылаем в
Telegram-канале.
iOS
(+29) Airport маркетплейс для
приложений в TestFlight
(+23) Как мы загружали банковскую
карту из iPhone в брелок
(+14) Знакомимся с 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
(+16) Внедрение IMA SDK в
Android-приложениях
(+11) Автотесты на Android. Картина
целиком
(+11) Декомпилируем приложение xiaomi
сканер и забираем результат сканирования
(+1) История про боль и как мы ее
исправляем
Анализ 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
Разработка
(+29) Восприятие интерфейсов
пользователями на примере панелей из Lego
(+21) Data-driven подход к разработке
контента: как мы создаем роботов в War Robots
(+14) Глоток свободы: как флеш-игры
повлияли на игровую индустрию
(+7) Сервис на языке Dart: каркас
серверного приложения
(+6) Mind Map в тестировании или
легкий способ тестировать сложные приложения
(+1) Выбор мобильных устройств:
пошаговая инструкция для начинающих 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
признака неопытного разработчика
Аналитика, маркетинг и монетизация
(+7) Объединяем закрытый 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
(+110) Проект часов Уизли с
демонстрацией местоположения членов семьи
(+45) Склеиваем несколько фотографий
в одну длинную с помощью машинного обучения
(+13) Спасти рядового датасайнтиста.
Как работать над компьютерным зрением, чтобы сделать проект и не
потерять себя
(+4) Интернет автомобилей: кому нужны
данные о вашей езде
Рынок умных часов растет
BlackBerry готовит новый смартфон с клавиатурой
Университет машинного обучения Amazon открывает свои курсы для
всех
Google AI Vision и Text to Speech на Raspberry Pi
Как
создать собственного личного AI-помощника с помощью Python
AI
учится играть в Super Mario Bros!
Предыдущий дайджест. Если у вас есть другие интересные
материалы или вы нашли ошибку пришлите, пожалуйста, в почту.