У Apple вышла iOS 14.5 с новыми правилами, а я вам тем временем покушать подумать принес. Еще одна интересная ниша проявилась с запуском нового стартапа. Подобие Neverland, в общем-то я уже, по-моему, где то видел, а вот цифры, что садоводство и растениеводство это рынок объемом 52 миллиарда долларов, еще нет. Так что если откусить от них хоть малую долю своим приложением, то вполне видимо удастся и в единороги выйти. Чего Neverland и желаем.
Разработка
• Neverland помогает с работой по саду
• Маркетологи в мобайле: Роман Хуртов (Parimatch Russia)
• Oath Care: форум для мам по подписке
• Книга “Создание мобильных приложений в масштабе: 39 инженерных задач”
• Лучшие клавиатуры для программирования 2021
• Epic Games Store увеличивает количество приложений
• Nhost делает открытую альтернативу Firebase
• EA готовит мобильный Battlefield
• Podlodka #212: профессия: Solution Architect
• Немного о графиках, сплайнах и генерации ландшафта
• Как заканчивать свои игры
• 5 лучших инструментов для создания приложений без кода
• Я проверил более 750 пул-реквестов в Amazon. Вот мой точный процесс.
• 10 лучших проектов в области науки о данных для начинающих
• Совет Junior-разработчику
• Как великие продуктовые менеджеры принимают правильные решения: подход Привычный
iOS
• Apple выпускает обновление iOS 14.5
• MJMaterialSwitch: материальный переключатель для iOS
• Начинаем работу с Combine (практические примеры фреймворка Combine в UIKit и SwiftUI)
• Руководство по многопоточности - Grand Central Dispatch
• Градиент в Swift за 4 строчки кода
• SwiftUI в продакшене
Android
• Google Play будет собирать данные об использовании приложений для ускорения запуска
• Курс “Kotlin для начинающих”
• Как реализован экран с карточками заявок в друзья и рекомендациями в приложении ВКонтакте
• Кастомная форма с помощью Jetpack Compose
• Уроки, извлеченные при переносе моего приложения на Jetpack Compose
• Автомиграция Room
Разработка
• Neverland помогает с работой по саду
• Маркетологи в мобайле: Роман Хуртов (Parimatch Russia)
• Oath Care: форум для мам по подписке
• Книга “Создание мобильных приложений в масштабе: 39 инженерных задач”
• Лучшие клавиатуры для программирования 2021
• Epic Games Store увеличивает количество приложений
• Nhost делает открытую альтернативу Firebase
• EA готовит мобильный Battlefield
• Podlodka #212: профессия: Solution Architect
• Немного о графиках, сплайнах и генерации ландшафта
• Как заканчивать свои игры
• 5 лучших инструментов для создания приложений без кода
• Я проверил более 750 пул-реквестов в Amazon. Вот мой точный процесс.
• 10 лучших проектов в области науки о данных для начинающих
• Совет Junior-разработчику
• Как великие продуктовые менеджеры принимают правильные решения: подход Привычный
iOS
• Apple выпускает обновление iOS 14.5
• MJMaterialSwitch: материальный переключатель для iOS
• Начинаем работу с Combine (практические примеры фреймворка Combine в UIKit и SwiftUI)
• Руководство по многопоточности - Grand Central Dispatch
• Градиент в Swift за 4 строчки кода
• SwiftUI в продакшене
Android
• Google Play будет собирать данные об использовании приложений для ускорения запуска
• Курс “Kotlin для начинающих”
• Как реализован экран с карточками заявок в друзья и рекомендациями в приложении ВКонтакте
• Кастомная форма с помощью Jetpack Compose
• Уроки, извлеченные при переносе моего приложения на Jetpack Compose
• Автомиграция Room
AppTractor
Neverland помогает с работой по саду
Neverland подсказывает пользователям, как оптимизировать свои сады и садоводческую деятельность в зависимости от их географического положения и того, какие растения хотели бы выращивать клиенты.
#ЦифраДня: ФАС только что наложила на Apple штраф более 12 миллионов долларов за нарушение антимонопольного законодательства в отношении «Лаборатории Касперского». Было установлено, что Apple злоупотребила доминирующим положением на рынке распространения приложений для iOS, предоставив собственным продуктам преимущества и ухудшив условия распространения конкурентов – приложений "родительского контроля".
Apple выдали предписание об устранении нарушения - она должна удалить из документации положения, дающие ей право отклонять приложения по любой причине, даже если они соответствуют всем требованиям. Предписание также обязывает Apple не допускать преимущественных условий для собственных приложений по сравнению с приложениями сторонних компаний и обеспечить для разработчиков приложений "родительского контроля" возможность распространения приложений в App Store без потери важного функционала.
Apple выдали предписание об устранении нарушения - она должна удалить из документации положения, дающие ей право отклонять приложения по любой причине, даже если они соответствуют всем требованиям. Предписание также обязывает Apple не допускать преимущественных условий для собственных приложений по сравнению с приложениями сторонних компаний и обеспечить для разработчиков приложений "родительского контроля" возможность распространения приложений в App Store без потери важного функционала.
Вчера Apple начала развертывание iOS 14.5 с новыми правилами конфиденциальности. Спецы из AppMetrica подготовили для аналитиков несколько рекомендаций, как подготовиться к новым реалиям:
📍Поработайте с окном запроса на трекинг, чтобы повысить шансы на полноценную атрибуцию. Доступно опишите, зачем это пользователю
📍Уточните, как ваш рекламный партнёр работает с кампаниями на iOS 14.5 и поддерживает ли атрибуцию через SKAdNetwork. От этого зависит, какую статистику вы сможете получить.
📍Обратите внимание на Apple Search Ads - атрибуция для этого канала работает “в полную силу”. Актуальная версия AppMetrica iOS SDK 3.15.1 уже поддерживает все методы ASA.
📍Продолжайте использовать трекинговые ссылки AppMetrica в рекламных размещениях, чтобы полноценно атрибутировать установки от пользователей, которые дали доступ к IDFA. Кстати, для анализа аудитории внутри приложения AppMetrica использует разрешённый Apple идентификатор IDFV, поэтому вся продуктовая статистика останется на месте.
📍Используйте альтернативные каналы коммуникации для ретаргетинга на пользователей приложения, например, пуши.
Более подробно о работе с iOS 14.5 читайте в блоге AppMetrica: https://appmetrica.yandex.ru/blog/ios-14-guide
📍Поработайте с окном запроса на трекинг, чтобы повысить шансы на полноценную атрибуцию. Доступно опишите, зачем это пользователю
📍Уточните, как ваш рекламный партнёр работает с кампаниями на iOS 14.5 и поддерживает ли атрибуцию через SKAdNetwork. От этого зависит, какую статистику вы сможете получить.
📍Обратите внимание на Apple Search Ads - атрибуция для этого канала работает “в полную силу”. Актуальная версия AppMetrica iOS SDK 3.15.1 уже поддерживает все методы ASA.
📍Продолжайте использовать трекинговые ссылки AppMetrica в рекламных размещениях, чтобы полноценно атрибутировать установки от пользователей, которые дали доступ к IDFA. Кстати, для анализа аудитории внутри приложения AppMetrica использует разрешённый Apple идентификатор IDFV, поэтому вся продуктовая статистика останется на месте.
📍Используйте альтернативные каналы коммуникации для ретаргетинга на пользователей приложения, например, пуши.
Более подробно о работе с iOS 14.5 читайте в блоге AppMetrica: https://appmetrica.yandex.ru/blog/ios-14-guide
Блог Яндекса
Без паники: как подготовить приложение к iOS 14.5
Выход iOS 14.5 меняет привычный подход к продвижению и аналитике мобильных приложений. В этом посте доступно разберём, как именно новые правила Apple повлияют на рынок и как перестроиться на новые процессы с минимальными потерями.
Всем, кто не заканчивает свои пет (и не очень) проекты - интересная статья с рекомендациями. Относится она, конечно, не только к играм, а, скорее, к любым инди-проектам в разработке. Подходить к ней стоит с идеей, что “заканчивать проекты” - это тоже очень важный навык. И нужно тренировать его, понимать, что и как вам в его развитии мешает.
Разработка
• Как заканчивать игры (и другие проекты)
• Создание Age of Empires II (1999)
• Еще пять инструментов против читеров на мобильном проекте с DAU 1 млн пользователей
• История разработки SDK для приема платежей в мобильном приложении на Flutter
• Моя история реализации офлайн приложения Хабра
• Хороший дизайн – это наука, а не искусство
• Кейс: как Surf и Росбанк сделали первое в России банковское приложение на Flutter
• Как безопасно выкладывать в open source внутреннее ПО: лучшие практики
• 5 преимуществ парного программирования и как делать это удаленно с помощью VS Code
• Как ежегодно экономить 135,000 евро с Google Analytics 4 + BigQuery
• Как программировать более 8 часов, не чувствуя усталости
• Локальные уведомления во Flutter
• 10 забавных расширений VS Code, которые помогут программировать
iOS
• ФАС оштрафовала Apple на $12 млн по иску «Лаборатории Касперского»
• AppCode 2021.1: улучшения поддержки Swift Package Manager и быстродействия, обновление плагина Kotlin/Native и другое
• Что такое Замыкания и как они работают в Swift? (Пошаговое руководство)
• Кастомные переходы View Controller-ов в Swift
Android
• Как повысить качество кода
• Linkester: тестирование глубоких ссылок в приложении
• Тест на Android Studio - бенчмарк компьютеров
• Не запускайте бенчмарки в отлаживаемом Android-приложении
Разработка
• Как заканчивать игры (и другие проекты)
• Создание Age of Empires II (1999)
• Еще пять инструментов против читеров на мобильном проекте с DAU 1 млн пользователей
• История разработки SDK для приема платежей в мобильном приложении на Flutter
• Моя история реализации офлайн приложения Хабра
• Хороший дизайн – это наука, а не искусство
• Кейс: как Surf и Росбанк сделали первое в России банковское приложение на Flutter
• Как безопасно выкладывать в open source внутреннее ПО: лучшие практики
• 5 преимуществ парного программирования и как делать это удаленно с помощью VS Code
• Как ежегодно экономить 135,000 евро с Google Analytics 4 + BigQuery
• Как программировать более 8 часов, не чувствуя усталости
• Локальные уведомления во Flutter
• 10 забавных расширений VS Code, которые помогут программировать
iOS
• ФАС оштрафовала Apple на $12 млн по иску «Лаборатории Касперского»
• AppCode 2021.1: улучшения поддержки Swift Package Manager и быстродействия, обновление плагина Kotlin/Native и другое
• Что такое Замыкания и как они работают в Swift? (Пошаговое руководство)
• Кастомные переходы View Controller-ов в Swift
Android
• Как повысить качество кода
• Linkester: тестирование глубоких ссылок в приложении
• Тест на Android Studio - бенчмарк компьютеров
• Не запускайте бенчмарки в отлаживаемом Android-приложении
AppTractor
Как заканчивать игры (и другие проекты)
Я не верю, что есть правильный способ делать игры. Это творческое занятие, поэтому нет жестких правил, которые нельзя было бы нарушить в какой-то момент. Но как разработчик игр, который обсуждал эту проблему с другими разработчиками, я чувствую, что есть…
#ЦифраДня: Как сообщает Nikkei Asia, начато массовое производство преемника Apple M1. Вероятно, он будет называться Apple M2 и поступит в продажу в конце этого года. Apple M1 уже работает в 13-дюймовых MacBook Air и MacBook Pro, а также в Mac Mini, к этой линейке во время последнего мероприятия присоединились обновленный iMac и более мощный iPad Pro. Однако "большие" MacBook Pro работают на базе Intel и не получили обновления ARM. По слухам, они должны быть выпущены с другим чипом, который будет называться Apple M1X и будет иметь 12 ядер вместо 8. Но учитывая ограниченный запас времени видимо они как раз и получат процессор второго поколения. так что подождите пока закупаться :)
Как написали в комментариях к опросу про клавиатуры - “очередной опрос ради опроса” или почти дилемма вагонетки по программистски. Но вот я сейчас как настоящий инди-разработчик в сомнениях и хочется понять, как делают профессионалы. Нужно реализовать одну функцию в приложении довольно значительную, которая может (скорее всего) и не взлетит. Писать ее с нуля крайне неохота. А в статье с библиотеками вроде нашел что-то похожее. Но слегка. Но похожее. Но в принципе криво/косо на ней сделать можно. Так вот вопрос - сделать, несмотря на все гипотетические последствия, быстро на библиотеке, или медленно и печально писать самому? Сроки не давят, давит лень и то, что библиотека не совсем то, что нужно.
Разработка
• Немецкие компании подают антимонопольный иск против Apple, касающийся iOS 14.5
• Начато производство Apple M2
• Amazon выкладывает софт DeepRacer в open source
• Все инженеры умеют программировать, но не все программисты могут быть инженерами: в чем отличие?
• Лучшие практики для дизайна модальных окон
• Понимание пути клиента в мобильном приложении с помощью событий Firebase и BigQuery
• Хотите стать лучшим UX-дизайнером в 2021? Делайте для эмоций
iOS
• GLWalkthrough: онбординг с подсветкой
• Переход вашего приложения на модули пакетов Swift
• 10 SwiftUI-библиотек 2021
• Введение в работу с Codable в Swift
• Swift: как написать полный логгер
• Скелетный проект для масштабируемой разработки под iOS
• SwiftUI: как создать ячейку со свайпом
Android
• Один AlertDialog, чтобы править ими всеми
• Jetpack Compose: простой способ сделать RecyclerView
• Динамическая доставка с помощью Jetpack Compose
Разработка
• Немецкие компании подают антимонопольный иск против Apple, касающийся iOS 14.5
• Начато производство Apple M2
• Amazon выкладывает софт DeepRacer в open source
• Все инженеры умеют программировать, но не все программисты могут быть инженерами: в чем отличие?
• Лучшие практики для дизайна модальных окон
• Понимание пути клиента в мобильном приложении с помощью событий Firebase и BigQuery
• Хотите стать лучшим UX-дизайнером в 2021? Делайте для эмоций
iOS
• GLWalkthrough: онбординг с подсветкой
• Переход вашего приложения на модули пакетов Swift
• 10 SwiftUI-библиотек 2021
• Введение в работу с Codable в Swift
• Swift: как написать полный логгер
• Скелетный проект для масштабируемой разработки под iOS
• SwiftUI: как создать ячейку со свайпом
Android
• Один AlertDialog, чтобы править ими всеми
• Jetpack Compose: простой способ сделать RecyclerView
• Динамическая доставка с помощью Jetpack Compose
AppTractor
Немецкие компании подают антимонопольный иск против Apple, касающийся iOS 14.5
«В результате этих односторонних мер Apple фактически лишает всех конкурентов возможности обрабатывать коммерчески значимые данные в своей экосистеме», - говорится в совместном заявлении бизнес-ассоциаций.
Как разрабатывают профи?
Anonymous Poll
42%
Используют библиотеку
22%
Пишут сами
36%
Ответ ради ответа
Скоро большие праздники, но это не повод отказываться от новой работы:
• Android-разработчик в SberGames
• iOS-разработчик в SberGames
• Project Manager в SberGames
• Android-разработчик в Северсталь-инфоком
• iOS-разработчик в Северсталь-инфоком
• Android-разработчик в Билайн
• Junior iOS-разработчик в Блогман
• iOS-разработчик в Блогман
• Junior Android-разработчик в Блогман
• Android-разработчик в Блогман
• Android-разработчик в SberGames
• iOS-разработчик в SberGames
• Project Manager в SberGames
• Android-разработчик в Северсталь-инфоком
• iOS-разработчик в Северсталь-инфоком
• Android-разработчик в Билайн
• Junior iOS-разработчик в Блогман
• iOS-разработчик в Блогман
• Junior Android-разработчик в Блогман
• Android-разработчик в Блогман
sbergames.ru
Мы стремимся делать игры, в которые будем играть сами. Каждый из нас — геймер, и мы любим то, чем занимаемся.
Судя по тому, что уже есть много интересных SwiftUI-библиотек, фреймворк пошел в народ. Непонятно пока как в продакшене - говорят, что примеров его использовании в реальных проектах по-прежнему можно пересчитать по пальцам. Но готовиться надо, так что вот вам несколько тех самых библиотек, реализующих всякое разное полезное. Ну и с наступающими!
Разработка
• 10 SwiftUI-библиотек 2021
• Понимаем путь клиента по приложению с помощью событий Firebase и BigQuery
• Опубликовано расписание I/O 2021
• Mobvista покупает Reyun
• Углубленный анализ тестирования виджетов во Flutter. Часть I: testWidgets() и TestVariant
• Тестирование push-уведомлений в мобильных приложениях
• Как нобелевский лауреат помог нам с дизайном приложения для I Love Supersport
• Лучшие практики: дизайн автозаполнения
• Почему хорошие инженеры не начинают собственный бизнес
• Интервью у senior-инженера в Facebook: единственная статья, которую вам нужно прочитать
• Метрики качества кода
iOS
Кастомный Top Tab
Простая валидация форм с RxSwift
Начинаем работу с Firebase Realtime DB на WatchOS
Android
• Android ScreenshotDetection: определение скриншотов
• Эволюция Quality Assurance для приложений в Azimo
• Красивый сплеш скрин для Android с анимацией
• Пример WebRTC в Kotlin
• Как обрабатывать изменения конфигурации в Android
Разработка
• 10 SwiftUI-библиотек 2021
• Понимаем путь клиента по приложению с помощью событий Firebase и BigQuery
• Опубликовано расписание I/O 2021
• Mobvista покупает Reyun
• Углубленный анализ тестирования виджетов во Flutter. Часть I: testWidgets() и TestVariant
• Тестирование push-уведомлений в мобильных приложениях
• Как нобелевский лауреат помог нам с дизайном приложения для I Love Supersport
• Лучшие практики: дизайн автозаполнения
• Почему хорошие инженеры не начинают собственный бизнес
• Интервью у senior-инженера в Facebook: единственная статья, которую вам нужно прочитать
• Метрики качества кода
iOS
Кастомный Top Tab
Простая валидация форм с RxSwift
Начинаем работу с Firebase Realtime DB на WatchOS
Android
• Android ScreenshotDetection: определение скриншотов
• Эволюция Quality Assurance для приложений в Azimo
• Красивый сплеш скрин для Android с анимацией
• Пример WebRTC в Kotlin
• Как обрабатывать изменения конфигурации в Android
AppTractor
10 SwiftUI-библиотек 2021
Многие разработчики поддержали идею и создали несколько потрясающих библиотек, которые вы можете подключить и использовать в своих проектах.
Google объявил о некоторых важных изменениях для разработчиков, публикующих свои приложения в Google Play Store. Компания планирует усилить борьбу с мислидами — приложениями, которые вводят пользователей в заблуждение. Под раздачу попало практически все, что не относится к теме - эмодзи, капс, всякие призывы, кривые названия разработчиков, промо слова (топ, лучшее, #1 и т.п.). Эти новые правила вступят в силу во второй половине 2021 года.
AppTractor
Google Play усиливает борьбу с мислидами
Google рекомендует разработчикам «сосредоточиться на предоставлении содержательной информации об уникальных аспектах вашего приложения или игры».
#ЦифраДня: "The S in iOS stands for security". Пока мы тут яростно отдыхаем, Apple выпустила iOS 14.5.1 и новые версии macOS , iPadOS , tvOS и watchOS , в которых исправлены четыре уязвимости в WebKit. В соответствии со своей политикой безопасности Apple представила лишь скупые сведения об исправленных проблемах, и все четыре уязвимости имеют одно общее описание: «Обработка вредоносного web-контента может привести к выполнению произвольного кода. Apple известно о том, что они могли активно эксплуатироваться».
Ну а для тех, кто отдыхает не так уж и яростно - повод подумать, или новая задача с собеседований. На пустынном шоссе вероятность появления автомобиля за 30-минутный период составляет 0.95. Какова вероятность его появления за 10 минут?
Попробуйте решить сами и ответить ниже, а правильный ответ можно прочитать тут.
Попробуйте решить сами и ответить ниже, а правильный ответ можно прочитать тут.
Вероятность появления автомобиля:
Anonymous Poll
29%
Примерно 31%
8%
Примерно 52%
18%
Примерно 63%
29%
Все равно 95%
16%
Сильно зависит от дня празднования 🍻
Собралось тут немножко. Вторая цифра дня - $65 млн инвестиций в Раунде Б для Genies, платформы… цифровой идентичности. Если проще, то это платформа создания и торговли цифровыми шмотками для цифровых же аватаров. Звучит, правда? В целом такие аватары которых можно будет транслировать куда угодно, а сама Genies предполагает стать драйвером всего NFT-рынка.
Разработка
• Genies получает $65 млн на виртуальную идентичность
• Задачи с собеседований: шоссе
• Вышла облачная версия TeamCity
• Дизайн приложений: примеры для вдохновения #41
• Podlodka #213: инвестиции в стартапы
• Создаём плагин Qt GeoServices на примере ОС Аврора, OpenStreetMap и Sight Safari
• Почему иконки без меток делают навигацию сложной
• Facebook попросила пользователей iOS разрешить сбор их личных данных
• XD для Flutter v2.0
• 10 важных советов по написанию безопасного REST API
• 12 правил написания чистого кода
iOS
• Apple выпустила новые версии iOS , macOS , iPadOS , tvOS и watchOS с исправлением уязвимостей
• В App Store появились поисковые подсказки
• 10 расширений Swift, которые мы используем на Livefront
• Siri как бариста: добавляем офлайн AI в приложение SwiftUI
• 5 полезных однострочных операторов Swift для написания краткого кода
• Создаем круговые диаграммы в SwiftUI
Android
• Как стать Google Developer Expert
• Google Play усиливает борьбу с мислидами
• Улучшаем работу Layout Preview в Android Studio
• Android Studio начала поддерживать M1
• Android RecyclerView Swipe Gestures: жесты в RecyclerView
• Технологическое превью: Jetpack Compose for Web
• Три совета по публикации современного Android SDK
Разработка
• Genies получает $65 млн на виртуальную идентичность
• Задачи с собеседований: шоссе
• Вышла облачная версия TeamCity
• Дизайн приложений: примеры для вдохновения #41
• Podlodka #213: инвестиции в стартапы
• Создаём плагин Qt GeoServices на примере ОС Аврора, OpenStreetMap и Sight Safari
• Почему иконки без меток делают навигацию сложной
• Facebook попросила пользователей iOS разрешить сбор их личных данных
• XD для Flutter v2.0
• 10 важных советов по написанию безопасного REST API
• 12 правил написания чистого кода
iOS
• Apple выпустила новые версии iOS , macOS , iPadOS , tvOS и watchOS с исправлением уязвимостей
• В App Store появились поисковые подсказки
• 10 расширений Swift, которые мы используем на Livefront
• Siri как бариста: добавляем офлайн AI в приложение SwiftUI
• 5 полезных однострочных операторов Swift для написания краткого кода
• Создаем круговые диаграммы в SwiftUI
Android
• Как стать Google Developer Expert
• Google Play усиливает борьбу с мислидами
• Улучшаем работу Layout Preview в Android Studio
• Android Studio начала поддерживать M1
• Android RecyclerView Swipe Gestures: жесты в RecyclerView
• Технологическое превью: Jetpack Compose for Web
• Три совета по публикации современного Android SDK
AppTractor
Genies получает $65 млн на виртуальную идентичность
Нигам видит аватары Genies как виртуальные портативные личности, которые люди могут использовать везде в интернете.