В этом дайджесте магазины приложений, борющиеся с коронавирусом, Dynamic Delivery и Create ML, мобильные интерфейсы и онбординг, мультиплатформенный Kotlin и дизайнерский Flutter.
Зимой 2012-го коллега предложил мне, С++ программисту с пятилетним стажем, написать первое приложение под Android. Ещё через год я начал руководить небольшой командой мобильных разработчиков, и с тех пор размеры моих команд стабильно росли. Но в прошлом году, после 2 лет руководства отделом мобильной разработки, я снова сдул пыль с любимой IDE.
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в Telegram-канале.
iOS
• (+15) Create ML в iOS
• (+9) Особенности сборки и доставки iOS-приложений
• (+4) Современный код для выполнения HTTP запросов в Swift 5 с помощью Combine и применение их в SwiftUI. Часть 2. Hacker News
• Apple отказывает приложениям о коронавирусе
• Apple обновила гайдлайны: iOS 13, гадания, реклама в пушах
• Кастомные переходы UIViewController в Swift
• Создание интерактивного графика для iOS
• Как создать новый проект в Xcode без сториборда
• Жесты в SwiftUI
• Пришло время iOS-разработчикам использовать FAB
• Что нового в Xcode 11.4?
• Кастомизация переключателей в SwiftUI
• Как управлять Toolchains в Xcode
• Простые методы создания анимации в Swift
• Экспорт SwiftUI кода из Figma
• ObjectForm: декларативные формы
• FrameGrabber: скриншоты из видео
Android
• (+15) Dynamic Delivery в многомодульных проектах (часть 2) и (часть 1)
• (+11) Материалы с нижегородского Android-митапа. MotionLayout, Kotlin Coroutines, CI/CD инфраструктура и дизайн-системы
• Huawei заманивает разработчиков в AppGallery «нулевым налогом»
• Google Play «избавился» от коронавируса
• Конференцию I/O 2020 отменили
• Надежное отображение клавиатуры в Android
• Все, что вы хотите знать об Android Jetpack Navigation Component
• Как реализовать скелеты и мерцающие эффекты в Android
• Декларативный список в Android с RecyclerView + ViewBinding
• 30 лучших Android-библиотек и проектов 2019 года
• Подумайте, прежде чем использовать BuildConfig.DEBUG
• Как использовать Git в Android Studio
• Лучшие функции Android Studio 4.0 Beta
• Android RecyclerView с Data Binding и Корутинами
• Simple App Launcher: избранные приложения для Android
• Anti-Mine: «Сапер» для Android
• Compound Text View: gravity для compound drawables у TextView
Разработка
• (+30) Мотор! или Что такое игровая физика
• (+22) Валидация ассетов в Unity3D
• (+13) Современные стандарты идентификации: OAuth 2.0, OpenID Connect, WebAuthn
• (+9) Проблемы взаимодействия с внешними командами на больших проектах
• (+4) Unity ball trajectory 2d для новичков
• (+3) Создание roguelike в Unity с нуля
• Podlodka #153: В IT с малых лет
• Radio QA #56: Синдром самозванца
• Flutter Dev Podcast #13: Flutter глазами дизайнера
• Android Broadcast #8: Kotlin Mobile MultiPlatform
• 10 подсказок для создания лучшего интерфейса
• Мобильные модальные окна: 8 лучших примеров использования
• Google Summer of Code начинает прием заявок
• Sourcegraph привлек $23 млн. на поиск в коде
• Facebook переписал Messenger и уменьшил количество строк кода с 1.7 млн до 360,000
• Курс для технических писателей от Google
• Дизайн-концепт: приложение для формирования здоровых привычек с детства
• ATEC — приложение для проверки признаков аутизма
• Как я создал часы из частиц и выиграл конкурс #FlutterClock
• Сетевой код для игровых разработчиков
• UX 101: нормандские двери
• Kotlin против Flutter: кто будет править рынком кроссплатформенных приложений?
• 8 потрясающих тем для Visual Studio Code
• Различия между хорошими и великими программистами
• Спасите свое следующее приложение от переписывания с нуля
• Кризис среднего возраста каждого разработчика
• Создание приложения для ведения заметок с помощью Flutter и Firebase
• Когда дело доходит до дизайна, ваши глаза намного лучше математики
• 100 советов игровым разработчикам
• Воксельный рендеринг поверхности
• NymphCast: открытый аналог ChromeCast и AirPlay
Аналитика, маркетинг и монетизация
• make sense: Как улучшить онбординг, чтобы мотивировать использовать ваш продукт с Евгением Казначеевым
• Сколько стоит сделать приложение в США
• Мобильные игры выиграли от коронавируса
• Эксперименты с ценой увеличили мой доход на 500%
• Аналитика подписок: 5 сервисов
• Доходы астрологических приложений выросли на 65% за год
AI, Устройства, IoT
• (+46) Еще раз о передатчиках и приемниках 433 МГц
• (+26) Hardware-тестирование в СИБУРе
• (+17) Управление Tion S3 и его подключение к умному дому
• В Японии вышел смартфон, который не делает фотографии голых людей
< Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
Зимой 2012-го коллега предложил мне, С++ программисту с пятилетним стажем, написать первое приложение под Android. Ещё через год я начал руководить небольшой командой мобильных разработчиков, и с тех пор размеры моих команд стабильно росли. Но в прошлом году, после 2 лет руководства отделом мобильной разработки, я снова сдул пыль с любимой IDE.
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в Telegram-канале.
iOS
• (+15) Create ML в iOS
• (+9) Особенности сборки и доставки iOS-приложений
• (+4) Современный код для выполнения HTTP запросов в Swift 5 с помощью Combine и применение их в SwiftUI. Часть 2. Hacker News
• Apple отказывает приложениям о коронавирусе
• Apple обновила гайдлайны: iOS 13, гадания, реклама в пушах
• Кастомные переходы UIViewController в Swift
• Создание интерактивного графика для iOS
• Как создать новый проект в Xcode без сториборда
• Жесты в SwiftUI
• Пришло время iOS-разработчикам использовать FAB
• Что нового в Xcode 11.4?
• Кастомизация переключателей в SwiftUI
• Как управлять Toolchains в Xcode
• Простые методы создания анимации в Swift
• Экспорт SwiftUI кода из Figma
• ObjectForm: декларативные формы
• FrameGrabber: скриншоты из видео
Android
• (+15) Dynamic Delivery в многомодульных проектах (часть 2) и (часть 1)
• (+11) Материалы с нижегородского Android-митапа. MotionLayout, Kotlin Coroutines, CI/CD инфраструктура и дизайн-системы
• Huawei заманивает разработчиков в AppGallery «нулевым налогом»
• Google Play «избавился» от коронавируса
• Конференцию I/O 2020 отменили
• Надежное отображение клавиатуры в Android
• Все, что вы хотите знать об Android Jetpack Navigation Component
• Как реализовать скелеты и мерцающие эффекты в Android
• Декларативный список в Android с RecyclerView + ViewBinding
• 30 лучших Android-библиотек и проектов 2019 года
• Подумайте, прежде чем использовать BuildConfig.DEBUG
• Как использовать Git в Android Studio
• Лучшие функции Android Studio 4.0 Beta
• Android RecyclerView с Data Binding и Корутинами
• Simple App Launcher: избранные приложения для Android
• Anti-Mine: «Сапер» для Android
• Compound Text View: gravity для compound drawables у TextView
Разработка
• (+30) Мотор! или Что такое игровая физика
• (+22) Валидация ассетов в Unity3D
• (+13) Современные стандарты идентификации: OAuth 2.0, OpenID Connect, WebAuthn
• (+9) Проблемы взаимодействия с внешними командами на больших проектах
• (+4) Unity ball trajectory 2d для новичков
• (+3) Создание roguelike в Unity с нуля
• Podlodka #153: В IT с малых лет
• Radio QA #56: Синдром самозванца
• Flutter Dev Podcast #13: Flutter глазами дизайнера
• Android Broadcast #8: Kotlin Mobile MultiPlatform
• 10 подсказок для создания лучшего интерфейса
• Мобильные модальные окна: 8 лучших примеров использования
• Google Summer of Code начинает прием заявок
• Sourcegraph привлек $23 млн. на поиск в коде
• Facebook переписал Messenger и уменьшил количество строк кода с 1.7 млн до 360,000
• Курс для технических писателей от Google
• Дизайн-концепт: приложение для формирования здоровых привычек с детства
• ATEC — приложение для проверки признаков аутизма
• Как я создал часы из частиц и выиграл конкурс #FlutterClock
• Сетевой код для игровых разработчиков
• UX 101: нормандские двери
• Kotlin против Flutter: кто будет править рынком кроссплатформенных приложений?
• 8 потрясающих тем для Visual Studio Code
• Различия между хорошими и великими программистами
• Спасите свое следующее приложение от переписывания с нуля
• Кризис среднего возраста каждого разработчика
• Создание приложения для ведения заметок с помощью Flutter и Firebase
• Когда дело доходит до дизайна, ваши глаза намного лучше математики
• 100 советов игровым разработчикам
• Воксельный рендеринг поверхности
• NymphCast: открытый аналог ChromeCast и AirPlay
Аналитика, маркетинг и монетизация
• make sense: Как улучшить онбординг, чтобы мотивировать использовать ваш продукт с Евгением Казначеевым
• Сколько стоит сделать приложение в США
• Мобильные игры выиграли от коронавируса
• Эксперименты с ценой увеличили мой доход на 500%
• Аналитика подписок: 5 сервисов
• Доходы астрологических приложений выросли на 65% за год
AI, Устройства, IoT
• (+46) Еще раз о передатчиках и приемниках 433 МГц
• (+26) Hardware-тестирование в СИБУРе
• (+17) Управление Tion S3 и его подключение к умному дому
• В Японии вышел смартфон, который не делает фотографии голых людей
< Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.