Уходим на длинные выходные с новой подборкой интересных статей и новостей. В ней библиотеки и борьба с Apple, карточки ВКонтакте и качество кода, Flutter и Kotlin, умение заканчивать проекты, понимать путь клиента и многое другое!
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в Telegram-канале.
iOS
• Переход вашего приложения на модули пакетов Swift
• Мечтал стать сценаристом, а стал программистом
• В App Store появились поисковые подсказки
• 10 SwiftUI-библиотек 2021
• Начато производство Apple M2
• Apple выпускает обновление iOS 14.5
• Немецкие компании подают антимонопольный иск против Apple, касающийся iOS 14.5
• ФАС оштрафовала Apple на $12 млн по иску «Лаборатории Касперского»
• Начинаем работу с Combine (практические примеры фреймворка Combine в UIKit и SwiftUI)
• Руководство по многопоточности — Grand Central Dispatch
• Градиент в Swift за 4 строчки кода
• SwiftUI в продакшене
• Что такое Замыкания и как они работают в Swift? (Пошаговое руководство)
• Кастомные переходы View Controller-ов в Swift
• Введение в работу с Codable в Swift
• Swift: как написать полный логер
• Скелетный проект для масштабируемой разработки под iOS
• SwiftUI: как создать ячейку со свайпом
• Кастомный Top Tab
• Простая валидация форм с RxSwift
• Начинаем работу с Firebase Realtime DB на WatchOS
• GLWalkthrough: онбординг с подсветкой
Android
• Как реализован экран с карточками заявок в друзья и рекомендациями в приложении ВКонтакте
• Как мы интегрировали Huawei Mobile Services в два этапа
• Google Play усиливает борьбу с мислидами
• Улучшаем работу Layout Preview в Android Studio
• Как повысить качество кода
• Android Studio начала поддерживать M1
• Опубликовано расписание I/O 2021
• Google Play будет собирать данные об использовании приложений для ускорения запуска
• Курс “Kotlin для начинающих”
• Кастомная форма с помощью Jetpack Compose
• Уроки, извлеченные при переносе моего приложения на Jetpack Compose
• Автомиграция Room
• Тест на Android Studio – бенчмарк компьютеров
• Не запускайте бенчмарки в отлаживаемом Android-приложении
• Один AlertDialog, чтобы править ими всеми
• Jetpack Compose: простой способ сделать RecyclerView
• Динамическая доставка с помощью Jetpack Compose
• Эволюция Quality Assurance для приложений в Azimo
• Красивый сплеш скрин для Android с анимацией
• Пример WebRTC в Kotlin
• Как обрабатывать изменения конфигурации в Android
• Android RecyclerView Swipe Gestures: жесты в RecyclerView
• Android ScreenshotDetection: определение скриншотов
• Linkester: тестирование глубоких ссылок в приложении
Разработка
• Еще пять инструментов против читеров на мобильном проекте с DAU 1 млн пользователей
• Моя история реализации офлайн приложения Хабра
• Этический антидизайн: как разработать продукт, не вызывающий привыкания
• История разработки SDK для приема платежей в мобильном приложении на Flutter
• Немного о графиках, сплайнах и генерации ландшафта
• Тестирование push-уведомлений в мобильных приложениях
• Решение задач позиционирования при просмотре карты во Flutter
• Нестабильные(Flaky) тесты — одна из основных проблем автоматизированного тестирования
• Углубленный анализ тестирования виджетов во Flutter. Часть I: testWidgets() и TestVariant
• Начинающему QA: полезные функции снифферов на примере Charles Proxy
• Podlodka #213: инвестиции в стартапы
• Microsoft Build 2021 пройдет с 25 по 27 мая
• Как заканчивать игры (и другие проекты)
• Книга “Создание мобильных приложений в масштабе: 39 инженерных задач”
• Дизайн приложений: примеры для вдохновения #41
• Хороший дизайн – это наука, а не искусство
• Кейс: как Surf и Росбанк сделали первое в России банковское приложение на Flutter
• Как нобелевский лауреат помог нам с дизайном приложения для I Love Supersport
• 5 лучших инструментов для создания приложений без кода
• Как великие продуктовые менеджеры принимают правильные решения: подход Привычный
• Как безопасно выкладывать в open source внутреннее ПО: лучшие практики
• 5 преимуществ парного программирования и как делать это удаленно с помощью VS Code
• Как ежегодно экономить 135,000 евро с Google Analytics 4 + BigQuery
• Локальные уведомления во Flutter
• 10 забавных расширений VS Code, которые помогут программировать
• Лучшие практики для дизайна модальных окон
• Хотите стать лучшим UX-дизайнером в 2021? Делайте для эмоций
• Лучшие практики: дизайн автозаполнения
• Почему хорошие инженеры не начинают собственный бизнес
• Интервью у senior-инженера в Facebook: единственная статья, которую вам нужно прочитать
• Метрики качества кода
Аналитика, маркетинг и монетизация
• Понимаем путь клиента по приложению с помощью событий Firebase и BigQuery
• Mobvista покупает Reyun
• Маркетологи в мобайле: Роман Хуртов (Parimatch Russia)
• Neverland помогает с работой по саду
• Oath Care: форум для мам по подписке
AI, Устройства, IoT
• S в аббревиатуре IoT означает «Security», или Как я лампу хакнул
• Йога глазами дата-сайентиста: как мы строили computer vision в мобильном приложении
• О чем спорят строители Умных Домов, Бань, Дач и Гаражей
• Amazon выкладывает софт DeepRacer в open source
• 10 лучших проектов в области науки о данных для начинающих
< Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в Telegram-канале.
iOS
• Переход вашего приложения на модули пакетов Swift
• Мечтал стать сценаристом, а стал программистом
• В App Store появились поисковые подсказки
• 10 SwiftUI-библиотек 2021
• Начато производство Apple M2
• Apple выпускает обновление iOS 14.5
• Немецкие компании подают антимонопольный иск против Apple, касающийся iOS 14.5
• ФАС оштрафовала Apple на $12 млн по иску «Лаборатории Касперского»
• Начинаем работу с Combine (практические примеры фреймворка Combine в UIKit и SwiftUI)
• Руководство по многопоточности — Grand Central Dispatch
• Градиент в Swift за 4 строчки кода
• SwiftUI в продакшене
• Что такое Замыкания и как они работают в Swift? (Пошаговое руководство)
• Кастомные переходы View Controller-ов в Swift
• Введение в работу с Codable в Swift
• Swift: как написать полный логер
• Скелетный проект для масштабируемой разработки под iOS
• SwiftUI: как создать ячейку со свайпом
• Кастомный Top Tab
• Простая валидация форм с RxSwift
• Начинаем работу с Firebase Realtime DB на WatchOS
• GLWalkthrough: онбординг с подсветкой
Android
• Как реализован экран с карточками заявок в друзья и рекомендациями в приложении ВКонтакте
• Как мы интегрировали Huawei Mobile Services в два этапа
• Google Play усиливает борьбу с мислидами
• Улучшаем работу Layout Preview в Android Studio
• Как повысить качество кода
• Android Studio начала поддерживать M1
• Опубликовано расписание I/O 2021
• Google Play будет собирать данные об использовании приложений для ускорения запуска
• Курс “Kotlin для начинающих”
• Кастомная форма с помощью Jetpack Compose
• Уроки, извлеченные при переносе моего приложения на Jetpack Compose
• Автомиграция Room
• Тест на Android Studio – бенчмарк компьютеров
• Не запускайте бенчмарки в отлаживаемом Android-приложении
• Один AlertDialog, чтобы править ими всеми
• Jetpack Compose: простой способ сделать RecyclerView
• Динамическая доставка с помощью Jetpack Compose
• Эволюция Quality Assurance для приложений в Azimo
• Красивый сплеш скрин для Android с анимацией
• Пример WebRTC в Kotlin
• Как обрабатывать изменения конфигурации в Android
• Android RecyclerView Swipe Gestures: жесты в RecyclerView
• Android ScreenshotDetection: определение скриншотов
• Linkester: тестирование глубоких ссылок в приложении
Разработка
• Еще пять инструментов против читеров на мобильном проекте с DAU 1 млн пользователей
• Моя история реализации офлайн приложения Хабра
• Этический антидизайн: как разработать продукт, не вызывающий привыкания
• История разработки SDK для приема платежей в мобильном приложении на Flutter
• Немного о графиках, сплайнах и генерации ландшафта
• Тестирование push-уведомлений в мобильных приложениях
• Решение задач позиционирования при просмотре карты во Flutter
• Нестабильные(Flaky) тесты — одна из основных проблем автоматизированного тестирования
• Углубленный анализ тестирования виджетов во Flutter. Часть I: testWidgets() и TestVariant
• Начинающему QA: полезные функции снифферов на примере Charles Proxy
• Podlodka #213: инвестиции в стартапы
• Microsoft Build 2021 пройдет с 25 по 27 мая
• Как заканчивать игры (и другие проекты)
• Книга “Создание мобильных приложений в масштабе: 39 инженерных задач”
• Дизайн приложений: примеры для вдохновения #41
• Хороший дизайн – это наука, а не искусство
• Кейс: как Surf и Росбанк сделали первое в России банковское приложение на Flutter
• Как нобелевский лауреат помог нам с дизайном приложения для I Love Supersport
• 5 лучших инструментов для создания приложений без кода
• Как великие продуктовые менеджеры принимают правильные решения: подход Привычный
• Как безопасно выкладывать в open source внутреннее ПО: лучшие практики
• 5 преимуществ парного программирования и как делать это удаленно с помощью VS Code
• Как ежегодно экономить 135,000 евро с Google Analytics 4 + BigQuery
• Локальные уведомления во Flutter
• 10 забавных расширений VS Code, которые помогут программировать
• Лучшие практики для дизайна модальных окон
• Хотите стать лучшим UX-дизайнером в 2021? Делайте для эмоций
• Лучшие практики: дизайн автозаполнения
• Почему хорошие инженеры не начинают собственный бизнес
• Интервью у senior-инженера в Facebook: единственная статья, которую вам нужно прочитать
• Метрики качества кода
Аналитика, маркетинг и монетизация
• Понимаем путь клиента по приложению с помощью событий Firebase и BigQuery
• Mobvista покупает Reyun
• Маркетологи в мобайле: Роман Хуртов (Parimatch Russia)
• Neverland помогает с работой по саду
• Oath Care: форум для мам по подписке
AI, Устройства, IoT
• S в аббревиатуре IoT означает «Security», или Как я лампу хакнул
• Йога глазами дата-сайентиста: как мы строили computer vision в мобильном приложении
• О чем спорят строители Умных Домов, Бань, Дач и Гаражей
• Amazon выкладывает софт DeepRacer в open source
• 10 лучших проектов в области науки о данных для начинающих
< Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.