Чистый код не только хорошие продукты, но и хороший бизнес. SonarSource, которая предоставляет открытые и коммерческие анализаторы кода, помогающие разработчикам управлять качеством кода, сообщила о привлечении 412 миллионов долларов при оценке в 4.7 миллиарда. Понравился комментарий CEO по этому поводу: «Мы даем возможность компаниям сделать исходный код активом, а не пассивом. Это имеет огромное значение, особенно когда вы знаете, что это делается в рамках процесса разработки и не требует дополнительных усилий». Код как актив - правильная концепция 😀
Разработка
• $412 млн: SonarSource — чистый код для всех
• “ATT — 1 год”: отчет AppsFlyer
• Локализация продукта и её подводные камни
• Альф, переведи мне на телефон миллион рублей
• Как мы сделали мобильные устройства круглосуточно доступными для распределенной QA-команды и не только
• Go для самых маленьких. Разрабатываем для Arduino и других микроконтроллеров
• Хороший дизайн сводится к своевременности
× 7 причин, по которым я объясняю ответ во время собеседования
× Как в такой игре, как Candy Crush, создаются уровни?
× Чистый код — практический подход
× Лучшие вызовы API во Flutter
× Худшая ошибка — случайная потеря лучших игроков
× Как настроить среду разработки для машинного обучения
iOS
• Как использовать дженерики в Swift
• YPImagePicker: выбор фото, как в Instagram
× Локализация в приложении iOS с MapKit и CoreLocation
× 3 причины, почему мне не нравится SwiftUI
× Два способа юнит-тестирования центра уведомлений в Swift
Android
• Google в 2021 заблокировал более 1М приложения и 190К разработчиков
• Топ вопросов работодателю от Android-разработчика
× Мой путь в размещении моего open source приложения в Google Developers Dev Library
× Понимание функций Kotlin Scope за 2 минуты
Разработка
• $412 млн: SonarSource — чистый код для всех
• “ATT — 1 год”: отчет AppsFlyer
• Локализация продукта и её подводные камни
• Альф, переведи мне на телефон миллион рублей
• Как мы сделали мобильные устройства круглосуточно доступными для распределенной QA-команды и не только
• Go для самых маленьких. Разрабатываем для Arduino и других микроконтроллеров
• Хороший дизайн сводится к своевременности
× 7 причин, по которым я объясняю ответ во время собеседования
× Как в такой игре, как Candy Crush, создаются уровни?
× Чистый код — практический подход
× Лучшие вызовы API во Flutter
× Худшая ошибка — случайная потеря лучших игроков
× Как настроить среду разработки для машинного обучения
iOS
• Как использовать дженерики в Swift
• YPImagePicker: выбор фото, как в Instagram
× Локализация в приложении iOS с MapKit и CoreLocation
× 3 причины, почему мне не нравится SwiftUI
× Два способа юнит-тестирования центра уведомлений в Swift
Android
• Google в 2021 заблокировал более 1М приложения и 190К разработчиков
• Топ вопросов работодателю от Android-разработчика
× Мой путь в размещении моего open source приложения в Google Developers Dev Library
× Понимание функций Kotlin Scope за 2 минуты
AppTractor
$412 млн: SonarSource — чистый код для всех
SonarSource автоматически встраивает проверку чистоты кода непосредственно в процесс разработки, улучшая общее состояние кодовой базы и сокращая технический долг.
👍4
А мне вот, например, нравится, как Snap делает свои устройства. С удовольствием, ярко. Не тяжелая поступь Hololens, а веселые Spectacles с улыбающимися вендинговыми автоматами. Не тяжелый дрон, на котором надо учиться летать три дня, а Pixy на 101 грамм для съемки фото, у которого одна кнопка и один переключатель. Вряд ли он сильно повлияет на доходы компании, тем более, что планируется ограниченная серия, но, как пишет TechCrunch, “кажется, что команда Snap, отвечающая за этот проект, получила массу удовольствия от его разработки”. И это главное.
👍8🔥2
На что сейчас наибольший спрос? Кто сегодня самый активный на рынке? Какое должно быть приложение для эффективного продвижения?
В подкасте “Современный маркетинг и smm” вышел интересный эпизод с продакт-менеджером Яндекс Рекламы Вадимом Костомаровым. Он рассказал про создание и продвижение мобильных приложений, бюджеты, стратегии и многое другое.
Подкаст:
https://music.yandex.ru/album/12596220/track/104179567?dir=desc
В подкасте “Современный маркетинг и smm” вышел интересный эпизод с продакт-менеджером Яндекс Рекламы Вадимом Костомаровым. Он рассказал про создание и продвижение мобильных приложений, бюджеты, стратегии и многое другое.
Подкаст:
https://music.yandex.ru/album/12596220/track/104179567?dir=desc
Яндекс Музыка
Продвижение мобильных приложений: бюджеты, стратегия и особенности. В гостях Яндекс слушать онлайн на Яндекс Музыке
🔥5👍1
Наш традиционный большой еженедельный дайджест со всеми 110 материалами за неделю. Поставьте лайк, поделитесь с коллегами, вот это все.
👍23
Google запустил обучающий курс «Основы Android с Compose». Подобно курсу «Основы Android на Kotlin», «Основы Android с Compose» обучает основам программирования на Kotlin. Вам не нужен какой-либо предыдущий опыт программирования, кроме базовой компьютерной грамотности, чтобы начать обучение. Курс не только охватывает самые последние методы создания приложений для Android, но и разработан таким образом, чтобы вам было проще и интереснее изучать Android-разработку. Два этих курса имеют схожие структуры и во многих случаях они используют одни и те же примеры, но написаны с использованием разных наборов инструментов пользовательского интерфейса. Это позволяет вам видеть, сравнивать и изучать различия между View и Compose, вы даже можете работать с обоими курсами одновременно.
👍10
Во первых строках - занятная история про баг в IAP-библиотеке от Unity (!), который приводил к фризу и падению всей игры. Сложно представить чувства разработчика, который отвечал за встроенные покупки, но описывает он все сейчас с известной долей юмора. Что делать тем, у кого нет приоритетной поддержки и кому не отвечают за часы, он, правда, благородно умалчивает.
Разработка
• Худший баг в истории — случайная потеря лучших игроков
• $20 млн в Серии A: Graphite — простой и быстрый Code Review
• Blizzard анонсирует Warcraft: Arclight Rumble
• $37 млн в Серии B: LottieFiles — анимации для приложений
• «Java для начинающих»: новый обучающий курс от Microsoft
• Aurora OS: первый взгляд
• Podlodka #265: Erlang
• Lens Cloud предлагает бэкенд для AR-разработчиков Snap
• Snap выпустил мини-дрон для съемки фото и видео
• Как рефакторинг помогает улучшить производительность разработчиков и повысить качество приложений
• Round Table: архитектурный UI паттерн для iOS платформы
• Как начать писать приложения на ClojureDart
• React Native 0.68 и «новая архитектура»
• Детали хорошего дизайна
iOS
• Apple уточнила правила удаления устаревших приложений
• SwiftUI Introspect: доступ к UIKit из SwiftUI
• Делаем патч для Pods библиотеки
• Делайте все UIKit View в UITableView
• Flow Navigation с помощью SwiftUI
• Анализ текста в реальном времени с помощью Word Tagger
• Создайте свой первый XCFramework
Android
• Google запустил обучающий курс «Основы Android с Compose»
• Управление умным домом на Kotlin
• Адаптация Compose в hh.ru
• LibreTube: свободный YouTube
• Googlу выпустил developer preview версию Privacy Sandbox для Android
• Как мы используем фича-флаги в мобильном приложении QIWI Кошелек
• CI-CD: Firebase App Distribution с помощью Fastlane на Android
• Любопытный случай сбоя Воркеров
• Переосмысление действий пользователя для формирования лучшего однонаправленного потока данных
• Почему Jetpack Compose не так прост, как кажется?
• Пассивные представления: сделайте код пользовательского интерфейса простым и глупым
• Создание адаптивного пользовательского интерфейса в Android
• Создание надежных тестов для Android-уведомлений
Разработка
• Худший баг в истории — случайная потеря лучших игроков
• $20 млн в Серии A: Graphite — простой и быстрый Code Review
• Blizzard анонсирует Warcraft: Arclight Rumble
• $37 млн в Серии B: LottieFiles — анимации для приложений
• «Java для начинающих»: новый обучающий курс от Microsoft
• Aurora OS: первый взгляд
• Podlodka #265: Erlang
• Lens Cloud предлагает бэкенд для AR-разработчиков Snap
• Snap выпустил мини-дрон для съемки фото и видео
• Как рефакторинг помогает улучшить производительность разработчиков и повысить качество приложений
• Round Table: архитектурный UI паттерн для iOS платформы
• Как начать писать приложения на ClojureDart
• React Native 0.68 и «новая архитектура»
• Детали хорошего дизайна
iOS
• Apple уточнила правила удаления устаревших приложений
• SwiftUI Introspect: доступ к UIKit из SwiftUI
• Делаем патч для Pods библиотеки
• Делайте все UIKit View в UITableView
• Flow Navigation с помощью SwiftUI
• Анализ текста в реальном времени с помощью Word Tagger
• Создайте свой первый XCFramework
Android
• Google запустил обучающий курс «Основы Android с Compose»
• Управление умным домом на Kotlin
• Адаптация Compose в hh.ru
• LibreTube: свободный YouTube
• Googlу выпустил developer preview версию Privacy Sandbox для Android
• Как мы используем фича-флаги в мобильном приложении QIWI Кошелек
• CI-CD: Firebase App Distribution с помощью Fastlane на Android
• Любопытный случай сбоя Воркеров
• Переосмысление действий пользователя для формирования лучшего однонаправленного потока данных
• Почему Jetpack Compose не так прост, как кажется?
• Пассивные представления: сделайте код пользовательского интерфейса простым и глупым
• Создание адаптивного пользовательского интерфейса в Android
• Создание надежных тестов для Android-уведомлений
AppTractor
Худший баг в истории — случайная потеря лучших игроков
Это история такого бага, худшего бага, с которым я когда-либо сталкивался за 30 лет программирования. Это история о том, как мы отследили проблему и поработали с Unity над ее исправлением.
👍13
На прошлой неделе появились новости о том, что Apple отправила электронные письма разработчикам, которые не обновляют свои приложения более двух лет, и угрожает удалить их, если приложения не будут обновлены в течение следующих 30 дней (позднее компания уточнила требования — три года + отсутствие загрузок — и предложила более длительный срок на обновление).
Но сколько приложений и игр может исчезнуть? Короткий ответ — много! По данным AppFigures, два года не обновлялось 752,412 приложений, созданных 260,000 уникальными разработчиками. Это очень много писем!
Сейчас в App Store 2,126,366 приложений и игр, что означает, что Apple может удалить 35% приложений.
Но сколько приложений и игр может исчезнуть? Короткий ответ — много! По данным AppFigures, два года не обновлялось 752,412 приложений, созданных 260,000 уникальными разработчиками. Это очень много писем!
Сейчас в App Store 2,126,366 приложений и игр, что означает, что Apple может удалить 35% приложений.
👍2
Если вы, как и я, всегда хотели знать, как создаются тысячи уровней во всяких Candy Crush-ах, то на Reddit недавно было обсуждение. Бывший разработчик King в частности написал, что на самом деле создаются они вручную. Вот что не вручную, так это огромное тестирование и категоризация - чтобы соблюсти ту самую пресловутую пилообразную кривую сложности. И да, на самом деле в начале новой сессии игра уменьшает сложность, чтобы потрафить игроку и ввести его в поток. Это не кажется 🍭
Разработка
• Обсуждение в Reddit: как в такой игре, как Candy Crush, создаются уровни?
• Fleksy выпускает свой SDK для клавиатуры
• Appwrite открывает фонд для поддержки проектов с открытым исходным кодом
• Знай свои секреты. Поиск и автоматическая проверка секретов сторонних сервисов
• Зачем ASO-специалисту работать с отзывами и как делать это правильно
• 7 крутых особенностей языка Dart
• Полное руководство по системному дизайну 2022
• Основные ошибки, которые допускают разработчики при разработке Flutter-приложения
• Flutter: полная дорожная карта 2022
• Subify — приложение для управления подписками — пример UI/UX
• Иллюзии разработки ПО
• Я заменил нативное приложение для iOS кроссплатформенным веб-приложением и никто не заметил
iOS
• Apple может удалить больше 30% приложений из App Store
• Возможен ли полумодальный View в SwiftUI?
• Измерение производительности приложения в Swift
• AR-приложение в Swift — туториал
• 20 лучших вопросов на собеседовании по iOS для уровня от начального до среднего
Android
• Загадочная история сбоя WorkManager
• Compose Animated Music Card: анимированные карточки
• Kotlin, обрабатываем исключения в корутинах правильно
• 7 вещей, о которых нужно помнить при создании Jetpack Composable
• Dagger 2 и Hilt для Android менее чем за 10 минут
• Andromeda - система дизайна Jetpack Compose с открытым исходным кодом
Разработка
• Обсуждение в Reddit: как в такой игре, как Candy Crush, создаются уровни?
• Fleksy выпускает свой SDK для клавиатуры
• Appwrite открывает фонд для поддержки проектов с открытым исходным кодом
• Знай свои секреты. Поиск и автоматическая проверка секретов сторонних сервисов
• Зачем ASO-специалисту работать с отзывами и как делать это правильно
• 7 крутых особенностей языка Dart
• Полное руководство по системному дизайну 2022
• Основные ошибки, которые допускают разработчики при разработке Flutter-приложения
• Flutter: полная дорожная карта 2022
• Subify — приложение для управления подписками — пример UI/UX
• Иллюзии разработки ПО
• Я заменил нативное приложение для iOS кроссплатформенным веб-приложением и никто не заметил
iOS
• Apple может удалить больше 30% приложений из App Store
• Возможен ли полумодальный View в SwiftUI?
• Измерение производительности приложения в Swift
• AR-приложение в Swift — туториал
• 20 лучших вопросов на собеседовании по iOS для уровня от начального до среднего
Android
• Загадочная история сбоя WorkManager
• Compose Animated Music Card: анимированные карточки
• Kotlin, обрабатываем исключения в корутинах правильно
• 7 вещей, о которых нужно помнить при создании Jetpack Composable
• Dagger 2 и Hilt для Android менее чем за 10 минут
• Andromeda - система дизайна Jetpack Compose с открытым исходным кодом
AppTractor
Обсуждение в Reddit: как в такой игре, как Candy Crush, создаются уровни?
В Candy Crush почти 10,000 уровней. Компания зарабатывает кучу денег, поэтому она может себе позволить платить людям за их создание, но кажется, что человеку очень сложно разработать интересный уровень?
👍4
Apple находится в центре внимания антимонопольных расследований. Сейчас в iOS 15 нашли очередной пример. Когда вы переустанавливаете приложение Apple Music из App Store, оно по умолчанию возвращается к исходному положению в доке, выкидывая при этом оттуда другие приложения.
Такое поведение было замечено Кевином Арчером. Затем пользователи попытались воспроизвести его и получили разные результаты. Некоторые сообщали, что Apple Music удаляет только сторонние приложения (а не собственные Apple). С другой стороны, некоторые пользователи обнаружили, что приложение «Музыка» также заменяет и собственные приложения компании. Помимо этого есть сообщения о том, что Apple Music снова настраивает себя в качестве музыкального проигрывателя Siri по умолчанию.
Можно предположить, что это поведение — просто ошибки, которые Apple не исправила, когда разрешила удалять системные приложения. Несмотря на это, Тим Суини из Epic Games подсуетился и уже прямо обвинил Apple в использовании преимуществ собственной ОС.
Такое поведение было замечено Кевином Арчером. Затем пользователи попытались воспроизвести его и получили разные результаты. Некоторые сообщали, что Apple Music удаляет только сторонние приложения (а не собственные Apple). С другой стороны, некоторые пользователи обнаружили, что приложение «Музыка» также заменяет и собственные приложения компании. Помимо этого есть сообщения о том, что Apple Music снова настраивает себя в качестве музыкального проигрывателя Siri по умолчанию.
Можно предположить, что это поведение — просто ошибки, которые Apple не исправила, когда разрешила удалять системные приложения. Несмотря на это, Тим Суини из Epic Games подсуетился и уже прямо обвинил Apple в использовании преимуществ собственной ОС.
👍4
Forwarded from AppFiles - Mobile Development
Я заменил нативное iOS-приложение кроссплатформенным веб-приложением - и никто не заметил!
Оказывается, в 2022 году для многих приложений наконец-то сбылась мечта — написать один раз и запустить где угодно. Компромисс затрат и выгод для кроссплатформенных веб-приложений всегда заключался в обмене худшей производительности на меньшее время разработки. В 2014 году для большинства приложений это был плохой компромисс. Но за последние 8 лет многое изменилось.
Перевод: https://apptractor.ru/crssnow
Платформа: кроссплатформа
👏: 1K
Оказывается, в 2022 году для многих приложений наконец-то сбылась мечта — написать один раз и запустить где угодно. Компромисс затрат и выгод для кроссплатформенных веб-приложений всегда заключался в обмене худшей производительности на меньшее время разработки. В 2014 году для большинства приложений это был плохой компромисс. Но за последние 8 лет многое изменилось.
Перевод: https://apptractor.ru/crssnow
Платформа: кроссплатформа
👏: 1K
😁14👍8🤔5👏3
В OneSignal выпустили отчет “State of Customer Messaging 2022”, посвященный коммуникациям с пользователями. 61% респондентов заявили, что мобильные push-уведомления в настоящее время являются наиболее важным каналом для их бизнеса. Интересно, что популярность push-уведомлений не означает, что старые каналы становятся неактуальными. На самом деле, респонденты по-прежнему ставят электронную почту на второе по важности место в их продуктах. В сравнении с push-уведомления, электронная почта дольше хранится в почтовом ящике пользователя и обеспечивает больше места для контента, что делает ее хорошо подходящей для общения. Несмотря на некоторый ранний скептицизм о судьбе электронной почты в эпоху мобильных устройств, она продолжает оставаться ценным ресурсом — даже для мобильных приложений.
👍6
Если вы сомневались в том, что внедрение ATT и отказ от IDFA во многом обусловлен коммерческими мотивами, то вот вам интересная цифра - поисковая реклама в App Store в 2021 году выросла на 238% до 3.7 млрд долларов и, по прогнозам, достигнет 5.5 млрд долларов к концу этого года. Неплохая забота о конфиденциальности пользователей, правда? 😊 Собственно на волне этого успеха, Apple, как пишут, разделяет Сервисы и рекламой теперь целенаправленно будет заниматься Тодд Терези. Так что нас ждет больше рекламных продуктов.
Разработка
• Apple реструктурирует Сервисы и выделяет рекламу в отдельное направление
• Match Group: компания является «заложником» Google
• Отчет «State of Customer Messaging 2022» от OneSignal
• Самые зарабатывающие приложения США в апреле
• $80 млн в Серии B: Supabase — альтернатива Firebase
• Я заменил нативное iOS-приложение кроссплатформенным веб-приложением — и никто не заметил!
• Podlodka #266: рекрутмент как продукт
• Jugger – внедрение зависимостей как в Android
• Как мы создавали движок на Unity
• Зачем разработчикам игр на Unity использовать статический анализ?
• 10 вещей, которым я научился при проектировании децентрализованных финансовых приложений
• Как «Перекрёсток» увеличил установки мобильного приложения
• Если бы я мог выучить только 6 языков программирования в своей жизни, я бы выучил эти
• Как стать Web3 разработчиком
iOS
• Как нативно визуализировать голос в iOS
• Apple Music выкидывает другие приложения из дока iOS
• UIPilot: типобезопасная навигация для SwiftUI
• Об архитектуре iOS-приложений
• Как читать веб-сайты в SwiftUI — парсинг данных в iOS
• 6 советов по улучшению кода Swift
• Пользовательская геометрия в SceneKit в SwiftUI
• Core Data Relationship в Swift 5 — проще простого
• Анимированный рейтинг в SwiftUI
• Моделирование ошибок в Swift
• Пишите красивый код с помощью Swift Result Builder
Android
• Вышла стабильная версия Android Studio Chipmunk
• PowerSpinner: выпадающие меню для Android
• Android Studio. Kotlin. Подключение Google календаря через Content Provider
• Хак для экономии времени при работе с Jetpack Compose
• Доступность в приложении с двумя экранами
• Сворачивание тулбара в Jetpack Compose - проблема, решения и альтернативы
• Понимание файлов, сгенерированных Proguard, и ручная деобфускация Stacktrace
Разработка
• Apple реструктурирует Сервисы и выделяет рекламу в отдельное направление
• Match Group: компания является «заложником» Google
• Отчет «State of Customer Messaging 2022» от OneSignal
• Самые зарабатывающие приложения США в апреле
• $80 млн в Серии B: Supabase — альтернатива Firebase
• Я заменил нативное iOS-приложение кроссплатформенным веб-приложением — и никто не заметил!
• Podlodka #266: рекрутмент как продукт
• Jugger – внедрение зависимостей как в Android
• Как мы создавали движок на Unity
• Зачем разработчикам игр на Unity использовать статический анализ?
• 10 вещей, которым я научился при проектировании децентрализованных финансовых приложений
• Как «Перекрёсток» увеличил установки мобильного приложения
• Если бы я мог выучить только 6 языков программирования в своей жизни, я бы выучил эти
• Как стать Web3 разработчиком
iOS
• Как нативно визуализировать голос в iOS
• Apple Music выкидывает другие приложения из дока iOS
• UIPilot: типобезопасная навигация для SwiftUI
• Об архитектуре iOS-приложений
• Как читать веб-сайты в SwiftUI — парсинг данных в iOS
• 6 советов по улучшению кода Swift
• Пользовательская геометрия в SceneKit в SwiftUI
• Core Data Relationship в Swift 5 — проще простого
• Анимированный рейтинг в SwiftUI
• Моделирование ошибок в Swift
• Пишите красивый код с помощью Swift Result Builder
Android
• Вышла стабильная версия Android Studio Chipmunk
• PowerSpinner: выпадающие меню для Android
• Android Studio. Kotlin. Подключение Google календаря через Content Provider
• Хак для экономии времени при работе с Jetpack Compose
• Доступность в приложении с двумя экранами
• Сворачивание тулбара в Jetpack Compose - проблема, решения и альтернативы
• Понимание файлов, сгенерированных Proguard, и ручная деобфускация Stacktrace
AppTractor
Apple реструктурирует Сервисы и выделяет рекламу в отдельное направление
Компания, хочет улучшить свое предложение, продвигая потоковые платформы и рекламу.
👍5🔥1
Forwarded from AppFiles - Mobile Development
Множество обновлений с Google I/O 2022:
• Новое в инструментах Android-разработки
• Jetpack Compose Beta 1.2
• Jetpack Compose для Wear OS
• Новый Health Connect - API для безопасного доступа к данным о здоровье
• Google Play запускает кастомные продуктовые страницы и события
• Google обновляет Firebase
• Google Play предлагает предоплаченную подписку и снижает минимальную цену до 5 центов
• Представлен Flutter 3
• Вторая бета Android 13 для всех
Платформа: Android
• Новое в инструментах Android-разработки
• Jetpack Compose Beta 1.2
• Jetpack Compose для Wear OS
• Новый Health Connect - API для безопасного доступа к данным о здоровье
• Google Play запускает кастомные продуктовые страницы и события
• Google обновляет Firebase
• Google Play предлагает предоплаченную подписку и снижает минимальную цену до 5 центов
• Представлен Flutter 3
• Вторая бета Android 13 для всех
Платформа: Android
Android Developers Blog
Google I/O 2022: What’s new in Android Development Tools
Posted by Juan Sebastian Oviedo, Senior Product Manager Today at Google I/O 2022, we announced an exciting set of new features a...
👍2🔥2
Google, конечно, навалил, будем разбираться. Вопрос в другом. Материалов столько, что уже почти каждый день подборки не влезают в стандартные посты Телеграма, приходится извращаться. Как вы относитесь к такому потоку? Нормально, нужно меньше/больше?
Разработка
• Конец Продуктового менеджмента
• Firebase обновляется
• Представлен Flutter 3
• Unity. Ленивый ECS
• Flutter для Apple TV
• Apple отключила оплату в App Store со счёта мобильного у «Мегафона», Yota и Tele2
• Формула собеседования, благодаря которой вы получите офер FAANG/MAANG
• Мой вопрос на собеседовании по программированию в Google
• Никто не должен использовать резиновую уточку для отладки в 2022
• Ваша история коммитов Git должна читаться как историческая книга
• Почему деление на 0 не приводит к ошибке в Dart
• Я прощаюсь с Firebase
• Самая грустная история «Just Ship It»
• Flutter и работа с нативным кодом
iOS
• CHIPageControl: анимированные индикаторы страниц
• 5 актуальных расширений Xcode для оптимизации разработки
• Создание списка для выбора с использованием дженериков
• SwiftUI: выбор архитектуры приложения
• Как мы используем SwiftUI в приложении Medium для iOS
Android
• Новое в инструментах Android-разработки
• Jetpack Compose Beta 1.2
• Jetpack Compose для Wear OS
• Новый Health Connect - API для безопасного доступа к данным о здоровье
• Google Play запускает кастомные продуктовые страницы и события
• Google Play предлагает предоплаченную подписку и снижает минимальную цену до 5 центов
• Вторая бета Android 13 для всех
• Google представил Pixel 6a
• Google Play SDK Index
• Письмо счастья: как мы разделили наши сборки для AppGallery и Google Play
• Принципы S.O.L.I.D. с примерами на Kotlin
• Создаем собственный плагин проверки кода IntelliJ
• Надежные тесты для Android-уведомлений
Разработка
• Конец Продуктового менеджмента
• Firebase обновляется
• Представлен Flutter 3
• Unity. Ленивый ECS
• Flutter для Apple TV
• Apple отключила оплату в App Store со счёта мобильного у «Мегафона», Yota и Tele2
• Формула собеседования, благодаря которой вы получите офер FAANG/MAANG
• Мой вопрос на собеседовании по программированию в Google
• Никто не должен использовать резиновую уточку для отладки в 2022
• Ваша история коммитов Git должна читаться как историческая книга
• Почему деление на 0 не приводит к ошибке в Dart
• Я прощаюсь с Firebase
• Самая грустная история «Just Ship It»
• Flutter и работа с нативным кодом
iOS
• CHIPageControl: анимированные индикаторы страниц
• 5 актуальных расширений Xcode для оптимизации разработки
• Создание списка для выбора с использованием дженериков
• SwiftUI: выбор архитектуры приложения
• Как мы используем SwiftUI в приложении Medium для iOS
Android
• Новое в инструментах Android-разработки
• Jetpack Compose Beta 1.2
• Jetpack Compose для Wear OS
• Новый Health Connect - API для безопасного доступа к данным о здоровье
• Google Play запускает кастомные продуктовые страницы и события
• Google Play предлагает предоплаченную подписку и снижает минимальную цену до 5 центов
• Вторая бета Android 13 для всех
• Google представил Pixel 6a
• Google Play SDK Index
• Письмо счастья: как мы разделили наши сборки для AppGallery и Google Play
• Принципы S.O.L.I.D. с примерами на Kotlin
• Создаем собственный плагин проверки кода IntelliJ
• Надежные тесты для Android-уведомлений
AppTractor
Конец Продуктового менеджмента
Вы должны лидировать, а рынку всегда будут нужны лидеры.
👍8🔥1
Материалов в канале:
Anonymous Poll
18%
Слишком много, нужно меньше
59%
Нормально
13%
Мало, нужно больше
10%
Ничего не скажу, но посмотрю
Наш традиционный большой еженедельный дайджест со всеми 97 материалами за неделю. По возможности поставьте лайк, поделитесь с коллегами, поддержите на Boosty - нам важно видеть живые реакции и отклики.
👍13
Планируете переезд или остаётесь в России?
Если вы разработчик и у вас есть минута времени, поделитесь планами в анонимном опросе. Там всего 7 вопросов.
Ваши ответы помогут крупному IT-работодателю понять, в каких странах стоит открывать офисы и как условия нужны разработчикам.
Если вы разработчик и у вас есть минута времени, поделитесь планами в анонимном опросе. Там всего 7 вопросов.
Ваши ответы помогут крупному IT-работодателю понять, в каких странах стоит открывать офисы и как условия нужны разработчикам.
😁10👍3🤔3🔥1
Раньше инвестировали в лопаты, потом в магазины для лопат, а сейчас в ремонтников магазинов для лопат. Хороший пример - Komodor, платформа поиска и исправления ошибок в Kubernetes. Так что если вы можете автоматизировать сервисы третьего порядка - IAP, поиск ошибок в контейнерах или еще что-нибудь - десятки миллионов долларов вполне могут вас дождаться 😉
Разработка
• $42 млн в Серии B: Komodor — платформа устранения сбоев в Kubernetes
• 7 причин, по которым я объясняю ответы во время технического интервью
• AppsFlyer запустил Единый источник истины для iOS
• Отправляем миллиард уведомлений в месяц
• Podlodka #267: кодеки
• $6.6 млн в посевном раунде: Novu — открытая инфраструктура уведомлений
• 78% пользователей отказывается от персонализированной рекламы в App Store
• 55+ перспективных технологий IoT, которые вы должны иметь на своем радаре (обновление 2022 года)
• Найти всё, что скрыто. Поиск чувствительной информации в мобильных приложениях
• «Не унывайте, пацаны»: основатели российского приложения для медитации ещё не вышли в прибыль, но уже идут в США
iOS
• 6 советов, как улучшить программирование в Swift
• Runestone: текстовый редактор для iOS
• Асинхронный код синхронно: как устроено юнит-тестирование в СберМаркете
• Правильно подключаем тяжелые зависимости к Xcode проекту через Swift Package Manager
• Цикл рендеринга SwiftUI
• SwiftUI все еще не готов к продакшену
• Значения среды как альтернатива внедрению зависимостей в SwiftUI
• Предварительная выборка в iOS
• Расширенные протоколы в Swift
• SwiftUI для разработчиков UIKit
Android
• Android и Play на Google I/O 2022
• Работа с памятью в Android: GC, ARC, RAM
• Вышло расширение Google Home для Visual Studio Code
• Now in Android: лучшие практики Android-разработки
• Знакомьтесь: библиотека TiRecycler
• Как я перестал бояться и начал делиться секретами с телефоном
• В России начал работать магазин приложений NashStore — российский аналог Google Play
• Каталоги версий Gradle для отличного управления зависимостями
• Новый способ совершать сетевые звонки на Android
• Вопросы для собеседования среднего уровня по Android
• Ищем ofnsrb в UI с помощью CPU профайлера в Android Studio
Кросс
• Flutter Dev Podcast #35: безопасность инфраструктуры для Flutter-разработки
• Kotlin 1.5.30 и KMM/KMP
• Пинболл с I/O на базе Flutter и Firebase
• 7 удивительных инструментов разработки приложений на Flutter,
Разработка
• $42 млн в Серии B: Komodor — платформа устранения сбоев в Kubernetes
• 7 причин, по которым я объясняю ответы во время технического интервью
• AppsFlyer запустил Единый источник истины для iOS
• Отправляем миллиард уведомлений в месяц
• Podlodka #267: кодеки
• $6.6 млн в посевном раунде: Novu — открытая инфраструктура уведомлений
• 78% пользователей отказывается от персонализированной рекламы в App Store
• 55+ перспективных технологий IoT, которые вы должны иметь на своем радаре (обновление 2022 года)
• Найти всё, что скрыто. Поиск чувствительной информации в мобильных приложениях
• «Не унывайте, пацаны»: основатели российского приложения для медитации ещё не вышли в прибыль, но уже идут в США
iOS
• 6 советов, как улучшить программирование в Swift
• Runestone: текстовый редактор для iOS
• Асинхронный код синхронно: как устроено юнит-тестирование в СберМаркете
• Правильно подключаем тяжелые зависимости к Xcode проекту через Swift Package Manager
• Цикл рендеринга SwiftUI
• SwiftUI все еще не готов к продакшену
• Значения среды как альтернатива внедрению зависимостей в SwiftUI
• Предварительная выборка в iOS
• Расширенные протоколы в Swift
• SwiftUI для разработчиков UIKit
Android
• Android и Play на Google I/O 2022
• Работа с памятью в Android: GC, ARC, RAM
• Вышло расширение Google Home для Visual Studio Code
• Now in Android: лучшие практики Android-разработки
• Знакомьтесь: библиотека TiRecycler
• Как я перестал бояться и начал делиться секретами с телефоном
• В России начал работать магазин приложений NashStore — российский аналог Google Play
• Каталоги версий Gradle для отличного управления зависимостями
• Новый способ совершать сетевые звонки на Android
• Вопросы для собеседования среднего уровня по Android
• Ищем ofnsrb в UI с помощью CPU профайлера в Android Studio
Кросс
• Flutter Dev Podcast #35: безопасность инфраструктуры для Flutter-разработки
• Kotlin 1.5.30 и KMM/KMP
• Пинболл с I/O на базе Flutter и Firebase
• 7 удивительных инструментов разработки приложений на Flutter,
AppTractor
$42 млн в Серии B: Komodor — платформа устранения сбоев в Kubernetes
Два года назад Бен Офири и Итиэль Шварц уволились со своей корпоративной работы, чтобы основать Komodor и построить платформу устранения неполадок в Kubernetes, которая могла бы помочь каждой организации находить и устранять проблемы в контейнерах.
🔥8😁1🤔1
Apple разрешает автоматически увеличивать цены на подписку
В этом году Apple уже тестировала новую функцию, позволяющую разработчикам автоматически повышать цены на возобновляемые подписки. Эта «пилотная программа» была ограничена отдельными разработчиками, а Apple теперь внедряет эти изменения для всех.
В настоящее время, когда разработчик увеличивает цену автоматически возобновляемой подписки, пользователи должны подтвердить, что они продолжат подписку по новой цене, в противном случае подписка автоматически отменяется. Теперь, с обновлением, повышенные цены могут взиматься даже без действий пользователя.
Есть некоторые ограничения. Главное, повышение цен не может происходить чаще, чем раз в год. При этом максимальное увеличение - на 5 долларов для обычных подписок или 50 долларов для годовых. В таких случаях Apple будет сообщать пользователям об изменении цен по электронной почте, через push-уведомления и сообщения в приложении.
В этом году Apple уже тестировала новую функцию, позволяющую разработчикам автоматически повышать цены на возобновляемые подписки. Эта «пилотная программа» была ограничена отдельными разработчиками, а Apple теперь внедряет эти изменения для всех.
В настоящее время, когда разработчик увеличивает цену автоматически возобновляемой подписки, пользователи должны подтвердить, что они продолжат подписку по новой цене, в противном случае подписка автоматически отменяется. Теперь, с обновлением, повышенные цены могут взиматься даже без действий пользователя.
Есть некоторые ограничения. Главное, повышение цен не может происходить чаще, чем раз в год. При этом максимальное увеличение - на 5 долларов для обычных подписок или 50 долларов для годовых. В таких случаях Apple будет сообщать пользователям об изменении цен по электронной почте, через push-уведомления и сообщения в приложении.
🤯19😱4🔥3❤1👍1
Как найти новые источники эффективного трафика для приложения, сохраняя бенчмарки по CPA и CAC (стоимость платящего пользователя)?
“Перекрёсток” использовал рекламу в Директе с оптимизацией на покупки в приложении.
В рекламных объявлениях тестировались тематические запросы и разные промокоды на доставку и скидку с определенной суммы заказа.
В итоге на протяжении пяти месяцев кампании фактический CPA не превышал целевого. Даже несмотря на внесение изменений в ходе кампаний, алгоритм переобучался и достигал цели.
Приложение получило качественный трафик — треть установок закончились покупкой. Стратегии с оптимизацией на действие в приложении работают даже на таких масштабных рекламных кампаниях, как продвижение приложения “Перекрестка”, удерживая заданный CPA.
Подробнее о проведенной кампании - в статье.
“Перекрёсток” использовал рекламу в Директе с оптимизацией на покупки в приложении.
В рекламных объявлениях тестировались тематические запросы и разные промокоды на доставку и скидку с определенной суммы заказа.
В итоге на протяжении пяти месяцев кампании фактический CPA не превышал целевого. Даже несмотря на внесение изменений в ходе кампаний, алгоритм переобучался и достигал цели.
Приложение получило качественный трафик — треть установок закончились покупкой. Стратегии с оптимизацией на действие в приложении работают даже на таких масштабных рекламных кампаниях, как продвижение приложения “Перекрестка”, удерживая заданный CPA.
Подробнее о проведенной кампании - в статье.
👍2
Интересное мнение про SwiftUI - говорят, что никак не готов он к проду. Память в Xcode утекает, старые версии iOS не поддерживаются, все еще меняется, навигация не работает и т.п. Наверняка тоже самое можно сказать и про Compose. Однако нельзя не признать, что разработка с декларативным подходом резко ускорилась и упростилась. А использовать его или нет, уже дело проекта и разработчиков. Утечки рано или поздно заштопают, версии ОС пользователи обновят, а навигацию починят.
Разработка
• SwiftUI все еще не готов к продакшену
• Многие софтверные компании — посмешище
• Инструменты разработки и LiveOps: Как стабильно управлять тоннами контента игры
• Кейс UX/UI - Drill IT
• Модульные тесты замедляют меня
iOS
• Apple разрешает автоматически увеличивать цены на подписку
• Регулировка contentOffset с помощью UICollectionViewLayout
• Создание кастомной геометрии со стандартными формами в SceneKit под SwiftUI
• Разница между singleton и Singleton в Swift
• Как внедрить шаблон MVVM в разработку приложений для iOS
Android
• Floating Action Button Speed Dial: плавающая кнопка с действиями
• Как работает UI в Android. Не все так сложно
• Повышение качества кода Kotlin для кодовой базы Faire
• Fastlane: автоматизируйте развертывание и выпуск бета-версий приложений для Android.
Кроссплатформа
• Kotlin Multiplatform Mobile — совместное управление состоянием пользовательского интерфейса
• Как на Flutter-проекте реализовать разделение Google-сервисов и Huawei-сервисов
• Нестандартное оформление кнопок, текстовых полей и других элементов управления Flutter
• Адаптивные макеты во Flutter
• Повышает ли Flutter производительность разработчиков?
• Анонс набора инструментов для казуальных игр Flutter
Разработка
• SwiftUI все еще не готов к продакшену
• Многие софтверные компании — посмешище
• Инструменты разработки и LiveOps: Как стабильно управлять тоннами контента игры
• Кейс UX/UI - Drill IT
• Модульные тесты замедляют меня
iOS
• Apple разрешает автоматически увеличивать цены на подписку
• Регулировка contentOffset с помощью UICollectionViewLayout
• Создание кастомной геометрии со стандартными формами в SceneKit под SwiftUI
• Разница между singleton и Singleton в Swift
• Как внедрить шаблон MVVM в разработку приложений для iOS
Android
• Floating Action Button Speed Dial: плавающая кнопка с действиями
• Как работает UI в Android. Не все так сложно
• Повышение качества кода Kotlin для кодовой базы Faire
• Fastlane: автоматизируйте развертывание и выпуск бета-версий приложений для Android.
Кроссплатформа
• Kotlin Multiplatform Mobile — совместное управление состоянием пользовательского интерфейса
• Как на Flutter-проекте реализовать разделение Google-сервисов и Huawei-сервисов
• Нестандартное оформление кнопок, текстовых полей и других элементов управления Flutter
• Адаптивные макеты во Flutter
• Повышает ли Flutter производительность разработчиков?
• Анонс набора инструментов для казуальных игр Flutter
AppTractor
SwiftUI все еще не готов к продакшену
Полное обоснование, которое вы можете представить своему техническому директору? Нет. Поверхностная экскурсия с остановками для размышлений о некоторых вещах.
👍7🔥2