Моя роль технического директора-основателя: седьмой год
Мигель Карранса, основатель RevenueCat, каждый год пишет пост, в котором оглядывается на последние двенадцать месяцев. 2024 год был хорошим годом для RevenueCat, возможно, лучшим с 2020 года. Хотя работа была гораздо более трудной, чем представлял себе Карранса, очевидно, что компания преуспела в достижении своих целей. В статье обсуждаются результаты работы компании в прошлом году, уроки, которые она извлекла (о культуре, найме, построении компании и масштабировании в качестве основателя), а также планы на будущее.
А какие итоги года у вас, у вашей компании? Поделитесь в комментариях или в личном сообщении. Лучшие опубликую в канале и на сайте.
Мигель Карранса, основатель RevenueCat, каждый год пишет пост, в котором оглядывается на последние двенадцать месяцев. 2024 год был хорошим годом для RevenueCat, возможно, лучшим с 2020 года. Хотя работа была гораздо более трудной, чем представлял себе Карранса, очевидно, что компания преуспела в достижении своих целей. В статье обсуждаются результаты работы компании в прошлом году, уроки, которые она извлекла (о культуре, найме, построении компании и масштабировании в качестве основателя), а также планы на будущее.
А какие итоги года у вас, у вашей компании? Поделитесь в комментариях или в личном сообщении. Лучшие опубликую в канале и на сайте.
👍5🔥3
Уменьшаем количество вопросов
Первая посленовогодняя подборка за идеальную рабочую неделю - уменьшаем написание boilerplate и удаляем десятки тысяч строк кода, чистим проекты правильно и наблюдаем за закатом Stack Overflow, оцениваем рынок мобильных приложений в России в 2024 году, отслеживаем перформанс-метрики и многое другое. Подключайтесь!
Первая посленовогодняя подборка за идеальную рабочую неделю - уменьшаем написание boilerplate и удаляем десятки тысяч строк кода, чистим проекты правильно и наблюдаем за закатом Stack Overflow, оцениваем рынок мобильных приложений в России в 2024 году, отслеживаем перформанс-метрики и многое другое. Подключайтесь!
👍7❤3
По данным AppMagic, Топ-10 приложений для здорового питания за 2024 год в мире заработали около 382 миллионов долларов при 71 миллионах установок. А как дела с этой категорией обстоят в России?
Топ-10 приложений по загрузкам в России:
1. Счетчик Калорий от fatsecret
2. Худеем за 30 дней
3. Интервальное Голодание
4. OKOK·International
5. YAZIO Calorie Counter & Diet
6. BMI Calculator
7. Убрать жир с живота за 30 дней
8. Похудение для женщин дома
9. Таблица калорийности и калории
10. Lifesum: Подсчет каллорий
Лидер получил более 3 миллионов новых установок, приложение на 10 месте почти в 10 раз меньше. Если взять лидера — Счетчик Калорий от fatsecret, то на Google Play у него приходится 1.77 млн установок, а на App Store 1.41 млн. В целом же для Топ-10 приложений примерно 72% установок идет от Android и только 28% от iOS.
Ноябрь 2024 года поставил рекорд по установкам — эти приложения получили 1.23 млн новых пользователей. В мире, однако, загрузки таких приложений постепенно падают.
Топ-10 приложений по расхода:
2. Calorie Counter by fatsecret
3. Lifesum: Подсчет каллорий
4. Счетчик калорий и БЖУ — Arise
5. Худеем за 30 дней
6. Интервальное Голодание
7. If: Интервальное голодание
8. Худеем за 30 дней. Фитнес дома
9. Таблица калорийности и калории
10. Keto Diet app by
Лидер за год заработал $464,2110, приложение на 10 месте — в 35 раз меньше. В целом лидер получает примерно такую же долю всех доходов, как им в дейтинге. Топ-10 приложений заработали за год $1,172,017, то есть он получил 40%.
Доходы приложений для здорового питания, диет и тренировок сильно пострадали после 2022 года, и хоть и выросли в 2024, сейчас их доходы практически не растут.
Можно ли преуспеть в категории? С трудом, и то только в одной стране. Подробнее в обзоре.
И что: установки приложений для питания в стране поставили исторический рекорд — и если вы рассчитываете на набор пользовательской базы, то сейчас, кажется самое время. Однако доходы за установками пока не последовали. И в условиях отключения Google Play вряд ли можно ожидать их роста. Однако в мире доходы этой категории растут и если делать приложение сразу для мирового рынка, то можно отъесть какую-то часть не только роста, но и старой аудитории.
Какая еще категория вам интересна? Напишите в комментариях. И, конечно, поставьте ❤️, если хотите продолжения
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍1
iOS
• Используем диалог подтверждения в SwiftUI
• Приложение React Native с поддержкой Apple Watch и виджетов
• Adopting Swift 6 across the app codebase
• Accessibility That Fits
• Handle plurals in SwiftUI Text views with inflection
• Swift 6: Typed Throws
• Using Copilot to write a raindrop audio synthesizer using AVAudioEngine
• Legacy Code Rescue: Taming a Thousand-Line View Controller
• How to use cryptographic hash functions in CryptoKit for iOS security
• Creating a Network Manager in SwiftUI with Clean Code Principles
• Используем диалог подтверждения в SwiftUI
• Приложение React Native с поддержкой Apple Watch и виджетов
• Adopting Swift 6 across the app codebase
• Accessibility That Fits
• Handle plurals in SwiftUI Text views with inflection
• Swift 6: Typed Throws
• Using Copilot to write a raindrop audio synthesizer using AVAudioEngine
• Legacy Code Rescue: Taming a Thousand-Line View Controller
• How to use cryptographic hash functions in CryptoKit for iOS security
• Creating a Network Manager in SwiftUI with Clean Code Principles
AppTractor
Используем диалог подтверждения в SwiftUI
Структурированные варианты действий в диалоге подтверждения позволяют пользователям легко сделать выбор, не чувствуя себя перегруженными, добавляя ясность в пользовательский путь и сохраняя интерфейс чистым и сфокусированным.
👍2
Android
• Корутины в Kotlin: делаем «Optimised Out» переменные видимыми
• Aspecto — идеальная сетка для Jetpack Compos/Multiplatform
• Kotlin Coroutines под капотом: отмена корутин
• How modifiers order affects Compose UI appearance
• FilterChip Dropdown selector in Jetpack Compose
• Top 3 Most Common Animations You Can Use in Your Jetpack Compose Project
• Android Dynamic Animated SVGs (with Lottie Dynamic Properties)
• Common Android UseCase Pattern Mistakes
• 5 steps to use Paging3 library with Jetpack Compose
• Корутины в Kotlin: делаем «Optimised Out» переменные видимыми
• Aspecto — идеальная сетка для Jetpack Compos/Multiplatform
• Kotlin Coroutines под капотом: отмена корутин
• How modifiers order affects Compose UI appearance
• FilterChip Dropdown selector in Jetpack Compose
• Top 3 Most Common Animations You Can Use in Your Jetpack Compose Project
• Android Dynamic Animated SVGs (with Lottie Dynamic Properties)
• Common Android UseCase Pattern Mistakes
• 5 steps to use Paging3 library with Jetpack Compose
AppTractor
Корутины в Kotlin: делаем «Optimised Out» переменные видимыми
Отладка корутинов Kotlin не обязательно должна вызывать разочарование.
👍5
Новый год - новые хотелки. Хочу сделать ПЛАТНЫЙ чат для инди - так и назову несчастью. В целом вход рубль, выход два. Кто не обсуждает - вылетает. Может уже такое есть? Будете участвовать?
Разработка
• Разработка цифровых открыток в масштабах Airbnb
• How to Choose the Right Database in a System Design Interview
• How to build an AI side project using AI in 2025
Маркетинг и монетизация
• Приложения для здорового питания в России 2024
• Самые скачиваемые и зарабатывающие приложения в мире в декабре 2024
Кроссплатформа
• Mastering Scrollable in Flutter
• How to Release Your Flutter App on the Google Play Store
XYIndie. Про приложения как бизнес - обсуждение проектов, идей, маркетинга, монетизации, может быть юридических тонкостей, поиск партнеров и вообще коллег по Разработка
• Разработка цифровых открыток в масштабах Airbnb
• How to Choose the Right Database in a System Design Interview
• How to build an AI side project using AI in 2025
Маркетинг и монетизация
• Приложения для здорового питания в России 2024
• Самые скачиваемые и зарабатывающие приложения в мире в декабре 2024
Кроссплатформа
• Mastering Scrollable in Flutter
• How to Release Your Flutter App on the Google Play Store
Хабр
Разработка цифровых открыток в масштабах Airbnb
Это — статья о том, как команда Media Ingestion компании Airbnb создала цифровые открытки для групповых путешествий. Открытки было решено задействовать в летнем выпуске...
😐7
Будете участвовать в платном чате про мобильный инди-проекты?
Anonymous Poll
6%
Да
18%
Подумаю
63%
Нет
13%
Посмотреть
Результат неправильного и преждевременного релиза приложения - увольнение генерального директор. Я публиковал статью о катастрофе, которая постигла Sonos с их новым приложением, и тогда окончание истории было неизвестным. Сегодня пришел промежуточный результат - CEO уволился (ну или его уволили). Он пришел в Sonos в 2012 году в качестве коммерческого директора. На посту генерального директора он курировал выпуск многих успешных аппаратных продуктов, но одна оплошность с приложением — и вот он уходит. Что интересно, директор по продуктам Максим Буват-Мерлин, который, наверное, в большей степени несет вину за выпуск кривого приложения, остался на своем посту.
Разработка
• Генеральный директор Sonos Патрик Спенс покидает свой пост после неудачного запуска приложения
• 30 Lessons from 30 Top Product Leaders
Маркетинг и монетизация
• Как Gamelight трансформирует привлечение пользователей с помощью AI инноваций
• The price of your product is wrong
Кроссплатформа
• CodeStyle на Flutter-проектах: базовые принципы и правила — шаблон на все случаи жизни
• Mastering Flutter Testing: Integration Tests
• Logging In Compose Multiplatform
iOS
• Множественное число в текстовых представлениях SwiftUI с помощью склонения
• Using Approval Tests to Bring Legacy Code Under Test
• Exploring Tab View Styles in SwiftUI
• SwiftUI Lists: Present rows of data explained with code examples
• Bringing App Intents to Your SwiftUI App
Android
• Распространенные ошибки в шаблоне UseCase для Android
• ViTune — музыкальный плеер для Android
• Примеры использования File Templates для типовых сценариев, где требуется шаблонный код
• How We Reduced the WINK+ Android App to Less Than 10MB
• Reverse-Engineering the Compose Compiler Plugin: Intercepting the Frontend
• DiffUtils, Myers’ Algorithm and Jetpack Compose
• Getting Started with CameraX in Jetpack Compose
Разработка
• Генеральный директор Sonos Патрик Спенс покидает свой пост после неудачного запуска приложения
• 30 Lessons from 30 Top Product Leaders
Маркетинг и монетизация
• Как Gamelight трансформирует привлечение пользователей с помощью AI инноваций
• The price of your product is wrong
Кроссплатформа
• CodeStyle на Flutter-проектах: базовые принципы и правила — шаблон на все случаи жизни
• Mastering Flutter Testing: Integration Tests
• Logging In Compose Multiplatform
iOS
• Множественное число в текстовых представлениях SwiftUI с помощью склонения
• Using Approval Tests to Bring Legacy Code Under Test
• Exploring Tab View Styles in SwiftUI
• SwiftUI Lists: Present rows of data explained with code examples
• Bringing App Intents to Your SwiftUI App
Android
• Распространенные ошибки в шаблоне UseCase для Android
• ViTune — музыкальный плеер для Android
• Примеры использования File Templates для типовых сценариев, где требуется шаблонный код
• How We Reduced the WINK+ Android App to Less Than 10MB
• Reverse-Engineering the Compose Compiler Plugin: Intercepting the Frontend
• DiffUtils, Myers’ Algorithm and Jetpack Compose
• Getting Started with CameraX in Jetpack Compose
AppTractor
Как технический долг испортил приложение Sonos
Терпение на исходе - у этой поучительной истории еще нет конца.
👍5
Google объявил, что программа мобильных приложений для автомобилей будет запущена в следующем месяце. Компания рассказала об этой программе на своей конференции для разработчиков I/O в прошлом году. Цель программы - расширить количество приложений, доступных для загрузки из Google Play Store в автомобилях, работающих под управлением автомобильной ОС Android. Google, по сути, прочесывает Play Store в поисках мобильных приложений, совместимых с большими экранами, и оценивает их на предмет безопасности для использования в автомобилях.
Существует множество приложений для Android, которые считаются совместимыми с большими экранами - то есть оптимизированными для Chromebooks и планшетов, - но не все из них могут быть включены в программу мобильных приложений, готовых к использованию в автомобилях.
Для начала, приложения, поддерживающие только ARM-устройства, не попадут в программу, поскольку во многих автомобилях используются чипы x86. Более того, Google утверждает, что на начальном этапе программы рассматриваются только те приложения, которые относятся к категориям видео, игр и браузеров. Для участия в программе эти приложения должны соответствовать всем требованиям Google по качеству для этих категорий.
Приложения, которые не соответствуют всем гайдлайнам, все равно могут быть допущены к участию в программе при запуске в новом режиме совместимости Android Automotive. Режим совместимости - это новая программная функция, доступная на некоторых автомобилях, которая обеспечивает возможность возврата назад для приложений, не имеющих видимой кнопки «назад», отображает приложения в обозначенной безопасной области, масштабирует приложения, чтобы они были более заметны на расстоянии, и блокирует действия приложений, когда автомобиль переходит в режим движения.
Программа будет запущена в следующем месяце. Приложения, отвечающие требованиям программы, можно будет загрузить с 2025 года из Google Play Store в автомобили, работающие под управлением Android Automotive.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1🤡1
Новое исследование показало, что примерно 20% всех вакансий в интернете - фейковые, вакансии-призраки. Почему так происходит отдельный разговор, однако могу напомнить про еще одну мою публикацию, в которой говорится что делать:
• Делайте умный, а не большой нетворкинг. Стратегический нетворкинг, это создание нужных связей в компаниях, в которых вы хотели бы работать. Общаясь с действующими сотрудниками, вы не только узнаете о реальных вакансиях, на которые они нанимают, но и сможете воспользоваться рекомендацией сотрудника из вашей сети для получения вакансии, которая еще не объявлена.
• Станьте рассказчиком. Научитесь рассказывать о своей карьерной траектории — где вы были и где хотите быть — это еще один навык, необходимый соискателям. Рекрутеры и менеджеры по подбору персонала оценивают кандидатов по тому, насколько легко они могут кратко рассказать о своем опыте.
• Погрузитесь в непрерывное обучение. Приверженность к изучению новых навыков, даже если для этого приходится выкраивать время из текущей работы и других обязанностей, является ключевым фактором на быстро меняющемся и конкурентном рынке труда, таком как разработка программного обеспечения. Найдите социальные обучающие сообщества и сообщества практиков, где вы сможете изучать новые навыки и концепции и становиться лучше в своем деле.
• Оставайтесь открытыми. Никогда не знаешь, где можешь найти свою следующую работу. Если вы всегда были менеджером по продуктам, вы можете быть удивлены, обнаружив, что можете быть успешным и в команде инженеров. Если до сих пор вы тяготели к корпоративным компаниям, поищите вакансии в стартапах, проектах с открытым исходным кодом или небольших компаниях, нуждающихся в ИТ-поддержке.
Разработка
• 20% вакансий в Интернете на самом деле существует
• 30 уроков от 30 лучших продуктовых лидеров
• Boosting Performance in a Diagramming App with Quadtrees and Binary Search on Path
Маркетинг и монетизация
• Дружим RabbitMQ и Flutter/Dart
• JOY Ads: UGC как система
• Pixelfed — децентрализованная альтернатива Нельзяграм*
• Супераппы банков украдут ваших клиентов. Как сделать так, чтобы пользователи не ушли из ритейл-приложения
Кроссплатформа
• Introducing Mirai — A Server Driven UI framework for Flutter
• MVVM: Officially Recommended by Google for Flutter Development
• 10 Flutter Widgets Probably Haven’t Heard Of (But Should Be Using!)
iOS
• Blueprint — декларативный UI-конструктор
• Swift 6.0 Actors: Goodbye Race Conditions!
• SwiftUI: Zipping Files
• SwiftUI :- Other Views
• Managing Singletons in Memory in Swift
Android
• Android Automotive получит больше приложений
• Стековая и кучная память в Kotlin
• Exploring ViewModel Internals
• From Junior to Senior: Evolving UseCases and ViewModel in Android Clean Architecture
• Integrating Google ML Kit for Barcode Scanning in Jetpack Compose Android Apps
• Делайте умный, а не большой нетворкинг. Стратегический нетворкинг, это создание нужных связей в компаниях, в которых вы хотели бы работать. Общаясь с действующими сотрудниками, вы не только узнаете о реальных вакансиях, на которые они нанимают, но и сможете воспользоваться рекомендацией сотрудника из вашей сети для получения вакансии, которая еще не объявлена.
• Станьте рассказчиком. Научитесь рассказывать о своей карьерной траектории — где вы были и где хотите быть — это еще один навык, необходимый соискателям. Рекрутеры и менеджеры по подбору персонала оценивают кандидатов по тому, насколько легко они могут кратко рассказать о своем опыте.
• Погрузитесь в непрерывное обучение. Приверженность к изучению новых навыков, даже если для этого приходится выкраивать время из текущей работы и других обязанностей, является ключевым фактором на быстро меняющемся и конкурентном рынке труда, таком как разработка программного обеспечения. Найдите социальные обучающие сообщества и сообщества практиков, где вы сможете изучать новые навыки и концепции и становиться лучше в своем деле.
• Оставайтесь открытыми. Никогда не знаешь, где можешь найти свою следующую работу. Если вы всегда были менеджером по продуктам, вы можете быть удивлены, обнаружив, что можете быть успешным и в команде инженеров. Если до сих пор вы тяготели к корпоративным компаниям, поищите вакансии в стартапах, проектах с открытым исходным кодом или небольших компаниях, нуждающихся в ИТ-поддержке.
Разработка
• 20% вакансий в Интернете на самом деле существует
• 30 уроков от 30 лучших продуктовых лидеров
• Boosting Performance in a Diagramming App with Quadtrees and Binary Search on Path
Маркетинг и монетизация
• Дружим RabbitMQ и Flutter/Dart
• JOY Ads: UGC как система
• Pixelfed — децентрализованная альтернатива Нельзяграм*
• Супераппы банков украдут ваших клиентов. Как сделать так, чтобы пользователи не ушли из ритейл-приложения
Кроссплатформа
• Introducing Mirai — A Server Driven UI framework for Flutter
• MVVM: Officially Recommended by Google for Flutter Development
• 10 Flutter Widgets Probably Haven’t Heard Of (But Should Be Using!)
iOS
• Blueprint — декларативный UI-конструктор
• Swift 6.0 Actors: Goodbye Race Conditions!
• SwiftUI: Zipping Files
• SwiftUI :- Other Views
• Managing Singletons in Memory in Swift
Android
• Android Automotive получит больше приложений
• Стековая и кучная память в Kotlin
• Exploring ViewModel Internals
• From Junior to Senior: Evolving UseCases and ViewModel in Android Clean Architecture
• Integrating Google ML Kit for Barcode Scanning in Jetpack Compose Android Apps
AppTractor
20% вакансий в Интернете на самом деле существует
Феномен «вакансий-призраков» растет уже некоторое время - к большому огорчению соискателей.
👍7🤡1
Ищете сейчас работу?
Anonymous Poll
11%
Да, давно и активно ищу
7%
Да, недавно ищу
26%
Неактивно просматриваю вакансии
37%
Нет, не ищу
8%
Работа ищет меня
11%
Посмотреть
❤2✍1👍1
Создатель Gas и tbh сделал приложение для исчезающих фотографий в iMessage
Широко известный в узких кругах Никита Бир (tbh и Gas) создал новое приложение Explode, которое специализируется на исчезающих сообщениях в iMessage.
Explode работает как мини-приложение для мессенджера от Apple. Оно помогает отправлять исчезающие сообщения другим людям. Пользователи видят текст или изображение один раз, а затем оно… исчезает. Приложение также блокирует возможность делать скриншоты. При этом Explode должно быть только у отправителя. Explode+ со всеми функциями стоит 39.99 доллара в год или 7.99 доллара в месяц
Самое занятное, что это, судя по всему, в большей степени троллинг Snapchat. Оказывается, после того, как Бир провел переговоры со Snap о приобретении Gas, социальная сеть выкинула Gas из платформы для разработчиков SnapKit.
По его словам, функция шаринга опроса Gas в Snapchat была основной кнопкой в приложении, и действия Snap привели к поломке приложения на семь дней. Потом, правда, Gas все равно был удачно продан Discord, который и закрыл его через год.
Широко известный в узких кругах Никита Бир (tbh и Gas) создал новое приложение Explode, которое специализируется на исчезающих сообщениях в iMessage.
Explode работает как мини-приложение для мессенджера от Apple. Оно помогает отправлять исчезающие сообщения другим людям. Пользователи видят текст или изображение один раз, а затем оно… исчезает. Приложение также блокирует возможность делать скриншоты. При этом Explode должно быть только у отправителя. Explode+ со всеми функциями стоит 39.99 доллара в год или 7.99 доллара в месяц
Самое занятное, что это, судя по всему, в большей степени троллинг Snapchat. Оказывается, после того, как Бир провел переговоры со Snap о приобретении Gas, социальная сеть выкинула Gas из платформы для разработчиков SnapKit.
Два года назад я встретился с генеральным директором Snapchat, чтобы обсудить приобретение моей предыдущей компании. Я открыто рассказал о том, как быстро мы растем. Всего через неделю - в праздник Дня благодарения - Snapchat выкинул наше приложение с платформы SnapKit, резко остановив наш рост, - сказал он.
По его словам, функция шаринга опроса Gas в Snapchat была основной кнопкой в приложении, и действия Snap привели к поломке приложения на семь дней. Потом, правда, Gas все равно был удачно продан Discord, который и закрыл его через год.
👍7
iOS
• Малоизвестные представления SwiftUI
• I've been doing this since 2009 and Apple has officially exhausted me
• Design an Analytics Manager in iOS
• How to organize TabView in SwiftUI using Composable Architecture
• Apple Engineer Shows How To Build a SwiftUI Step Counter
Android
• MMKV — эффективное key-valu хранилище от Tencent
• В чем отличие между job и supervisor job — вопросы с собеседований
• Экспорт и импорт File Templates в IDE от Intellij
• Управление настройками с помощью Jetpack DataStore: Простой подход к сохранению данных разных типов
• Handling One-Time Events in Jetpack Compose: Channels vs. SharedFlow
• Tap to focus: Mastering CameraX Transformations in Jetpack Compose
• Function, KFunction, KCallable, and all those other function types in Kotlin
Кроссплатформа
• Flutter Live Activity: From Development to Testing
Разработка
• Как мы сократили time to market на 17%, не выжигая команду и не теряя в качестве
• Test-Driven Development with an LLM for Fun and Profit
• The documentation problem in development
Маркетинг и монетизация
• Маркетологи в мобайле: Иван Останков (Островок)
• В преддверии бана TikTok, количество изучающих китайский в Duolingo выросло на 216%
• Создатель Gas и tbh сделал приложение для исчезающих фотографий в iMessage
• Малоизвестные представления SwiftUI
• I've been doing this since 2009 and Apple has officially exhausted me
• Design an Analytics Manager in iOS
• How to organize TabView in SwiftUI using Composable Architecture
• Apple Engineer Shows How To Build a SwiftUI Step Counter
Android
• MMKV — эффективное key-valu хранилище от Tencent
• В чем отличие между job и supervisor job — вопросы с собеседований
• Экспорт и импорт File Templates в IDE от Intellij
• Управление настройками с помощью Jetpack DataStore: Простой подход к сохранению данных разных типов
• Handling One-Time Events in Jetpack Compose: Channels vs. SharedFlow
• Tap to focus: Mastering CameraX Transformations in Jetpack Compose
• Function, KFunction, KCallable, and all those other function types in Kotlin
Кроссплатформа
• Flutter Live Activity: From Development to Testing
Разработка
• Как мы сократили time to market на 17%, не выжигая команду и не теряя в качестве
• Test-Driven Development with an LLM for Fun and Profit
• The documentation problem in development
Маркетинг и монетизация
• Маркетологи в мобайле: Иван Останков (Островок)
• В преддверии бана TikTok, количество изучающих китайский в Duolingo выросло на 216%
• Создатель Gas и tbh сделал приложение для исчезающих фотографий в iMessage
AppTractor
Малоизвестные представления SwiftUI
Когда вы начали изучать swiftUI, вы могли столкнуться с большим количеством представлений, таких как: VStack, HStack, ZStack, ScrollView, Grid Также, возможно, GeometryReader, Lazy(V,H,Z) Stack. Здесь я пытаюсь показать некоторые представления, которые в…
👍5
Forwarded from AppFiles - Mobile Development
Видео и подкасты за неделю на @AppFiles
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
(iOS Ru) SwiftUI: алхимия приложений — превращаем идеив реальность•
(iOS Ru) Тактики ускорения билда: матиз, кобальт, камри 3.5•
(iOS Ru) SwiftUI: Custom TabBar + animation•
(iOS En) Apple Engineer Shows How To Build a SwiftUI Step Counter•
(iOS En) Complete Document Scanner App•
(iOS En) Working with C and C++ in Apple environment•
(And Ru) Переезжаем с фрагментов на (De)compose•
(And Ru) Как устроена разработка в Яндекс.Клавиатуре•
(And Ru) Android + AI. Решаем задачи с умом•
(And En) 5 Things You MUST Do Before Deploying Your App to Google Play (or you'll regret it)•
(And En) The Beginner to Industry-Ready Roadmap For Android & KMP Development In 2025•
(And En) We fixed an inconsistency in Kotlin (non-local break & continue)•
(And En) What are all of those Kotlin function types for?•
(Dev Ru) Основы DevEx: ищем, куда исчезает время программистов•
(Dev Ru) Заменяем облака домашним сервером — Selfhosting, homelabБазовые принципы и правила костылей
Все статьи и новости за неделю - обсуждаем костыли поддержки iOS 15 на SwiftUI и корутины Kotlin, приложения на Go и шаблон на все случаи жизни, 30 уроков от 30 лучших продуктовых лидеров, мест Snap в виде исчезающих фотографий в iMessage, переделку одного устройства и многое другое. Подключайтесь!
Все статьи и новости за неделю - обсуждаем костыли поддержки iOS 15 на SwiftUI и корутины Kotlin, приложения на Go и шаблон на все случаи жизни, 30 уроков от 30 лучших продуктовых лидеров, мест Snap в виде исчезающих фотографий в iMessage, переделку одного устройства и многое другое. Подключайтесь!
👍2
Shopify поделился своим опытом использования React Native в компании. Основные тезисы:
• Приложения на React Native работают быстро
• Горячая перезагрузка — это потрясающе
• Typescript открывает возможности движения талантов
• Нативные разработчики имеют решающее значение
• Нативный код имеет решающее значение
• Отладка хуже
• Обновления React Native не являются бесшовными
• Большая зависимость от библиотек сторонних разработчиков
• Общие основы открывают массу преимуществ
Главный вывод - за последние 5 лет React Native прошел долгий путь развития, и многие ограничения, из-за которых люди не принимали его, просто больше не существуют. Если вы давно не пробовали использовать RN, сейчас самое время вернуться к нему.
Please open Telegram to view this post
VIEW IN TELEGRAM
🌚20❤9🤡7👍1
iOS
• SwiftUI: алхимия приложений — превращаем идеи в реальность
• Тактики ускорения билда: матиз, кобальт, камри 3.5
• SwiftUI: Custom TabBar + animation
• Приложения без статуса трейдера будут удаляться из App Store в ЕС
• sRouting — навигационный фреймворк для SwiftUI
• Архитектура для SwiftUI — VSURF
• Как мы сделали on-device-распознавание номеров телефонов для ИТ-Пикника
• Scalable Continuous Integration for iOS
• Remove unused code in a real-world iOS project
• Effortless SwiftUI Theming
• Bringing App Intents to Your SwiftUI App
• Remove background from image in SwiftUI
• SwiftUI: алхимия приложений — превращаем идеи в реальность
• Тактики ускорения билда: матиз, кобальт, камри 3.5
• SwiftUI: Custom TabBar + animation
• Приложения без статуса трейдера будут удаляться из App Store в ЕС
• sRouting — навигационный фреймворк для SwiftUI
• Архитектура для SwiftUI — VSURF
• Как мы сделали on-device-распознавание номеров телефонов для ИТ-Пикника
• Scalable Continuous Integration for iOS
• Remove unused code in a real-world iOS project
• Effortless SwiftUI Theming
• Bringing App Intents to Your SwiftUI App
• Remove background from image in SwiftUI
AppTractor
SwiftUI: алхимия приложений — превращаем идеи в реальность
Арман Мырзакануров поделится опытом решения уникальных задач.
Android
• Как устроена разработка в Яндекс.Клавиатуре
• Переезжаем с фрагментов на (De)compose
• Android + AI. Решаем задачи с умом
• Как Класс производительности помог Google Maps предоствить первоклассный опыт
• Android Interview Questions — вопросы и темы с Android-собеседований
• Абсолютно потрясающее, но определенно не всеобъемлющее руководство по тестированию пуш-уведомлений
• Don’t let Maven block you!
• Mockk: My Favorite Mocking Library for Android
• Please don't dox me Google: How to verify your Google Play account without exposing ALL of your information
• Как устроена разработка в Яндекс.Клавиатуре
• Переезжаем с фрагментов на (De)compose
• Android + AI. Решаем задачи с умом
• Как Класс производительности помог Google Maps предоствить первоклассный опыт
• Android Interview Questions — вопросы и темы с Android-собеседований
• Абсолютно потрясающее, но определенно не всеобъемлющее руководство по тестированию пуш-уведомлений
• Don’t let Maven block you!
• Mockk: My Favorite Mocking Library for Android
• Please don't dox me Google: How to verify your Google Play account without exposing ALL of your information
AppTractor
Как устроена разработка в Яндекс.Клавиатуре
Обсудили, зачем пользователи меняют стандартные клавиатуры, какие возможности должны быть у всех клавиатур, и какие уникальные фичи бывают в клавиатурах.
❤2
Apple напоминает, что начиная с 17 февраля 2025 года приложения без статуса трейдера будут удаляться из App Store на территории Европейского Союза до тех пор, пока статус трейдера не будет предоставлен и, при необходимости, подтвержден. Трейдером считается тот, кто ведет любую коммерческую деятельность в App Store, в том числе продает подписки и встроенные покупки. Для организаций адрес будет автоматически взят из номера D-U-N-S, и необходимо будет добавить номер телефона и адрес электронной почты. Индивидуальные разработчики должны предоставить адрес или почтовый ящик, номер телефона и адрес электронной почты.
Разработка
• Основы DevEx: ищем, куда исчезает время программистов
• Заменяем облака домашним сервером — Selfhosting, homelab
• Автоматизируем рутинные задачи и сокращаем бюджет на дизайн: Figma Variables в создании макетов мобильных приложений
• Why manual Release Notes and Versions are a chaos and how to fix it
Маркетинг и монетизация
• Раскрываем секреты маркетинга в 5 квартале
Кроссплатформа
• 5 лет React Native в Shopify
• Compose multiplatform is real
• Flutter Animations Made Easy
• A year in review: building a Flutter MMO that reached $14k MMR in Closed Testing
Разработка
• Основы DevEx: ищем, куда исчезает время программистов
• Заменяем облака домашним сервером — Selfhosting, homelab
• Автоматизируем рутинные задачи и сокращаем бюджет на дизайн: Figma Variables в создании макетов мобильных приложений
• Why manual Release Notes and Versions are a chaos and how to fix it
Маркетинг и монетизация
• Раскрываем секреты маркетинга в 5 квартале
Кроссплатформа
• 5 лет React Native в Shopify
• Compose multiplatform is real
• Flutter Animations Made Easy
• A year in review: building a Flutter MMO that reached $14k MMR in Closed Testing
AppTractor
Приложения без статуса трейдера будут удаляться из App Store в ЕС
Если разработчик публикует приложение, доступное в App Store для стран ЕЭЗ, он обязан соблюдать указанные в DSA требования к предоставлению информации и прозрачности.
👍2❤1
Долой нативную разработку! Вчера была статья про React Native, сегодня про Flutter. Без особых технических подробностей, но просто сам факт - финский парень за два года сделал полноценную фитнес-игру и еще на бета-тестировании (!) дошел до $14k MMR. Весь маркетинг - блог в Reddit.
Разработка
• I am (not) a Failure: Lessons Learned From Six (and a half) Failed Startup Attempts
• Your Career is a Startup: Building Sustainable Growth, One Stage at a Time
• Why You Need a 'NOT Doing' List, not a Todo List
Маркетинг и монетизация
• How to build viral products
• Is the app market shrinking?
Кроссплатформа
• Создание на Flutter MMO, достигшей $14k MMR в закрытом тестировании
• Аналитика в мобильном приложении на Flutter. Часть 1. Yandex AppMetrica
• Introducing card_game: A declarative Flutter package that makes building card games easy
iOS
• Sharing — универсальное решение для хранения и совместного использования данных
• Color mixing in SwiftUI
• Observing properties on an @Observable class outside of SwiftUI views
• Reducing Motion of Animations
• Creating a reusable action menu component in SwiftUI
• Debugging An Undebuggable App
Android
• Технический гайд по сторис или как мы повысили конверсию в мобильном приложении в 9 раз
• Погружение в мир Lint'a в Android-проекте (часть 2)
• Using new Camera extensions API
• Widgets with Glance: Displaying Images
• Subcomposition in Jetpack Compose: How to Use Measurement Phase Data in Other Children
• Jetpack Compose and Edge-to-Edge on Android 15
Разработка
• I am (not) a Failure: Lessons Learned From Six (and a half) Failed Startup Attempts
• Your Career is a Startup: Building Sustainable Growth, One Stage at a Time
• Why You Need a 'NOT Doing' List, not a Todo List
Маркетинг и монетизация
• How to build viral products
• Is the app market shrinking?
Кроссплатформа
• Создание на Flutter MMO, достигшей $14k MMR в закрытом тестировании
• Аналитика в мобильном приложении на Flutter. Часть 1. Yandex AppMetrica
• Introducing card_game: A declarative Flutter package that makes building card games easy
iOS
• Sharing — универсальное решение для хранения и совместного использования данных
• Color mixing in SwiftUI
• Observing properties on an @Observable class outside of SwiftUI views
• Reducing Motion of Animations
• Creating a reusable action menu component in SwiftUI
• Debugging An Undebuggable App
Android
• Технический гайд по сторис или как мы повысили конверсию в мобильном приложении в 9 раз
• Погружение в мир Lint'a в Android-проекте (часть 2)
• Using new Camera extensions API
• Widgets with Glance: Displaying Images
• Subcomposition in Jetpack Compose: How to Use Measurement Phase Data in Other Children
• Jetpack Compose and Edge-to-Edge on Android 15
AppTractor
Создание на Flutter MMO, достигшей $14k MMR в закрытом тестировании
Я создаю свои собственные игровые проекты в качестве хобби с 10 лет, но до этого я не выпускал ни одной из своих игр больше, чем для пары десятков человек.
❤6🌚1
Про Emotions-To-Be-Evoked это прямо хорошо. Согласны/не согласны?
💯2❤1