В новом выпуске мы рассказываем про серверные анимации, «плохой» Google, ускорение изображений и инструменты локализации, феерическое приложение для знакомств для холодильника и культуру роста в компаниях. Подключайтесь!



Анимации в iOS-приложениях, рождённые на сервере

iOS-инженеры наверняка догадались, о каких объёмах работы идёт речь: чтобы удалять старые и добавлять новые анимации, необходимо совершить множество действий с клиентской стороны. Для этого в каждом релизе должны быть задействованы Android- и iOS-команды, а вкупе со временем, необходимым на одобрение обновления в App Store, это означает, что запуск каждого релиза с обновлёнными анимациями может занять несколько дней. Однако нам удалось решить эту проблему, и сейчас я расскажу как.

Окей, Google! Ты добро или зло?

Вот и случилось так, что компания добра, которую я так любил и восхищался, причинила мне столько зла. Но обо всём по порядку.

Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в Telegram-канале.

iOS

• (+11) Ускорение компиляции в Xcode на Swift
• (+11) Статические Generic таблицы
Fortnite заработал $500 млн на iOS
Нашли новые приложения для iPhone, которые записывают действия пользователей + Apple попросила убрать код аналитики или объяснить его пользователям
Пионер AR/VR Бар-Зеев покинул Apple
Классификация активности для watchOS
Добавляем pinch to zoom к изображению на Swift
Лучшие практики и инструменты для iOS-проектов
Swift Style Guide от Airbnb в Open Source
Сильно типизированные Notifications в Swift
Вещи, которые лучше бы знать начинающему Swift-разработчику
Swinject на практике

Android

• (+24) Play Store теперь принимает прогрессивные веб-приложения (PWA)
• (+13) Создание вашего первого ARCore-приложения
• (+13) Причины возникновения ANR и как этого избежать
• (+13) Опыт создания игры для Android в одиночку с нуля и как ее зафичерили на Google Play
• (+10) Как я ускорил обработку изображений на Android в 15 раз
Google выпустил два приложения для помощи слабо слышащим
Из Android в iOS разработку в 2018
Одна удивительно реальная причина использовать старый Animation (API 1+)
Используем lazy в Kotlin для биндинга View в Android
Шпаргалка по кортуинам в Kotlin
Состояние Navigation Drawer
Создание отзывчивого и растягиваемого Android UI для ChromeOS
OkHttp 3.13 требует Android 5+
Room + корутины

Разработка

• (+104) Как мы распределяем заказы между водителями в Яндекс.Такси
• (+43) Как я помогал Алисе не откликаться на другие имена. Стажировка в Яндексе
• (+33) Редактор в UX: тру стори, риал лайф
• (+5) Интеграция React Native и C++ для iOS и Android
• (+4) Что нужно для разработки игр программисту и кем реально является разработчик игр со стороны программиста
Лучшие инструменты для локализации мобильных приложений
Podlodka #96: Пакетные менеджеры
Podlodka #97: Системы типов
Samsung сделал приложение для знакомств для холодильника
Amazon открыл Baby Skill Activity API для Alexa
Google Cloud Firestore вышел из беты
“Поваренные книги” от O’Reilly в Humble Book Bundle
Microsoft выпустит кроссплатформенный SDK для Xbox Live
Состояние разработки приложений 2018
Чистый код в реальной жизни
Почему UX важен для предприятий
Test-Driven Development совсем не про тестирование
Дизайн приложения для локального шопинга: исследование UX
Дизайн приложения для фермерской еды: исследование UX/UI
Сообщения в приложении и пуш-уведомления: в чем разница и как их использовать
Как просто настроить Continuous Deployment в домашнем проекте
10 признаков того, что ты плохой программист
Как сделать приложение для йоги

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

Как формируется культура роста в компании
Sencrop: сельскохозяйственные станции
CloudKitchens: облачные кухни для доставки еды
Самые зарабатывающие приложения для диет в США
Женщины предпочитают мобильные игры, но игр для них немного
Российский гейминг рос в два раза быстрее мирового в 2018
Приложение для медитаций Calm стало единорогом
Курс “Оптимизация конверсии: выиграть на мобильных” от Google
Эволюция механик удержания
Чтобы пользователь не закрыл приложение ещё при загрузке: правила создания начального экрана
Как измерить product/market fit с помощью метрик
Интересные данные о рынке приложений на 2019 год
Руководство по мобильным KPI
Идеальный шторм Draw Something: 50 миллионов установок за 50 дней
10 заповедей хорошего продукта
Сколько стоит разработать образовательное приложение
Appsee разыгрывает билеты на мобильные конференции
Реферальный маркетинг для мобильных игр

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

• (+202) Морти, мы в UltraHD! Как посмотреть любой фильм в 4K, дорисовав его через малоизвестную нейросеть
• (+84) Открытый курс «Deep Learning на пальцах»
• (+59) Удешевление мелких серий электроники в России. Кейс интернет-радиоприемника WOLNA
• (+28) Много иероглифов – много нейросетей: как построить эффективную систему распознавания для большого числа классов?
• (+13) Как программист датасаентистам кернелы писал
4 техники машинного обучения на Python

< Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.