iOS
• Малоизвестные представления SwiftUI
• I've been doing this since 2009 and Apple has officially exhausted me
• sohamb.1390/design-an-analytics-manager-in-ios-0430d58304cf">Design an Analytics Manager in iOS
• provar67/how-to-organize-tabview-in-swiftui-using-composable-architecture-be76826ad2b1">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
Кроссплатформа
• matheusdeveloper.henrique/flutter-live-activity-from-development-to-testing-a4fcca6325d9">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
🇸🇱 Android Automotive получит больше приложений
Google объявил, что программа мобильных приложений для автомобилей будет запущена в следующем месяце. Компания рассказала об этой программе на своей конференции для разработчиков I/O в прошлом году. Цель программы - расширить количество приложений, доступных для загрузки из Google Play Store в автомобилях, работающих под управлением автомобильной ОС Android. Google, по сути, прочесывает Play Store в поисках мобильных приложений, совместимых с большими экранами, и оценивает их на предмет безопасности для использования в автомобилях.
Существует множество приложений для Android, которые считаются совместимыми с большими экранами - то есть оптимизированными для Chromebooks и планшетов, - но не все из них могут быть включены в программу мобильных приложений, готовых к использованию в автомобилях.
Для начала, приложения, поддерживающие только ARM-устройства, не попадут в программу, поскольку во многих автомобилях используются чипы x86. Более того, Google утверждает, что на начальном этапе программы рассматриваются только те приложения, которые относятся к категориям видео, игр и браузеров. Для участия в программе эти приложения должны соответствовать всем требованиям Google по качеству для этих категорий.
Приложения, которые не соответствуют всем гайдлайнам, все равно могут быть допущены к участию в программе при запуске в новом режиме совместимости Android Automotive. Режим совместимости - это новая программная функция, доступная на некоторых автомобилях, которая обеспечивает возможность возврата назад для приложений, не имеющих видимой кнопки «назад», отображает приложения в обозначенной безопасной области, масштабирует приложения, чтобы они были более заметны на расстоянии, и блокирует действия приложений, когда автомобиль переходит в режим движения.
Программа будет запущена в следующем месяце. Приложения, отвечающие требованиям программы, можно будет загрузить с 2025 года из Google Play Store в автомобили, работающие под управлением Android Automotive.
Новый год - новые хотелки. Хочу сделать ПЛАТНЫЙ чат для инди - так и назову 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
Кроссплатформа
• pomis172/mastering-scrollable-in-flutter-4cbc5f42420e">Mastering Scrollable in Flutter
• How to Release Your Flutter App on the Google Play Store
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
• gokhanvaris/creating-a-network-manager-in-swiftui-with-clean-code-principles-d767a0e93a9a">Creating a Network Manager in SwiftUI with Clean Code Principles
Уменьшаем количество вопросов
Первая посленовогодняя подборка за идеальную рабочую неделю - уменьшаем написание boilerplate и удаляем десятки тысяч строк кода, чистим проекты правильно и наблюдаем за закатом Stack Overflow, оцениваем рынок мобильных приложений в России в 2024 году, отслеживаем перформанс-метрики и многое другое. Подключайтесь!
Видео и подкасты за неделю на @AppFiles
• (iOS Ru)
Переезд с UIKIT на SwiftUI — кажется, УЖЕ ПОРА!
• (iOS En)
Complete Habit Tracker App - SwiftUI, SwiftData CRUD
• (iOS En)
Carousel With Ambient Background Effect - SwiftUI
• (iOS En)
How to hide a View when the app goes into the background
• (iOS En)
RawRepresentable and AppStorage
• (iOS En)
Persistence Image Caching - SwiftUI
• (iOS En)
Reduce Memory Consumption when using Large Images
• (And Ru)
Олег Афанасьев про причину создания Rustore и будущее Play Market
• (And En)
What's new in Android Studio Ladybug
• (And En)
Media & Camera experiences
• (And En)
How to Encrypt DataStore On Android
• (And En)
Android XR Introduction - Build Apps With AR & VR Support
• (And En)
How to Record the Screen of ANY Android App
• (And En)
We fixed an inconsistency in Kotlin (non-local break & continue)
• (And En)
Guards and Pattern Guards
• (Crs En)
React Native Full Course for Beginners
• (Crs En)
Full-Stack Game Development - Kotlin & Compose Multiplatform
• (Dev En)
BA x Frontend: Как перестать проектировать в голове
• (Dev En)
IoT Home Automation Project Tutorial
#ios #android #mobile #video
Android
• Чистим Android-проект просто и правильно
• Google открывает доступ к Home API
• mpvKt — медиаплеер для Android
• Куда идёт мобильная разработка: подводим итоги 2024 года
• Sequence Showcase — подсветка элементов на Jetpack Compose
• Debugging Kotlin Coroutines: Making “Optimised Out” Variables Visible
• pegongorasep/error-handling-in-android-with-kotlin-two-approaches-for-clean-architecture-92b0c0dae3f6">Error Handling in Android with Kotlin: Two Approaches for Clean Architecture
• Type-Safe Deep Link Navigation using Jetpack Compose
• Kotlin — Functional (SAM) interfaces VS Function-Type Performance
Чистим Android-проект просто и правильно
При разработке Android-приложений дисковое пространство может быстро загрязняться результатами сборки, кэшами Gradle и конфигурационными файлами IDE.
По умолчанию команда Android Studio «Build → Clean Project» удаляет не все. Могут накапливаться кэши, артефакты из модулей, остатки файлов Gradle и результаты сборки.
В этой статье представлен один скрипт, который комплексно решает все эти проблемы, с фантастическим выводом консоли, показывающим использование пространства до и после. Рассматривается macOS/Linux (с помощью Bash) и Windows (с помощью Batch), а также проясняется, как Lite-чистка скрипта сравнивается с Build → Clean Project с точки зрения освобождаемого дискового пространства и объема проекта.
🤮 Доход от подписки Duolingo вырос на 567% за четыре года
Обещали себе в новом году выучить язык и заняться спортом? ☺️
2024 год стал для Duolingo самым большим годом по доходам, и они выросли сразу на много. Согласно данным AppFigures, в 2024 году пользователи отдали «зеленой птичке» $678 млн. Это на 37% больше, чем в 2023 году, и более чем на 560% больше, чем в 2020 году.
С ключевым словом «изучение языков» в App Store есть более 10 000 приложений. Если суммировать их, то эти приложения получили чуть больше 440 миллионов долларов валового дохода за весь 2024 год.
То есть все конкуренты вместе взятые заработали меньше, чем Duolingo в 2024 году.
Успех Duolingo во многом обусловлен геймификацией обучения, но это еще и одно из самых видимых приложений для изучения языков в App Store, занимающее верхние строчки по большинству ключевых слов, связанных с языком, благодаря тщательно продуманной стратегии ASO, присутствию во всех рейтингах и фичерингах.
Скорее всего эта тенденция сохранится и в 2025 году, но интересно, сможет ли кто-нибудь из конкурентов приблизиться к ней сейчас, когда ИИ открывает столько возможностей для изучения языков, особенно с помощью голоса.
15 лучших статей AppTractor в 2024 году
Весь год я находил для вас самые интересные новости и статьи о разработке мобильных приложений и их маркетинге, технологиях и мобильном рынке. Всего за год у меня на сайте было 760 тысяч посетителей, которые прочитали более 1.5 млн материалов - и это самые популярные статьи сайта за год:
• 2024 App Marketing Trends Report
• Побочные эффекты Jetpack Compose в подробностях
• Fantasy Hike — фитнес-трекер по мотивам «Властелина колец»
• Что такое Copy-On-Write
• Что такое состояние гонки (race condition)
• Осваиваем ViewModel в Android: «можно» и «нельзя»
• Что такое Hashable в Swift
• Как в Duolingo удалили 10,000 строк кода с помощью Reaper
• В чем разница между LinkedList и ArrayList
• Bluetooth LE Spam: спам через BLE
• Как сделать мобильные приложения, которые приносят $3,000 в день
• Культ Obsidian: почему люди одержимы приложением для заметок
• Xcode 16 потребует 16 Гб для работы Predictive Code Completion
• Почему Ollie перешел от SwiftUI к UIKit
• Встраиваемый Swift: начинаем работу
Спасибо, что писали, читали, комментировали и делились! С Новым Годом и Рождеством. Хороших приложений! 🎄🎄🎄
Рынок мобильных приложений в России 2024
Совсем новогоднее исследование ☺️
• По данным Apptica, в этом году (с 1 декабря 2023 по 30 ноября 2024) в России было совершено 11.63 миллиарда установок - это немногим больше (10.87), чем в 2023.
• За год пользователи потратили 846.39 миллиона долларов, что тоже больше прошлогодних 773.13 млн. Россия остается на 20 месте по доходам в мире, между Египтом и Южной Африкой.
• Главные категории по доходам - Развлечения, Action игры и Социальные сети.
• Топ приложений по загрузкам по данным AppMagic - на первом месте Телеграм, который прибавил более 3 миллионов установок:
--- Telegram
--- VPN - fast proxy + secure
--- Wildberries
--- TikTok
--- OZON: товары, одежда, билеты
• Топ приложений по доходам - ВКонтакте уступил Телеграм, который увеличил свою прибыль почти на 8 миллионов:
--- Telegram
--- PUBG MOBILE
--- Royal Match
--- VK: social network, messenger
--- Roblox
И что: поздравляю всех причастных! 🎄
Видео и подкасты за неделю на @AppFiles
• (iOS Ru)
Мок-интервью по мобильному системному дизайну
• (iOS Ru)
Задачи с собеседования: LRU Cache — leetcode
• (iOS En)
Interactive Tab Bar - SwiftUI
• (iOS En)
iPhone Apps 101 - Project Based SwiftUI App Development
• (iOS En)
Multiple Image Viewer - AsyncImage - SwiftUI
• (And Ru)
Куда идёт мобильная разработка: подводим итоги 2024 года
• (And En)
How to Create a FAB Explode Transition Animation in Jetpack Compose
• (And En)
I've Used Jetpack Compose For 4 Years - Here's the Good and the Bad
• (Crs Ru)
PWA vs Native App. Как и зачем в Альфа-Бизнесе создавали свой MobileWeb
• (Dev Ru)
Проектирование и запуск разработки
• (Dev Ru)
Что не так с мобильными сервисами в Android и iOS
• (Dev Ru)
Mobile App Performance: метрики производительности
• (Dev Ru)
Релизный процесс приложений Ozon
• (Dev Ru)
Effect oriented programming — Системы эффектов в языках программирования
• (Dev En)
How Notion Builds Their iOS and Android Apps
• (Mrk En)
I Spent $400 on Ads: How Many App Installs Did I Get?
#ios #android #mobile #video
Итоги года от RuStore
Сегодня команда поделилась результатами работы по трём направлениям: бизнес, продукт и технологии.
• >50 000 приложений и игр от разработчиков из 40 стран мира
• 1/3 каталога — от зарубежных паблишеров
• Х4 спрос на загрузку приложений
• >300 млн скачиваний из каталога
• Раздел Киоск для пополнения баланса в играх и сервисах, например, Steam - Киоск доступен в приложении RuStore и на официальном сайте
• Интеграция с GitFlick и AsoDesk
• Поисковые теги в приложениях
• Доработанные отзывы: ИИ, расширенная фильтрация и кол-во параметров
• Добавили формат Android App Bundle
• Добавили в Billing SDK возможность оплаты на устройствах без RuStore
• Улучшенный поиск в Консоли и Приложении
• Создали SDK Install Referrer для отслеживания рекламной атрибуции
• Crash Free в Android RuStore в 2024 — 99.8%
• Новая архитектура установки приложений на основе стейтов, полностью стабилизирована
• 500+ модулей в Android-проекте - сборка собирается: hot <1 мин, cold <5-6 мин
• Всё покрыто авто-тестами: на Android – 97%, на бэке – 80%
• Весь UI в Android приложении на нашей дизайн-системе Luise на Jetpack Compose
• Передовые архитектурные паттерны: DDD, CQRS и SAGA
У AppsFlyer, кроме нового Performance Index, вышел и отчет о монетизации приложений и игр - The State of App Monetization 2024. Главный факт, собственно, уже известен - iOS занимает лидирующее положение среди приложений, работающих по подписке. Пользователи тратят на них в среднем в 5.4 (!) раза больше, чем на Android. Впрочем, разрыв в ARPU меньше в странах с высоким уровнем доходов и больше в таких регионах, как Латинская Америка или Юго-Восточная Азия. Но, очевидно, в развитых странах еще больше.
Разработка
• Просто делать проекты, чтобы учиться, может быть плохим советом
• engineervishvnath/golden-rules-for-mobile-system-design-interviews-bd7b71e4f454">Golden Rules for Mobile System Design Interviews
• OpenAI on Mobile Development, Previews, & Snapshot Testing
Маркетинг и монетизация
• Маркетологи в мобайле. Итоги года 2024. Часть 2
• Монетизация приложений 2024 — отчет AppsFlyer
• AppsFlyer Perfomance Index 17
Кроссплатформа
• Делаем кастомный трансформер для BLoC
• Klibs.io — Search 1400+ KMP libraries
• Creating Web Demos for Compose Multiplatform Apps
• Flutter’s recommended architecture: why not BLoC?
• Announcing Flutter AI Toolkit
iOS
• The SwiftUI Christmas Tree на GitHub — новогодняя елка на SwiftUI
• SwiftUI: Всё, что вам нужно знать о модификаторе containerRelativeFrame (и немного больше)
• mkemalgokce/introducing-snapshooter-a-swift-framework-for-effortless-snapshot-testing-0264c64e23eb">Introducing SnapShooter: A Swift Framework for Effortless Snapshot Testing
• shobhakartiwari/ios-unit-testing-essential-interview-questions-c88a9e529d05">iOS Unit Testing Interview Questions
• Why Certain View Modifiers in Swift 6 Cannot Use the @State Property
• Exploring TabView Advancements in SwiftUI
Android
• Orbit MVI с сахаром: вкусный фреймворк для однородной архитектуры
• Kotlin companion object explained
• rajputmukesh748/improving-performance-in-jetpack-compose-apps-c5812bba1a7f">Improving Performance in Jetpack Compose Apps
• A quick migration journey from Hilt to Koin Annotations
• AI Vision on Android: CameraX ImageAnalysis + MediaPipe + Compose
• Popular Gradle mistakes (and how to avoid them)
#android #ios #mobile #dev
Новое исследование показало, что примерно 20% всех вакансий в интернете - фейковые, вакансии-призраки. Почему так происходит отдельный разговор, однако могу напомнить про еще одну мою публикацию, в которой говорится что делать:
• Делайте умный, а не большой нетворкинг. Стратегический нетворкинг, это создание нужных связей в компаниях, в которых вы хотели бы работать. Общаясь с действующими сотрудниками, вы не только узнаете о реальных вакансиях, на которые они нанимают, но и сможете воспользоваться рекомендацией сотрудника из вашей сети для получения вакансии, которая еще не объявлена.
• Станьте рассказчиком. Научитесь рассказывать о своей карьерной траектории — где вы были и где хотите быть — это еще один навык, необходимый соискателям. Рекрутеры и менеджеры по подбору персонала оценивают кандидатов по тому, насколько легко они могут кратко рассказать о своем опыте.
• Погрузитесь в непрерывное обучение. Приверженность к изучению новых навыков, даже если для этого приходится выкраивать время из текущей работы и других обязанностей, является ключевым фактором на быстро меняющемся и конкурентном рынке труда, таком как разработка программного обеспечения. Найдите социальные обучающие сообщества и сообщества практиков, где вы сможете изучать новые навыки и концепции и становиться лучше в своем деле.
• Оставайтесь открытыми. Никогда не знаешь, где можешь найти свою следующую работу. Если вы всегда были менеджером по продуктам, вы можете быть удивлены, обнаружив, что можете быть успешным и в команде инженеров. Если до сих пор вы тяготели к корпоративным компаниям, поищите вакансии в стартапах, проектах с открытым исходным кодом или небольших компаниях, нуждающихся в ИТ-поддержке.
Разработка
• 20% вакансий в Интернете на самом деле существует
• 30 уроков от 30 лучших продуктовых лидеров
• Boosting Performance in a Diagramming App with Quadtrees and Binary Search on Path
Маркетинг и монетизация
• Дружим RabbitMQ и Flutter/Dart
• JOY Ads: UGC как система
• Pixelfed — децентрализованная альтернатива Нельзяграм*
• Супераппы банков украдут ваших клиентов. Как сделать так, чтобы пользователи не ушли из ритейл-приложения
Кроссплатформа
• divyanshub024/introducing-mirai-a-server-driven-ui-framework-for-flutter-d020fd0c387d">Introducing Mirai — A Server Driven UI framework for Flutter
• ksufi7350/mvvm-officially-recommended-by-google-for-flutter-development-ba17f899d320">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
• vishwasng/swiftui-other-views-2c5649a45b4a">SwiftUI :- Other Views
• maatheusgois/managing-singletons-in-memory-in-swift-d4420af2f446">Managing Singletons in Memory in Swift
Android
• Android Automotive получит больше приложений
• Стековая и кучная память в Kotlin
• Exploring ViewModel Internals
• morganes56/from-junior-to-senior-evolving-usecases-and-viewmodel-in-android-clean-architecture-e88725161855">From Junior to Senior: Evolving UseCases and ViewModel in Android Clean Architecture
• Integrating Google ML Kit for Barcode Scanning in Jetpack Compose Android Apps
Результат неправильного и преждевременного релиза приложения - увольнение генерального директор. Я публиковал статью о катастрофе, которая постигла 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
• mohaberabi98/logging-in-compose-multiplatform-a5cf750dbce0">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
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
❤️ Приложения для здорового питания в России 2024
По данным 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 приложений по расхода:
1. YAZIO Calorie Counter & Diet
2. Calorie Counter by fatsecret
3. Lifesum: Подсчет каллорий
4. Счетчик калорий и БЖУ — Arise
5. Худеем за 30 дней
6. Интервальное Голодание
7. If: Интервальное голодание
8. Худеем за 30 дней. Фитнес дома
9. Таблица калорийности и калории
10. Keto Diet app by Keto.app
Лидер за год заработал $464,2110, приложение на 10 месте — в 35 раз меньше. В целом лидер получает примерно такую же долю всех доходов, как им в дейтинге. Топ-10 приложений заработали за год $1,172,017, то есть он получил 40%.
Доходы приложений для здорового питания, диет и тренировок сильно пострадали после 2022 года, и хоть и выросли в 2024, сейчас их доходы практически не растут.
Можно ли преуспеть в категории? С трудом, и то только в одной стране. Подробнее в обзоре.
И что: установки приложений для питания в стране поставили исторический рекорд — и если вы рассчитываете на набор пользовательской базы, то сейчас, кажется самое время. Однако доходы за установками пока не последовали. И в условиях отключения Google Play вряд ли можно ожидать их роста. Однако в мире доходы этой категории растут и если делать приложение сразу для мирового рынка, то можно отъесть какую-то часть не только роста, но и старой аудитории.
Какая еще категория вам интересна? Напишите в комментариях. И, конечно, поставьте ❤️, если хотите продолжения
Моя роль технического директора-основателя: седьмой год
Мигель Карранса, основатель RevenueCat, каждый год пишет пост, в котором оглядывается на последние двенадцать месяцев. 2024 год был хорошим годом для RevenueCat, возможно, лучшим с 2020 года. Хотя работа была гораздо более трудной, чем представлял себе Карранса, очевидно, что компания преуспела в достижении своих целей. В статье обсуждаются результаты работы компании в прошлом году, уроки, которые она извлекла (о культуре, найме, построении компании и масштабировании в качестве основателя), а также планы на будущее.
А какие итоги года у вас, у вашей компании? Поделитесь в комментариях или в личном сообщении. Лучшие опубликую в канале и на сайте.
Интересно наблюдать за падением гигантов (хорошо, правда, что не изнутри). Докладывают, что за два года, с ноября 2022 года, когда был запущен ChatGPT, количество вопросов на Stack Overflow упало в 3.25x. Да, можно сказать, что это также результаты политик, кривой модерации, но факт умирания уже налицо.
Это как Советский Союз, который закончился в 1986 году, только он был настолько большим, что гиганту потребовалось пять лет, чтобы рухнуть. SO, похоже, умер в 2019 году и закроется в 2026-м (в лучшем случае).
iOS
• iOS 18.3 намекает на новое приложение Invites от Apple
• Swift Student Challenge стартует 3 февраля
• Что такое Lazy Variables в Swift
• Giffy — клиент Giphy на чистой архитектуре
• Задачи с собеседования: LRU Cache — leetcode
• How a new Xcode 16 feature helped my work project eliminate 66,000 lines of code
• Understanding opaque types and protocols with associatedtype in Swift
• Introduction to JWTs in Swift
• SwiftData CRUD Operations with ModelActor
• Keyboard-driven actions in SwiftUI with onKeyPress
• Testing Background Uploads in iOS
🐥 Swift Student Challenge стартует 3 февраля
В этом году Apple снова организует ежегодный конкурс Swift Student Challenge. Он стартует 3 февраля и запись на него продлится три недели.
Apple проводит Swift Student Challenge ежегодно, чтобы мотивировать и оценить креативность и мастерство студентов. Конкурс дал тысячам учащихся разработчиков возможность продемонстрировать свои творческие способности и возможности программирования, а также получить реальные навыки, которые они смогут применить в своей карьере и за её пределами.
erid: 2W5zFGRJWFz
В Новый Год вместе с AsoGen 🩵
Продвинь своё приложение по лучшей цене!
В период с 1 по 6 января включительно, тебя ждут выгодные предложения на:
🩵Установки по ключевым словам;
🩵Прямые установки;
🩵Отзывы и рейтинги;
🩵И многое другое.
Жми, чтобы воспользоваться акцией! ⬇️
HAPPY-HAPPY
Реклама ООО "ИВТ" 7707475940 ИНН
Облако — это конструктор!
The Art of Programming — подкаст об инструментах, технике и разработке ПО. По следам конференции HighLoad 2024 записали новый выпуск, в котором обсуждаем индустрию публичных облаков.
Вместе с Данилой Дюгуровым, CTO MTC Web Services, говорим о новостях индустрии, создании новых облачных платформ, потенциале рынка и принципах формирования топовых команд разработки.
🎧Слушайте The Art of Programming на всех популярных подкаст-площадках.
Онлайн-курс по Android-разработке от НИУ ВШЭ
Центр непрерывного образования ФКН НИУ ВШЭ открывает набор на новый онлайн-курс «Android-разработчик на Kotlin» для начинающих.
Программа подойдет:
〰️〰️〰️〰️
- Новичкам в IT: познакомитесь с ООП и функциональным программированием, освоите языки Java и Kotlin
- Специалистам с небольшим опытом в этой сфере или из других направлений IT: узнаете, как устроен жизненный цикл мобильного приложения и освоите популярные библиотеки
За 5 месяцев вы:
〰️〰️〰️〰️
- Освоите официальные языки программирования для платформы Android
- Познакомитесь с полным циклом разработки мобильного приложения
- Освоите популярные библиотеки для мобильной разработки
- Погрузитесь в сложные аспекты работы с потоками: использование синхронизаторов, атомарных переменных и Concurrent Collections для потокобезопасного доступа к данным
- Сделаете итоговый проект
Старт онлайн-курса — 24 февраля.
При подаче заявки до 31 декабря действует скидка 10%.
Погрузиться в Android-разработку можно на бесплатном онлайн-интенсиве «Мобильная разработка на Android: от основ до готового продукта».
Подробнее о программе
Реклама: Федеральное государственное автономное образовательное учреждение высшего образования «Национальный исследовательский университет «Высшая школа экономики».
Erid: 2SDnjevF7Vu
С мест докладывают:
В конце концов, технический долг — это такая же форма долга, как и любая другая: он управляем, а иногда даже необходим. Это часть естественного баланса в реальном развитии. И если кто-то утверждает, что достиг мифического состояния «нулевого технического долга», я бы сказал, что он либо не понимает сути, либо работает над чем-то настолько несущественным, что это не имеет значения. Так что давайте перестанем притворяться, что технический долг — это то, чего стоит бояться. Давайте примем его, будем управлять им и использовать его так, как он есть: как инструмент, позволяющий нам двигаться быстро, делать итерации и создавать вещи, которые имеют значение. Потому что, честно говоря, смотреть на кодовую базу без техдолга так же скучно, как на высыхание краски.Прочитайте и используйте по назначению.
У команды Threads вышла объемная статья о том, как они наблюдают за и работают с производительностью iOS-приложения. Можете почерпнуть несколько интересных метрик, несколько приемов, но в целом - хороший рассказ о внутренностях разработки в такой корпорации, как M. Особенно порадовал эпизод про эксперимент со специальным замедлением работы приложения, чтобы найти границы влияния. Так что если I или F в следующий раз у вас будут необычно медленны - знайте, что это все эксперименты разработчиков.
Разработка
• Why Zero Tech Debt is a Myth (and Maybe a Red Flag)
Маркетинг и монетизация
• Маркетологи в мобайле. Итоги года 2024. Часть 3
• Влияние стратегии «mobile-first»: пришло время инвестировать в мобильное приложение
• Опубликован AppsFlyer Performance Index 17 — Рейтинг лучших медиа-источников в мобильной рекламе
Кроссплатформа
• Celebrating Flutter’s “Production Era"
• debasmitasarkar.93/my-6-favourite-updates-in-flutter-3-27-892d8f0c943e">My 6 Favourite Updates in Flutter 3.27
iOS
• Как мы работаем с производительностью Threads для iOS
• Reading and displaying Genmoji in non-rich text formatted data context
• Unleashing the Power of Core ML in iOS Development
• herlandro/how-to-make-a-swift-function-10-625-000-times-faster-218808a7c4c2">How to make a Swift function 10,625,000 times faster
Android
• App Sizer — анализ размера Android-приложения
• 8× faster 5× memory savings
• Jetpack compose — One Line trick for your ‘LazyColumn’
• How I Made a Game Engine Using MVI in Kotlin
• How Coroutines withContext Actually Work
📱 Открытый урок: Навигация на SwiftUI без UIKit
Хотите создавать приложения с нативной навигацией и современными подходами? Узнайте, как это сделать на бесплатном вебинаре! 🚀
Что вас ждёт на уроке:
- Разберём навигацию в проектах на SwiftUI.
- Научимся писать приложение с нативной навигацией на SwiftUI с поддержкой iOS 14, используя OpenSource-решения и авторские разработки.
- Изучим интеграцию диплинков в проект в декларативном стиле.
👨💻 Кому будет полезно:
Разработчикам с базовым или продвинутым опытом работы со SwiftUI.
Тем, кто хочет создавать нативные приложения с современными подходами.
Тем, кто работает с iOS 14+ и ищет универсальные решения для проектов.
⭐️ Спикер: Сергей Балалаев — опытный разработчик iOS-приложений и эксперт по SwiftUI.
⏰ Когда: 26 декабря в 20:00 (мск).
🎓 После вебинара вы сможете:
- Реализовывать навигацию на чистом SwiftUI.
- Интегрировать поддержку для iOS ниже 16 с помощью современных решений.
- Создавать профессиональные приложения с нативной навигацией, соответствующей современным стандартам.
👉 Участвуйте бесплатно, зарегистрируйтесь по ссылке: https://otus.pw/6nBn/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Просто делать проекты, чтобы учиться, может быть плохим советом
Немного опосредованно ко вчерашнему посту о "въезжании в технологию". На Reddit обсуждение - стоит ли обучаться разработке просто создавая проекты:
Многие люди всегда повторяют совет «просто начни создавать что-то для решения небольшой проблемы, и ты научишься этому», когда новичок спрашивает, с чего начать. Я считаю это плохим советом. Потому что я делал это с одним из моих приложений для iOS, которое я создавал, и я реализовал многие вещи, просто погуглив мои задачи или то, что я хотел сделать. Однако причина, по которой я говорю, что это плохой совет, заключается в том, что многое из того, что вы можете найти, может сделать вещи более сложными, чем они должны быть, или устаревшими, или в этих советах могут не знать, что в SwiftUI уже существует новая функция для решения этой проблемы. В итоге вы создадите приложение, в котором будете много раз изобретать колесо или будете реализовывать фичи некачественно, потому что у вас не будет соответствующих знаний для создания приложений на SwiftUI.
Совет создать проект, чтобы учиться, не является плохим советом, если вы уже прошли какой-нибудь подходящий курс, потому что, по крайней мере, вы будете лучше подготовлены, чтобы создавать вещи с меньшими трудностями.
Я хочу сказать, что я настоятельно рекомендую сначала научиться на каком-нибудь курсе, прежде чем тратить время на создание проекта с нулевыми знаниями и тратить время на гугление 1000 различных вещей, которые создадут вам франкенштейновское приложение. Особенно потому, что плохие привычки могут стать вашими привычками по умолчанию, и могут заставить вас выглядеть плохо на собеседованиях
У людей есть сильная тенденция начинать с курсов и оставаться там, чувствуя себя продуктивными, но на самом деле не производя ничего. Это известно как tutorial hell.
Изобретать колесо - один из лучших способов обучения. Так вы учитесь справляться с более сложными задачами. Да, довольно часто есть встроенный подход, который прост и правилен, но почти так же часто Apple не предоставляет вам удобного API, и вам остаётся решать проблему самостоятельно.
Кроме того, количество информации, которую вы можете усвоить из курса/книги, резко возрастает, если вы ранее уже пытались решить какие-то изучаемые проблемы.